Every release, what actually changed
AtlasForgeX ships fixes as they are measured, not on a marketing calendar. Each entry below is the release note that ships with the build itself, in English and Finnish, unedited.
1.0.1127
2026-09-11latest1.0.1127 - 2026-09-11 - "Liidipankin rikastusnappi, vienti vie sen mita naytolla on, haku naapurimaasta"
đ«đź Suomi
- âïž SĂ€hköpostien varmennus koputtaa nyt jokaisen osoitteen, ja kertoo rehellisesti mitĂ€ palvelin vastasi. Aiemmin varmennus katsoi vain kaksi osoitetta per firma ja loput jĂ€ivĂ€t arvailun varaan. Nyt jokainen osoite saa oman vastauksensa, ja se on mitattuna nopeampaa kuin vanha katto, koska yksi yhteys palvelee koko domainin osoitteet. Mitattu pankissa: 12 liidiĂ€ ja 35 osoitetta 10 sekunnissa, nolla osoitetta ilman vastausta. ExcelissĂ€ on nyt oma sarake sille mitĂ€ palvelin sanoi, ja varmennettu erotetaan catch-all-osoitteesta ja vastaamattomasta. Kuollut osoite ei enÀÀ lĂ€hde viesteihin.
- đ Liidipankkiin tuli Rikasta pankki -nappi. Se kay lapi ne pankin rivit joilta puuttuu sahkoposti, puhelin tai paattaja, ja hakee ne uudestaan. Taydet rivit ohitetaan, joten aika ja kaista menevat vain sinne missa on aukko. Nappi taydentaa VAIN aukkoja: jo loydettya sahkopostia, puhelinta tai yhteyshenkiloa ei koskaan korvata, ja uudet loydot lisataan vanhojen perÀÀn. Nappi kertoo edistymisen ja harmaantuu ajon ajaksi. Jos haku on kaynnissa, rikastus ei ala vaan sanoo sen.
- đ€ Vie ostajat vie nyt sen mita naytolla on. Sama vientinappi palvelee kolmea nakymaa, ja ajon jalkeen se antoi koko liidipankin vaikka halusit tasan sen ajon listan. Nyt taulukkonakymasta lahtee taulukon lista ja liidipankista pankki, kuten ennenkin. Jos ajon lista on tyhja, ohjelma sanoo sen eika vie koko pankkia vahingossa.
- đ Ulkomainen haku ajetaan nyt lahimmasta naapurimaasta. Kun haetulle maalle ei ole omaa yhteysosoitetta, ohjelma kokeili naapurimaita vain osassa tapauksista ja arpoi muuten minka tahansa maan. Mitattuna yhdessa Norjan ajossa haku lahti 344 kertaa arvotusta maasta, muun muassa Yhdysvalloista ja Italiasta. Hakukoneiden tulokset seuraavat sita mista yhteys tulee, joten se heikensi tuloksia suoraan. Nyt naapurimaat kokeillaan aina ensin, ja arvonta on vasta viimeinen keino.
đŹđ§ English
- âïž Email verification now knocks on every address and reports honestly what the server answered. Verification previously checked only two addresses per company and left the rest to guesswork. Every address now gets its own answer, and it is measurably faster than the old cap because one connection serves all addresses on a domain. Measured on the bank: 12 leads and 35 addresses in 10 seconds, zero addresses without an answer. Excel now has its own column for what the server said, and verified is separated from catch-all and from no answer. A dead address no longer goes into outreach.
- đ The lead bank has a new Enrich bank button. It goes through the bank rows that are missing an email, a phone or a decision maker and looks them up again. Complete rows are skipped, so time and bandwidth go only where there is a gap. It fills gaps only: an email, phone or contact you already have is never replaced, and new finds are added after the existing ones. The button shows progress and greys out while it runs. If a search is running, enrichment does not start and says so.
- đ€ Export now takes what is on screen. One export button serves three views, and after a run it gave you the whole lead bank even though you wanted exactly that run's list. The table view now exports the table, and the lead bank exports the bank as before. If the run list is empty, the program says so instead of exporting the whole bank by accident.
- đ Foreign searches now run from the nearest neighbouring country. When the searched country has no connection address of its own, the program tried neighbouring countries only in some cases and otherwise picked any country at random. Measured in one Norwegian run, the search went out from a random country 344 times, including the United States and Italy. Search engine results follow where the connection comes from, so this weakened results directly. Neighbours are now always tried first, and random selection is the last resort.
1.0.1126
2026-09-111.0.1126 - 2026-09-11 - "Liidipankin rikastusnappi, vienti vie sen mita naytolla on, haku naapurimaasta"
đ«đź Suomi
- âïž SĂ€hköpostien varmennus koputtaa nyt jokaisen osoitteen, ja kertoo rehellisesti mitĂ€ palvelin vastasi. Aiemmin varmennus katsoi vain kaksi osoitetta per firma ja loput jĂ€ivĂ€t arvailun varaan. Nyt jokainen osoite saa oman vastauksensa, ja se on mitattuna nopeampaa kuin vanha katto, koska yksi yhteys palvelee koko domainin osoitteet. Mitattu pankissa: 12 liidiĂ€ ja 35 osoitetta 10 sekunnissa, nolla osoitetta ilman vastausta. ExcelissĂ€ on nyt oma sarake sille mitĂ€ palvelin sanoi, ja varmennettu erotetaan catch-all-osoitteesta ja vastaamattomasta. Kuollut osoite ei enÀÀ lĂ€hde viesteihin.
- đ Liidipankkiin tuli Rikasta pankki -nappi. Se kay lapi ne pankin rivit joilta puuttuu sahkoposti, puhelin tai paattaja, ja hakee ne uudestaan. Taydet rivit ohitetaan, joten aika ja kaista menevat vain sinne missa on aukko. Nappi taydentaa VAIN aukkoja: jo loydettya sahkopostia, puhelinta tai yhteyshenkiloa ei koskaan korvata, ja uudet loydot lisataan vanhojen perÀÀn. Nappi kertoo edistymisen ja harmaantuu ajon ajaksi. Jos haku on kaynnissa, rikastus ei ala vaan sanoo sen.
- đ€ Vie ostajat vie nyt sen mita naytolla on. Sama vientinappi palvelee kolmea nakymaa, ja ajon jalkeen se antoi koko liidipankin vaikka halusit tasan sen ajon listan. Nyt taulukkonakymasta lahtee taulukon lista ja liidipankista pankki, kuten ennenkin. Jos ajon lista on tyhja, ohjelma sanoo sen eika vie koko pankkia vahingossa.
- đ Ulkomainen haku ajetaan nyt lahimmasta naapurimaasta. Kun haetulle maalle ei ole omaa yhteysosoitetta, ohjelma kokeili naapurimaita vain osassa tapauksista ja arpoi muuten minka tahansa maan. Mitattuna yhdessa Norjan ajossa haku lahti 344 kertaa arvotusta maasta, muun muassa Yhdysvalloista ja Italiasta. Hakukoneiden tulokset seuraavat sita mista yhteys tulee, joten se heikensi tuloksia suoraan. Nyt naapurimaat kokeillaan aina ensin, ja arvonta on vasta viimeinen keino.
đŹđ§ English
- âïž Email verification now knocks on every address and reports honestly what the server answered. Verification previously checked only two addresses per company and left the rest to guesswork. Every address now gets its own answer, and it is measurably faster than the old cap because one connection serves all addresses on a domain. Measured on the bank: 12 leads and 35 addresses in 10 seconds, zero addresses without an answer. Excel now has its own column for what the server said, and verified is separated from catch-all and from no answer. A dead address no longer goes into outreach.
- đ The lead bank has a new Enrich bank button. It goes through the bank rows that are missing an email, a phone or a decision maker and looks them up again. Complete rows are skipped, so time and bandwidth go only where there is a gap. It fills gaps only: an email, phone or contact you already have is never replaced, and new finds are added after the existing ones. The button shows progress and greys out while it runs. If a search is running, enrichment does not start and says so.
- đ€ Export now takes what is on screen. One export button serves three views, and after a run it gave you the whole lead bank even though you wanted exactly that run's list. The table view now exports the table, and the lead bank exports the bank as before. If the run list is empty, the program says so instead of exporting the whole bank by accident.
- đ Foreign searches now run from the nearest neighbouring country. When the searched country has no connection address of its own, the program tried neighbouring countries only in some cases and otherwise picked any country at random. Measured in one Norwegian run, the search went out from a random country 344 times, including the United States and Italy. Search engine results follow where the connection comes from, so this weakened results directly. Neighbours are now always tried first, and random selection is the last resort.
1.0.1125
2026-09-111.0.1125 - 2026-09-11 - "Liidipankin rikastusnappi, vienti vie sen mita naytolla on, haku naapurimaasta"
đ«đź Suomi
- đ Liidipankkiin tuli Rikasta pankki -nappi. Se kay lapi ne pankin rivit joilta puuttuu sahkoposti, puhelin tai paattaja, ja hakee ne uudestaan. Taydet rivit ohitetaan, joten aika ja kaista menevat vain sinne missa on aukko. Nappi taydentaa VAIN aukkoja: jo loydettya sahkopostia, puhelinta tai yhteyshenkiloa ei koskaan korvata, ja uudet loydot lisataan vanhojen perÀÀn. Nappi kertoo edistymisen ja harmaantuu ajon ajaksi. Jos haku on kaynnissa, rikastus ei ala vaan sanoo sen.
- đ€ Vie ostajat vie nyt sen mita naytolla on. Sama vientinappi palvelee kolmea nakymaa, ja ajon jalkeen se antoi koko liidipankin vaikka halusit tasan sen ajon listan. Nyt taulukkonakymasta lahtee taulukon lista ja liidipankista pankki, kuten ennenkin. Jos ajon lista on tyhja, ohjelma sanoo sen eika vie koko pankkia vahingossa.
- đ Ulkomainen haku ajetaan nyt lahimmasta naapurimaasta. Kun haetulle maalle ei ole omaa yhteysosoitetta, ohjelma kokeili naapurimaita vain osassa tapauksista ja arpoi muuten minka tahansa maan. Mitattuna yhdessa Norjan ajossa haku lahti 344 kertaa arvotusta maasta, muun muassa Yhdysvalloista ja Italiasta. Hakukoneiden tulokset seuraavat sita mista yhteys tulee, joten se heikensi tuloksia suoraan. Nyt naapurimaat kokeillaan aina ensin, ja arvonta on vasta viimeinen keino.
đŹđ§ English
- đ The lead bank has a new Enrich bank button. It goes through the bank rows that are missing an email, a phone or a decision maker and looks them up again. Complete rows are skipped, so time and bandwidth go only where there is a gap. It fills gaps only: an email, phone or contact you already have is never replaced, and new finds are added after the existing ones. The button shows progress and greys out while it runs. If a search is running, enrichment does not start and says so.
- đ€ Export now takes what is on screen. One export button serves three views, and after a run it gave you the whole lead bank even though you wanted exactly that run's list. The table view now exports the table, and the lead bank exports the bank as before. If the run list is empty, the program says so instead of exporting the whole bank by accident.
- đ Foreign searches now run from the nearest neighbouring country. When the searched country has no connection address of its own, the program tried neighbouring countries only in some cases and otherwise picked any country at random. Measured in one Norwegian run, the search went out from a random country 344 times, including the United States and Italy. Search engine results follow where the connection comes from, so this weakened results directly. Neighbours are now always tried first, and random selection is the last resort.
1.0.1123
2026-09-111.0.1123 - 2026-09-11 - "Ulkomaiset puhelinnumerot loytyvat taas"
đ«đź Suomi
- đ Ulkomaiset puhelinnumerot loytyvat ja kelpaavat taas. Yhteystietojen poimija rakennettiin kerran ohjelman kaynnistyessa ja se jai Suomen asetuksiin. Kun haku vaihtoi maata, vaihtui vain tarkistus mutta ei numeroiden tunnistuskaavat. Norjalaisen firman norjalainen numero saattoi siis jaada loytymatta tai tulla hylatyksi vaarana. Mitattuna yhdessa Norjan ajossa hylattiin 30 norjalaista numeroa ja 41 hollantilaista. Nyt maan vaihto rakentaa kaavat uudelleen, ja jokainen haku kayttaa alusta asti oikean maan asetuksia.
- đ Edellinen haku ei enaa jatku taustalla kun vaihdat maata. Kun perut haun ja aloitat uuden, vanha haku meni hetkeksi hiljaiseksi mutta kaynnistyi uudelleen noin puolen minuutin kuluttua ja jatkoi viela puolitoista minuuttia. Se kilpaili uuden haun kanssa samoista yhteyksista. Mitattuna nelja maata perakkain ajettaessa yli puolet neljannen maan tyosta tehtiin ensimmaiselle maalle. Nyt jokainen haku saa oman tunnisteensa ja edellinen pysahtyy heti, myos kesken olevat rikastukset.
đŹđ§ English
- đ Foreign phone numbers are found and accepted again. The contact extractor was built once at startup and stayed on Finnish settings. When a search changed country, only the check changed, not the number recognition patterns. A Norwegian company's Norwegian number could therefore go unfound or be rejected as wrong. Measured in one Norwegian run: 30 Norwegian numbers and 41 Dutch numbers thrown away. Changing country now rebuilds the patterns, and every search uses the right country's settings from the start.
- đ The previous search really stops when you switch country. If you cancelled a search and started a new one, the old search went quiet for about half a minute and then resumed for another minute and a half, competing with the new search for the same connections. Measured across four countries in a row, more than half the fourth country's work was done for the first country. Each search now carries its own identity and the previous one stops immediately, including enrichment already under way.
1.0.1121
2026-09-101.0.1121 - 2026-09-11 - "Haku pysyy siina maassa jonka valitsit"
đ«đź Suomi
- đ Norjan ja Ruotsin haku ei enaa palauta suomalaisia firmoja. Julkisten hankintojen lahde haki voittajat ostajan maan perusteella, joten norjalaisen kunnan kilpailutuksen voittanut suomalainen kuljetusliike paatyi Norjan listalle ja sai sijainnikseen "FI-40320 JYVASKYLA, NO". Nyt ratkaisee voittajan oma maa. Jos maata ei tiedeta, rivi jaa listalle eika sen maata arvata. Samalla poistui rivi jonka nimena oli pelkka maakoodi.
- đŁïž Haku kayttaa maan omaa kielta. Norjan ja Ruotsin hauissa rekisterille meni suomenkielisia hakusanoja, esimerkiksi Norjan logistiikkahaussa kolme neljasta sanasta oli suomea. Nyt jokainen maa saa nimikkeet omalla kielellaan. Suomen haku toimii kuten ennenkin.
- đ Pudotettu firma ei palaa listalle. Jos suodatin pudotti firman kesken ajon, seuraava hakukierros saattoi tuoda saman firman takaisin ja se paatyi taulukkoon asti. Nyt kerran tehty paatos pitaa koko ajon ajan. Rekisterista tullut firma, nimihaku ja oma lista saavat yha ohittaa pehmean pudotuksen, koska niissa firma on jo todistettu oikeaksi.
- đłđŽ Norjan yhteystiedot loytyvat taas. Kaksi norjalaista yritystietolahdetta oli vaihtanut osoiterakenteensa, joten jokainen haku palautti tyhjaa. Osoitteet on paivitetty ja todennettu.
- ⥠Haku on nopeampi, koska se ei enaa yrita kuolleita reitteja. Yhteyshenkilohaku kaytti aikaa hakukoneisiin joiden tiedettiin mitatusti tuottavan nollan, ja jonoutti kyselyja moottoreille jotka olivat juuri sillÀ hetkella pois kaytosta. Sama portti kuin paahaussa on nyt kaytossa myos taalla. Ruotsin yritysrekisterin kuollut palvelinosoite ei enaa hidasta jokaista firmaa erikseen.
đŹđ§ English
- đ Norwegian and Swedish searches no longer return Finnish companies. The public tender source picked winners by the buyer's country, so a Finnish haulier that won a Norwegian municipal contract landed on the Norway list with the location "FI-40320 JYVASKYLA, NO". The winner's own country now decides. When the country is unknown the row stays and its country is not guessed. A row whose name was just a country code is gone too.
- đŁïž Searches use each country's own language. Norwegian and Swedish runs sent Finnish search terms to the registry. In the Norwegian logistics run three of the four terms were Finnish. Every country now gets terms in its own language. Finnish search is unchanged.
- đ A dropped company no longer comes back. When a filter dropped a company mid run, a later search round could bring the same company back and it reached the table. That decision now holds for the whole run. Registry rows, name lookups and your own list may still override a soft drop, because there the company is already proven.
- đłđŽ Norwegian contact details are found again. Two Norwegian company data sources had changed their address structure, so every lookup came back empty. The addresses are updated and verified.
- ⥠Search is faster because it stops trying dead routes. Contact person lookup spent time on search engines measured to return nothing, and queued queries to engines that were switched off at that very moment. The same gate as the main search now applies here. A dead Swedish registry host no longer slows down every company separately.
1.0.1120
2026-09-101.0.1120 - 2026-09-10 - "Asetuksista pois se mita et halua: palvelintiedot ja liikevaihto, uusi Miksi nyt -nappi"
đ«đź Suomi
- đïž Palvelintiedot saa nyt kytkettya pois nakyvista. Kortilla nakyi Kimikon arvio, markkinapaine, markkinakonteksti ja lahdemerkinnat, eika niita saanut pois. Asetuksiin tuli Nakyma-kortti, josta ne kytketaan paalle ja pois. Tieto haetaan yha taustalla ja ohjaa liidien pisteytysta ja jarjestysta, joten pois kytkeminen ei huononna tuloksia, se vain siistii nakymaa.
- đ° Liikevaihto ja talousluvut saa piiloon samasta paikasta. Kytkin piilottaa luvun kaikkialta kerralla: liidikortin talousrivi lahteineen, yrityksen perustietorivi, tiivistelmalohko, virallinen tase, syotteen kortti ja taulukon oma sarake. Aiemmin luku palasi nakyviin syvakaivuun jalkeen, koska kortti rakennettiin uudelleen. Nyt valinta pitaa myos rikastuksen jalkeen.
- ⥠Miksi ottaa yhteyttÀ nyt saa myös kytkettyÀ pois. Sama NÀkymÀ-kortti piilottaa miksi nyt -tiedon kaikkialta kerralla: liidikortin rivit, uuden napin, taulukon oman sarakkeen ja Avoimet liidit -nÀkymÀn sarakkeen.
- ⥠Uusi Miksi nyt -nappi liidikortilla. Syy ottaa yhteytta juuri nyt oli olemassa vain tekstina eri puolilla korttia, ja osa siita jai lisatietojen taakse. Nappi nostaa saman syyn esiin yhdella klikkauksella, lahteineen. Jos paivattya syyta ei ole viimeisen 30 vuorokauden ajalta, nappi sanoo sen suoraan eika keksi mitaan.
- âïž Kevyt vientilista: yritys, pÀÀttĂ€jĂ€ ja sĂ€hköposti, vain nimimuotoiset osoitteet. Vientivalikkoon tuli oma valinta, joka antaa Excelin kolmella sarakkeella. Yksi osoite per rivi, ei muita osoitesarakkeita, joten tiedosto menee suoraan sĂ€hköpostimarkkinointiohjelmaan. Mukaan tulevat vain henkilön nimen muotoiset osoitteet, kuten etunimi@ tai etunimi.sukunimi@. Roolilaatikot kuten info@ ja myynti@ jÀÀvĂ€t pois, samoin rivit joilla ei ole osoitetta. TĂ€ysi vienti kaikkine sarakkeineen ja osoitteineen sĂ€ilyy omana valintanaan ja on edelleen oletus.
đŹđ§ English
- đïž Server data can now be switched off. The card showed the Kimiko assessment, market pressure, market context and source badges with no way to hide them. Settings now has a View card that turns them on and off. The data is still gathered in the background and still drives lead scoring and ranking, so switching it off does not weaken your results, it only tidies the view.
- đ° Revenue and financial figures hide from the same place. One switch hides the figure everywhere at once: the financial row with its source, the company details row, the summary block, the official balance sheet, the feed card and the table column. Previously the figure came back after deep enrichment because the card was rebuilt. The choice now holds after enrichment too.
- ⥠Why contact now can also be switched off. The same View card hides the why now information everywhere at once: the lead card rows, the new button, the table column and the Open leads column.
- ⥠New Why now button on the lead card. The reason to reach out right now existed only as text in several places, some of it behind the extra details fold. The button brings the same reason up in one click, with its source. If there is no dated reason from the last 30 days, the button says so plainly instead of inventing one.
- âïž Light export list: company, decision maker and email, personal addresses only. The export menu has its own option that produces a three column Excel file. One address per row and no other address columns, so the file goes straight into an email marketing tool. Only addresses shaped like a person's name are included, such as firstname@ or firstname.surname@. Role mailboxes like info@ and sales@ are left out, as are rows without an address. The full export with every column and every address stays as its own option and remains the default.
1.0.1119
2026-09-101.0.1119 - 2026-09-10 - "Asetuksista pois se mita et halua: palvelintiedot ja liikevaihto, uusi Miksi nyt -nappi"
đ«đź Suomi
- đïž Palvelintiedot saa nyt kytkettya pois nakyvista. Kortilla nakyi Kimikon arvio, markkinapaine, markkinakonteksti ja lahdemerkinnat, eika niita saanut pois. Asetuksiin tuli Nakyma-kortti, josta ne kytketaan paalle ja pois. Tieto haetaan yha taustalla ja ohjaa liidien pisteytysta ja jarjestysta, joten pois kytkeminen ei huononna tuloksia, se vain siistii nakymaa.
- đ° Liikevaihto ja talousluvut saa piiloon samasta paikasta. Kytkin piilottaa luvun kaikkialta kerralla: liidikortin talousrivi lahteineen, yrityksen perustietorivi, tiivistelmalohko, virallinen tase, syotteen kortti ja taulukon oma sarake. Aiemmin luku palasi nakyviin syvakaivuun jalkeen, koska kortti rakennettiin uudelleen. Nyt valinta pitaa myos rikastuksen jalkeen.
- ⥠Uusi Miksi nyt -nappi liidikortilla. Syy ottaa yhteytta juuri nyt oli olemassa vain tekstina eri puolilla korttia, ja osa siita jai lisatietojen taakse. Nappi nostaa saman syyn esiin yhdella klikkauksella, lahteineen. Jos paivattya syyta ei ole viimeisen 30 vuorokauden ajalta, nappi sanoo sen suoraan eika keksi mitaan.
- âïž Kevyt vientilista: yritys, pÀÀttĂ€jĂ€ ja sĂ€hköposti, vain nimimuotoiset osoitteet. Vientivalikkoon tuli oma valinta, joka antaa Excelin kolmella sarakkeella. Yksi osoite per rivi, ei muita osoitesarakkeita, joten tiedosto menee suoraan sĂ€hköpostimarkkinointiohjelmaan. Mukaan tulevat vain henkilön nimen muotoiset osoitteet, kuten etunimi@ tai etunimi.sukunimi@. Roolilaatikot kuten info@ ja myynti@ jÀÀvĂ€t pois, samoin rivit joilla ei ole osoitetta. TĂ€ysi vienti kaikkine sarakkeineen ja osoitteineen sĂ€ilyy omana valintanaan ja on edelleen oletus.
đŹđ§ English
- đïž Server data can now be switched off. The card showed the Kimiko assessment, market pressure, market context and source badges with no way to hide them. Settings now has a View card that turns them on and off. The data is still gathered in the background and still drives lead scoring and ranking, so switching it off does not weaken your results, it only tidies the view.
- đ° Revenue and financial figures hide from the same place. One switch hides the figure everywhere at once: the financial row with its source, the company details row, the summary block, the official balance sheet, the feed card and the table column. Previously the figure came back after deep enrichment because the card was rebuilt. The choice now holds after enrichment too.
- ⥠New Why now button on the lead card. The reason to reach out right now existed only as text in several places, some of it behind the extra details fold. The button brings the same reason up in one click, with its source. If there is no dated reason from the last 30 days, the button says so plainly instead of inventing one.
- âïž Light export list: company, decision maker and email, personal addresses only. The export menu has its own option that produces a three column Excel file. One address per row and no other address columns, so the file goes straight into an email marketing tool. Only addresses shaped like a person's name are included, such as firstname@ or firstname.surname@. Role mailboxes like info@ and sales@ are left out, as are rows without an address. The full export with every column and every address stays as its own option and remains the default.
1.0.1118
2026-09-101.0.1118 - 2026-09-10 - "Excel yksi rivi per sÀhköposti, Hollannin rekisterit löytyvÀt suomeksi ja englanniksi"
đ«đź Suomi
- 𧏠Peruutetun ajon firmat eivÀt enÀÀ ilmesty uuden ajon listalle. Kun Suomen ajo peruutettiin ja Norjan ajo aloitettiin, edellisen ajon myöhÀssÀ valmistuneet firmat tulivat Norjan listalle samassa erÀssÀ uusien kanssa. Moottori leimaa nyt jokaisen tuloksen ajon sukupolvella ja kertoo alkaessaan mikÀ sukupolvi on menossa. Vanhemman ajon tulokset pudotetaan ennen listaa.
- đ§č Edellisen ajon syvĂ€kaivuu ei jatku uuden ajon pÀÀlle. Automaattinen syvĂ€kaivuu jatkoi peruutetun ajon firmoja vielĂ€ kymmenen minuuttia uuden ajon alettua ja kulutti samat hakukoneet, joita uusi ajo tarvitsi. Jono tyhjennetÀÀn nyt peruutuksessa ja uuden ajon alkaessa. Uuden ajon firmat jonottavat normaalisti.
- đ Logistiikka hakee myös kuljetusliikkeet. Hakusana logistiikka laajeni vain varastointiin ja liikennettĂ€ palvelevaan toimintaan, johon kuuluvat parkkihallit, hinaus ja tiepalvelut, mutta ei tieliikenteen tavarankuljetukseen. Norjan ajo toi takseja ja parkkihallin, muttei kuljetusliikkeitĂ€. Nyt logistiikka, logistics, logistique, logistikk ja freight kattavat sekĂ€ tavarankuljetuksen ettĂ€ varastoinnin. Taksit ja bussit eivĂ€t kuulu mukaan.
- đ©ș Hakukoneet eivĂ€t enÀÀ kuole kesken ajon. TyhjĂ€ hakuvastaus laskettiin virheeksi, ja viisi virhettĂ€ poisti moottorin kĂ€ytöstĂ€ koko ajon loppuajaksi. Kontaktihaku kysyy usein asioita, joihin ei ole yhtÀÀn osumaa, joten Brave, DuckDuckGo ja Marginalia kuolivat noin kolmessa minuutissa ajon alusta ja loput liidit jĂ€ivĂ€t ilman yhteystietoja. Nyt tyhjĂ€ vastaus ei ole virhe, ja virheistĂ€ pysĂ€ytetty moottori saa neljĂ€n minuutin pÀÀstĂ€ uuden yrityksen. Onnistuminen palauttaa sen kĂ€yttöön.
- đŹ Excel on nyt suoraan lĂ€hetyslista: yksi rivi per sĂ€hköposti. Edellinen versio levitti osoitteet vaakasuuntaan sarakkeisiin email_1, email_2 ja email_3, jolloin lĂ€hetyslista piti koota kĂ€sin. Nyt jokaisella osoitteella on oma rivi, ja firman tiedot toistuvat rivillĂ€. Sarakkeessa email on osoite, sen vieressĂ€ tila, osoitteen henkilö ja titteli. Firma ilman osoitetta sĂ€ilyy listalla yhdellĂ€ rivillĂ€. Kohderoolitilassa yleispostit ovat edelleen omassa sarakkeessaan, eivĂ€t lĂ€hetyssarakkeessa. CSV-vienti sĂ€ilyy ennallaan.
- đłđ± Hollannin viralliset rekisterit löytyvĂ€t nyt hakusanalla. Kimikolla on 25 000 NIWO-kuljetuslupafirmaa, 29 500 RDW-autoalan yritystĂ€, 15 800 AFM-rahoituspalvelua ja 5 400 Techniek Nederland -asennusliikettĂ€, mutta ne on nimetty hollanniksi eikĂ€ suomen- tai englanninkielinen hakusana osunut niihin. Esimerkiksi logistiikka toi kaksi firmaa. Nyt hakusana kÀÀnnetÀÀn rekisterin omaksi nimikkeeksi ennen kyselyĂ€: logistiikka, kuljetus, transport ja freight löytĂ€vĂ€t kuljetusluvalliset, jĂ€tehuolto jĂ€tekuljettajat, autokorjaamo RDW-yritykset, rahoitus AFM-toimijat ja sĂ€hkö, LVI ja asennus Techniek Nederlandin jĂ€senet. AlkuperĂ€inen hakusana kysytÀÀn edelleen sen perĂ€ssĂ€.
đŹđ§ English
- đ§Ź Companies from a cancelled run no longer appear in the next run's list. When a Finnish run was cancelled and a Norwegian run started, late results from the previous run landed in the Norwegian list in the same batch as the new ones. The engine now stamps every result with its run generation and announces the current generation when it starts. Results from an older run are dropped before the list.
- đ§č Deep enrichment from the previous run no longer continues into the new one. Automatic deep enrichment kept working through the cancelled run's companies for ten minutes after the new run started and consumed the same search engines the new run needed. The queue is now cleared on cancel and at the start of a new run. The new run's companies queue normally.
- đ Logistics now finds hauliers. The keyword logistics expanded only to warehousing and support activities for transport, which include parking, towing and road services, but not freight transport by road. The Norwegian run returned taxis and a car park but no hauliers. Logistics, logistiikka, logistique, logistikk and freight now cover both road freight and warehousing. Taxis and buses are not included.
- đ©ș Search engines no longer die mid-run. An empty answer was counted as a failure, and five failures removed the engine for the rest of the run. Contact discovery often asks for things with no hits at all, so Brave, DuckDuckGo and Marginalia died about three minutes into a run and the remaining leads got no contact details. An empty answer is no longer a failure, and an engine stopped by real errors gets a new attempt after four minutes. A success brings it back.
- đŹ Excel is now a send list: one row per email address. The previous version spread addresses horizontally into email_1, email_2 and email_3 columns, so the send list had to be assembled by hand. Every address now gets its own row and the company details repeat on the row. The email column holds the address, next to it the status, the person the address belongs to and their title. A company without an address stays on the list with one row. In target-role mode generic mailboxes stay in their own column, not in the send column. CSV export is unchanged.
- đłđ± Dutch official registers are now found by keyword. Kimiko holds 25,000 NIWO licensed hauliers, 29,500 RDW automotive companies, 15,800 AFM financial service providers and 5,400 Techniek Nederland installers, but they are labelled in Dutch and a Finnish or English keyword did not match them. Logistics, for example, returned two companies. The keyword is now translated into the register's own label before the query: logistics, transport and freight find the licensed hauliers, waste finds the waste carriers, car repair finds RDW companies, finance finds AFM providers, and electrical, HVAC and installation find Techniek Nederland members. The original keyword is still queried after it.
1.0.1117
2026-09-101.0.1117 - 2026-09-10 - "Sivun todiste aina nÀyttökielellÀ ja lyhyenÀ, kalusto ja omaisuus nÀkyvÀt kortilla"
đ«đź Suomi
- đ Sivun oma lause nĂ€kyy vain nĂ€yttökielellĂ€. Suomalaisen yrityksen sivulta poimittu todiste saattoi olla englantia, kun sivulla ei ollut suomenkielistĂ€ osumaa. Se pÀÀsi listalle sanatarkasti, koska tarkistus katsoi vain yrityksen maata. Nyt myös lauseen oma kieli tarkistetaan. Vieraskielinen lause korvataan suomenkielisellĂ€ lyhyellĂ€ muodolla, ja itse lause on paneelin signaalilistassa lĂ€hteineen.
- đ Todisterivi on lyhyt eikĂ€ toistu. Lause leikataan sanarajalta noin 90 merkkiin. Aiemmin sama lause tuli listan vihjeeseen kahdesti, koska rivi ja lainaus katkaistiin eri pituuteen. Lainaus ei enÀÀ tule vihjeeseen erikseen.
- đđą Kalusto ja omaisuus nĂ€kyvĂ€t kortilla ja listalla. EdellisessĂ€ versiossa kalusto- ja omaisuusmerkinnĂ€t tunnistettiin sivulta, mutta ne eivĂ€t koskaan kulkeneet kortille asti, koska ne puuttuivat jaetusta signaalitaulusta. Nyt molemmat kulkevat samaa reittiĂ€ kuin muut sivusignaalit: listan ikonijonoon, vihjeeseen, korttiin ja liidipankkiin. Asetuksista voi yhĂ€ kytkeĂ€ ne pois.
đŹđ§ English
- đ The site's own sentence is shown only in the display language. Evidence cut from a Finnish company's site could be English when the page had no Finnish match. It reached the list verbatim because the check only looked at the company's country. Now the sentence's own language is checked too. A foreign-language sentence is replaced by a short form in the display language, and the sentence itself sits in the panel's signal list with its source.
- đ The evidence line is short and not repeated. The sentence is cut at a word boundary to about 90 characters. Previously the same sentence appeared twice in the list tooltip because the line and the quote were cut to different lengths. The quote is no longer appended separately.
- đđą Fleet and assets show on the card and in the list. The previous version detected fleet and asset mentions on the site, but they never reached the card because they were missing from the shared signal table. Both now travel the same route as the other site signals: the list's icon row, the tooltip, the card and the lead bank. They can still be switched off in Settings.
1.0.1116
2026-09-091.0.1116 - 2026-09-09 - "Haettu rooli ensin ja kaikki roolihenkilöt nÀkyviin, haku ei kaadu omaan vahtiinsa, nÀyttö tunnistetaan kysymÀttÀ"
đ«đź Suomi
- đŻ Haettu rooli haetaan ensin, ja kaikki löydetyt roolihenkilöt nĂ€kyvĂ€t. Kun hakusanana oli myyntipÀÀllikkö, Atlas kysyi silti ensin toimitusjohtajaa, koska roolit jĂ€rjestettiin kiinteÀÀn jĂ€rjestykseen. Kolmen nimikkeen budjetti kului toimitusjohtajaan ja lista tĂ€yttyi toimitusjohtajista. Nyt hakusanan rooli on ensimmĂ€inen ja asetusten roolit jÀÀvĂ€t varalle. LisĂ€ksi liidille tallennettiin vain yksi roolihenkilö. Nyt kaikki löydetyt tallentuvat: kortin merkki nĂ€yttÀÀ lukumÀÀrĂ€n, paneelissa on rivi jokaiselle lĂ€hteineen, ja ExcelissĂ€ on uusi sarake role_people. Liidipankista viety Excel sai aiemmin tyhjĂ€t roolisarakkeet, sekin on korjattu.
- đ Haku ei enÀÀ keskeydy vÀÀrÀÀn hĂ€lytykseen. Edellinen versio toi vahdin, joka vapauttaa jumittuneen haun. Se pÀÀtteli liian aikaisin: moottori valmistelee rekisterivaihetta hiljaa yli minuutin ennen ensimmĂ€istĂ€ viestiÀÀn, ja vahti tulkitsi hiljaisuuden vastaamattomuudeksi. Haku merkittiin lopetetuksi vaikka tulokset olivat tulossa. Nyt moottori kuittaa haun heti kun se ottaa sen vastaan, joten "moottori ei vastannut" tarkoittaa jatkossa vain sitĂ€.
- đ„ïž NĂ€yttö tunnistetaan itse, kysymystĂ€ ei enÀÀ tule. Atlas mittaa nĂ€ytön kĂ€ynnistyksessĂ€ samalla kun se lukee koneen tehot, ja valitsee nĂ€kymĂ€n: kapealla nĂ€ytöllĂ€ napit siirtyvĂ€t vasempaan palkkiin, leveĂ€llĂ€ kaikki pysyy ennallaan. NĂ€ytön vaihtuessa mitataan uudestaan. Asetuksissa on kolme tilaa kuten tehotilassa: Auto, Laaja ja Kompakti. EdellisessĂ€ versiossa annettu vastaus kunnioitetaan.
đŹđ§ English
- đŻ The hunted role is searched first, and every role person found is shown. When the keyword was sales manager, Atlas still asked for the CEO first because roles were sorted into a fixed order. The three-title budget went to the CEO and the list filled up with CEOs. The role in the keyword now comes first and the roles from Settings stay as fallback. Also, only one role person was stored per lead. Now every person found is kept: the card badge shows the count, the panel has a row for each with its source, and Excel has a new role_people column. Excel exported from the lead bank used to get empty role columns; that is fixed too.
- đ A hunt no longer gets cut short by a false alarm. The previous version added a watchdog that releases a stuck hunt. It judged too early: the engine prepares the registry phase quietly for over a minute before its first message, and the watchdog read that silence as no answer, marking the hunt as stopped while results were on their way. The engine now acknowledges a hunt the moment it receives it, so "the engine did not answer" means exactly that.
- đ„ïž The screen is detected automatically, no more question. Atlas measures the screen at startup, alongside the machine's performance profile, and picks the layout: on a narrow screen the buttons move into the left panel, on a wide one nothing changes. Changing screens triggers a new measurement. Settings has three modes like the performance mode: Auto, Wide and Compact. An answer given in the previous version is respected.
1.0.1115
2026-09-091.0.1115 - 2026-09-09 - "Jumittunut haku vapautuu itse, Vie ostajat toimii pankissa, Excel lÀhetyslistaksi, pieni nÀyttö kysyy ja jÀrjestyy"
đ«đź Suomi
- đ„ïž Atlas huomaa pienen nĂ€ytön ja tarjoutuu jĂ€rjestĂ€mÀÀn nĂ€kymĂ€n. YlĂ€palkin napit ja alapalkin hakurivi vaativat leveĂ€n ikkunan, joten pienellĂ€ tai skaalatulla nĂ€ytöllĂ€ ikkuna venyi nĂ€yttöÀ leveĂ€mmĂ€ksi ja osa napeista jĂ€i ruudun ulkopuolelle. Atlas mittaa nyt kĂ€ynnistyksessĂ€, paljonko tilaa ohjaimet vaativat ja paljonko nĂ€ytölle mahtuu. Jos ne eivĂ€t mahdu, se kysyy kerran haluatko jĂ€rjestÀÀ nĂ€kymĂ€n uusiksi. Kun hyvĂ€ksyt, aktiivisuusluettelo vĂ€istyy ja kaikki napit asettuvat vasempaan palkkiin siisteille riveille, kun taas hakukenttĂ€ ja HAE jÀÀvĂ€t alariviin. Ikkuna kutistuu samalla nĂ€ytölle mahtuvaksi. Valinta muistetaan, ja laajan ja kompaktin nĂ€kymĂ€n vĂ€lillĂ€ voi vaihtaa Asetuksista tai paneelin omasta napista.
- đ Toinen haku lĂ€htee kĂ€yntiin vaikka edellinen ajo jĂ€isi jumiin. Jos moottori ei vastannut tai edellinen ajo ei ilmoittanut pÀÀttyneensĂ€, Atlas jĂ€i nĂ€yttĂ€mÀÀn haun olevan kĂ€ynnissĂ€ ja HAE-nappi pysyi harmaana. Silloin uutta hakua ei voinut aloittaa ilman ohjelman uudelleenkĂ€ynnistystĂ€. Nyt Atlas tarkkailee tilaa itse: jos moottori ei vastaa aloitukseen, sammuu kesken ajon tai jumittuu, haku vapautuu automaattisesti ja Atlas kertoo syyn selvĂ€llĂ€ kielellĂ€. KĂ€ynnissĂ€ olevaa hakua ei keskeytetĂ€, vaikka syvĂ€vaihe olisi hetken hiljainen.
- đȘ Ilmoitusikkuna ei jÀÀ ruudun ulkopuolelle. Vahvistus- ja ilmoitusikkunat keskitettiin pÀÀikkunan mukaan, joten leveĂ€llĂ€ ikkunalla tai pienellĂ€ nĂ€ytöllĂ€ ne saattoivat aueta nĂ€kymĂ€ttömiin. KĂ€yttĂ€jĂ€lle se nĂ€ytti siltĂ€, ettei napin painaminen tehnyt mitÀÀn. Jokainen ikkuna siirretÀÀn nyt kokonaan nĂ€ytölle ja nostetaan pÀÀllimmĂ€iseksi.
- đïž Brotli-pakatut kotisivut luetaan taas kokonaan. Yhteystietojen haku sai tyhjĂ€n sivun osalta palvelimista, jotka pakkaavat sivun brotlilla, koska purkajan rajapinta oli muuttunut kirjaston uudessa versiossa. Sivu luetaan nyt ehjĂ€nĂ€, ja vahti mittaa kaikki kolme lukupolkua samalla sivulla.
- ⳠAktiivisuusrivin tilateksti ei enÀÀ katkea suomeksi. Rivin ODOTTAA-teksti oli mitoitettu englannin sanoille, joten suomeksi siitÀ nÀkyi vain alkuosa ja se nÀytti menevÀn viereisen napin alle. Teksti saa nyt tilansa oman pituutensa mukaan kaikilla kielillÀ.
- đ€ Vie ostajat toimii myös liidipankissa. Nappi ei tehnyt mitÀÀn, kun tulosluettelo oli tyhjĂ€, esimerkiksi liidipankkinĂ€kymĂ€ssĂ€ tai ohjelman uudelleenkĂ€ynnistyksen jĂ€lkeen. Nyt se vie pankin liidit samalla tavalla kuin tulosluettelon, ja jos vietĂ€vÀÀ ei ole, siitĂ€ kerrotaan sen sijaan ettĂ€ mitÀÀn ei tapahtuisi.
- đ Excel on nyt suoraan lĂ€hetyslista. Asiakaspalaute: yksi sĂ€hköposti per sarake, ei erikoismerkkejĂ€, yritykset aakkosjĂ€rjestykseen, ja myyntipÀÀllikköÀ haettaessa myyntipÀÀllikön osoite eikĂ€ yleispostia. Vienti tekee nyt juuri niin: email_1, email_2 ja jokaiselle oma varmennustila, puhelimet ja yhteyshenkilöt omiin sarakkeisiinsa, emojit ja symbolit pois, rivit aakkosjĂ€rjestyksessĂ€. Kun kohderooli on valittu, lĂ€hetyssarakkeissa on vain henkilöiden osoitteet roolihenkilön oma ensimmĂ€isenĂ€, ja yleispostit menevĂ€t omaan sarakkeeseensa. Jos osoitetta ei löytynyt, sarake jÀÀ tyhjĂ€ksi, sitĂ€ ei arvata. CSV-vienti sĂ€ilyy ennallaan integraatioita varten.
đŹđ§ English
- đ„ïž Atlas notices a small screen and offers to rearrange the view. The top bar buttons and the bottom search row need a wide window, so on a small or scaled display the window grew wider than the screen and part of the controls ended up outside it. At startup Atlas now measures how much room the controls need and how much the screen has. If they do not fit, it asks once whether to rearrange the view. When you accept, the activity list steps aside and every button moves into the left panel in neat rows, while the search field and the run button stay in the bottom row. The window shrinks to fit the screen at the same time. The choice is remembered, and you can switch between the wide and the compact view in Settings or from the panel's own button.
- đ A second hunt starts even if the previous run got stuck. If the engine did not answer or the previous run never reported that it had finished, Atlas kept showing a hunt in progress and the run button stayed greyed out, so a new hunt could not be started without restarting the app. Atlas now watches the state itself: if the engine does not answer the start command, stops during a run or hangs, the hunt is released automatically and Atlas says why in plain language. A running hunt is never interrupted, even when a deep phase goes quiet for a while.
- đȘ Dialogs no longer open outside the screen. Confirmation and notice windows were centred on the main window, so with a wide window or a small screen they could open out of sight. To the user it looked as if pressing the button did nothing. Every dialog is now moved fully onto the screen and raised to the front.
- đïž Brotli-compressed homepages are read in full again. Contact discovery got an empty page from servers that compress with brotli, because the decoder interface had changed in a newer library version. The page is now read intact, and a watcher checks all three fetch paths against the same page.
- âł The activity status caption no longer gets cut off. The caption was sized for the English words, so in other languages only the beginning showed and it looked like it ran under the neighbouring button. The caption now gets the width its own text needs in every language.
- đ€ Export buyers also works in the lead bank. The button did nothing when the results list was empty, for example in the lead bank view or after restarting the app. It now exports the bank's leads the same way as the results list, and if there is nothing to export it says so instead of doing nothing.
- đ Excel is now a sending list as is. Customer feedback: one email per column, no special characters, companies in alphabetical order, and when hunting sales managers the sales manager's address rather than a generic mailbox. The export now does exactly that: email_1, email_2 with a verification status for each, phones and contacts in their own columns, emojis and symbols removed, rows alphabetical. When a target role is selected the sending columns hold only personal addresses with the role person's own address first, and generic mailboxes go to their own column. If no address was found the cell stays empty; nothing is guessed. The CSV export stays as it was for integrations.
1.0.1114
2026-09-091.0.1114 - 2026-09-09 - "Myyntijohtaja löytyy firman omalta sivulta ja kysytÀÀn suomeksi"
đ«đź Suomi
- đ Kohderooli etsitÀÀn ensin firman omalta sivulta. Pk-yritys listaa myyjĂ€nsĂ€ yhteystiedot-, henkilöstö- tai myyntisivullaan nimellĂ€ ja tittelillĂ€. Atlas lukee nyt nĂ€mĂ€ sivut roolin nĂ€kökulmasta, seuraa sivuston omia linkkejĂ€ henkilö- ja myyntisivuille kun tavallinen arvaus ei osu, ja nostaa osuman kortille lĂ€hteen kanssa. Hakukoneita kysytÀÀn vasta jos sivu ei kerro. Nimi ilman titteliĂ€ ei kelpaa rooliksi.
- đ«đź Suomalaiselta firmalta kysytÀÀn myyntijohtajaa suomeksi. Live-ajossa 624 roolihakua tuotti yhden myyntijohtajan, koska hakukoneelta kysyttiin "Sales Director" ja "Sales Manager", vaikka suomalaisen pk-yrityksen profiilissa lukee myyntijohtaja. Kolmen nimikkeen budjetti tĂ€yttyi englannista eikĂ€ suomea kysytty koskaan. Nyt toimitusjohtajaa, myyntijohtajaa ja myyntipÀÀllikköÀ kysytÀÀn .fi-firmoilta suomeksi ensin ja englanniksi perÀÀn. Tekniikan roolit kysytÀÀn edelleen lyhenteillĂ€, koska CTO on Suomessakin yleisempi.
đŹđ§ English
- đ Target roles are looked up on the company's own site first. SMEs list their sales people on a contact, staff or sales page with name and title. Atlas now reads those pages with the role in mind, follows the site's own links to people and sales pages when the usual guess misses, and puts the match on the card with its source. Search engines are asked only when the site does not say. A name without a title does not count as a role.
- đ«đź Finnish companies are asked for the sales director in Finnish. In a live run, 624 role searches produced one sales director because the engines were asked for "Sales Director" and "Sales Manager", while a Finnish SME profile says myyntijohtaja. The three-title budget was spent on English and Finnish was never asked. CEO, sales director and sales manager are now asked in Finnish first for .fi companies, with English following. Technical roles keep the abbreviations, since CTO is more common in Finland too.
1.0.1113
2026-09-091.0.1113 - 2026-09-09 - "Ikkuna mahtuu ruudulle, myyntijohtaja asetuksiin, rakennussektori löytÀÀ firmat, pankista saa listan ulos"
đ«đź Suomi
- đ Kuollut verkkotunnus korvataan vain kun firma on tunnistettavissa. Eilen julkaistu korvaus haki firman nykyisen sivun nimestĂ€, mutta jos listalla oli pelkkĂ€ verkkotunnus, nimi johdettiin siitĂ€ samasta tunnuksesta. Silloin haku vain kokeili saman sanan muita pÀÀtteitĂ€ ja saattoi osua eri yhtiöön. Mitattiin tuhannen firman ajossa: 123 osoitetta ei auennut, ja korvatuista mukana oli vÀÀriĂ€ firmoja. Nyt korvaus vaatii y-tunnuksen tai listassa olleen oman firmanimen. Muuten osoite jÀÀ kuolleeksi ja kortti kertoo sen suoraan, sen sijaan ettĂ€ nĂ€yttĂ€isi vÀÀrĂ€n firman tiedot varmana.
- đ„ïž Atlas mahtuu ruudulle myös pienellĂ€ ja skaalatulla nĂ€ytöllĂ€. Ikkunan koko laskettiin sisĂ€alueelle, joten otsikkopalkki ja reunat veivĂ€t sen ruudun yli, eikĂ€ ikkunaa siirretty koskaan nĂ€kyvĂ€lle alueelle. Alareuna eli hakupalkki ja esittelykierroksen napit jĂ€ivĂ€t nĂ€ytön alle. Nyt kehys lasketaan mukaan, ikkuna siirretÀÀn kokonaan nĂ€kyviin, ja jos siirrĂ€t sen toiselle nĂ€ytölle jolla on eri skaalaus, koko sovitetaan uudelleen.
- đ§ PelkkĂ€ rooli hakusanana hakee oikeilta aloilta. Kun hakusana on pelkkĂ€ rooli, kuten "myyntijohtaja", Atlas valitsi toimialapohjaksi aina tekniikan alat, mikĂ€ oli tehty CTO-hakua varten. Myyntijohtajaa etsittiin siis ohjelmisto- ja elektroniikkafirmoista. Nyt pohja valitaan roolin mukaan: myyntirooleille tukku, teollisuus, ohjelmistot, logistiikka, henkilöstöpalvelut ja rakennusala, tekniikan rooleille kuten ennen.
- đ Myyntijohtaja ja toimitusjohtaja valittaviksi kohderooleiksi. Kohderooleja oli kolme ja kaikki tekniikan puolelta, joten myyntijohtajaa ei haettu lainkaan eikĂ€ sitĂ€ tunnistettu vaikka se olisi tullut vastaan. Asetuksista voi nyt valita toimitusjohtajan, myyntijohtajan ja myyntipÀÀllikön, ja nimikkeet tunnetaan kymmenellĂ€ kielellĂ€. Roolin voi myös kirjoittaa hakukenttÀÀn, esimerkiksi "myyntijohtaja Pirkanmaa".
- ⳠKokeilu kertoo mikÀ oikeasti rajoittaa. Aloitusruutu nÀytti isolla kelloa ja lupasi rajattoman kÀytön, vaikka kokeilussa on yksi ajo. KÀyttÀjÀ teki yhden haun ja törmÀsi maksumuuriin kellon nÀyttÀessÀ yhÀ 23 tuntia. Nyt isolla lukee montako ajoa on jÀljellÀ, kello on pieni rivi alla, ja teksti kertoo mitÀ kokeiluun sisÀltyy.
- đïž Haku "rakennusteollisuus" löytÀÀ rakennusfirmat. Sektorisanaa ei tunnistettu toimialaksi, joten alan omat firmat putosivat todisteettomina, ja rekisterihaku rajautui talonrakentamiseen jolloin sĂ€hkö-, LVI-, maalaus- ja maarakennusurakoitsijat jĂ€ivĂ€t pois. Hakukoneille lĂ€hti kirjaimellinen sektorisana, jota firmat eivĂ€t kĂ€ytĂ€ itsestÀÀn. Nyt sana kattaa koko alan, kÀÀntyy niiksi sanoiksi joita firmat kĂ€yttĂ€vĂ€t (rakennusliike, urakoitsija) ja toimii myös ruotsiksi, hollanniksi ja saksaksi. Ruotsin haku etsi aiemmin tehtaita, koska yhdyssanan loppuosa voitti pÀÀsanan.
- âïž SĂ€hköpostit varmennetaan listalta kaikki, ei kahta. Oman listan ajo ei koettanut osoitteita SMTP:llĂ€ lainkaan, ja toimialahaussa koetettiin kaksi osoitetta perĂ€kkĂ€in yhden lyhyen aikabudjetin sisĂ€llĂ€, jolloin toinen ehti harvoin. Nyt listan liidin kaikki osoitteet koetetaan rinnakkain. Jos verkosta ei pÀÀse postipalvelimien porttiin, kortti ja vienti kertovat sen suoraan sen sijaan ettĂ€ varmennus katoaisi hiljaa.
- đ”ïž Peitellyt osoitteet löytyvĂ€t. Sivuilla osoite kirjoitetaan usein ilman @-merkkiĂ€: "maija [at] firma.fi", "info (at) firma (piste) fi", Cloudflaren suojaus, tai osoite kootaan JavaScriptillĂ€. NĂ€istĂ€ tunnistettiin aiemmin vain HTML-entiteetti. Nyt 13 yleistĂ€ peittelytapaa puretaan yhdessĂ€ paikassa, eikĂ€ "meet us at firma.fi" muutu osoitteeksi.
- đ Yhteydenottolomake on kanava. Joka viides kotisivullinen liidi on ilman sĂ€hköpostia ja henkilöÀ, ja niillĂ€ on vain lomake. Se oli kortilla nĂ€kymĂ€tön ja kanavaksi jĂ€i "ei mitÀÀn". Nyt lomakkeen osoite nĂ€kyy parhaana kanavana, ja jos lomakkeeseen on kirjoitettu vastaanottaja nĂ€kyviin, se lisĂ€tÀÀn sĂ€hköposteihin. Lomakkeen palvelimella oleva vastaanottaja ei nĂ€y kenellekÀÀn, eikĂ€ sitĂ€ arvata.
- đ ExcelissĂ€ omat sarakkeet nimiosoitteille ja varmennukselle. Vientiin tuli sarakkeet henkilökohtaisille osoitteille (ei info@), varmennetuille osoitteille, varmennuksen tilalle ja lomakkeen osoitteelle, jotta lĂ€hetyslistan voi suodattaa suoraan ExcelissĂ€.
- đ Vienti on nyt aito Excel-tiedosto. CSV avautui suomenkielisessĂ€ ExcelissĂ€ puuroksi: koko otsikkorivi yhteen soluun ja tietorivit katkesivat sattumanvaraisiin sarakkeisiin, koska suomalainen Windows kĂ€yttÀÀ puolipistettĂ€ erottimena. LisĂ€ksi yksittĂ€inen puhelinnumero muuttui luvuksi ja plusmerkki katosi. EnglanninkielisellĂ€ koneella sama tiedosto nĂ€ytti hyvĂ€ltĂ€, joten vika ei nĂ€kynyt testeissĂ€. Vientivalikon ensimmĂ€inen vaihtoehto on nyt Excel (.xlsx): sarakkeet oikein, puhelinnumerot ja y-tunnukset tekstinĂ€, otsikkorivi lukittu ja suodatin pÀÀllĂ€. CSV sĂ€ilyy integraatioita varten.
- 𧱠Rakennustarvikekauppa ja talotehtaat löytyvÀt omina hakuinaan. Rakennusnauhan kaltaisen tuotteen ostajia ovat urakoitsijoiden lisÀksi rakennustarvikeliikkeet, tukut ja talotehtaat. Sanat "rakennustarvike" ja "rakennustukku" osoittivat talonrakentajiin ja "talotehdas" ei mihinkÀÀn. Nyt ne osoittavat oikeisiin luokkiin: tukkuun, vÀhittÀiskauppaan ja talotehtaisiin.
- đ€ Liidipankista saa listan ulos, ja siinĂ€ on kaikki tiedot. PankkinĂ€kymĂ€ssĂ€ on nyt Vie lista -nappi, joka vie tĂ€smĂ€lleen ne rivit jotka nĂ€kymĂ€ssĂ€ ovat. Samalla korjattiin vienti: sĂ€hköpostit, puhelimet, pÀÀttĂ€jĂ€t, signaalit ja toimiala tulivat aiemmin tyhjinĂ€, koska vienti luki eri kenttĂ€nimiĂ€ kuin mihin pankki tallentaa. Mitattuna 200 liidillĂ€ sarakkeet tĂ€yttyvĂ€t nyt lĂ€hes sataprosenttisesti.
đŹđ§ English
- đ„ïž Atlas fits the screen on small and scaled displays. The window size was computed for the inner area, so the title bar and borders pushed it past the screen edge, and the window was never moved into the visible area. The bottom, meaning the search bar and the tour buttons, ended up below the screen. The frame is now included, the window is moved fully into view, and if you move it to another display with different scaling the size is refitted.
- đ§ A role alone as the search term searches the right industries. When the search term is only a role, such as "sales director", Atlas always used technical industries as the base, a default made for CTO searches. A sales director was therefore sought in software and electronics companies. The base now follows the role: wholesale, manufacturing, software, logistics, staffing and construction for sales roles, and technical industries as before for technical roles.
- đ Sales director and CEO as selectable target roles. There were three target roles and all of them were technical, so a sales director was never searched for and would not have been recognised. Settings now offer CEO, sales director and sales manager, with titles known in ten languages. You can also type the role into the search field, for example "sales director Pirkanmaa".
- âł The trial says what actually limits you. The start screen showed a large clock and promised unlimited use, while the trial is one run. Users ran one search and hit the paywall with 23 hours still on the clock. The large number is now the runs you have left, the clock is a small line below it, and the text says what the trial includes.
- đïž Searching for the construction sector finds construction companies. The sector word was not recognised as an industry, so companies in that very field were dropped as unevidenced, and the register search narrowed to building construction, leaving out electrical, plumbing, painting and groundwork contractors. Search engines received the literal sector word, which companies do not use about themselves. The word now covers the whole sector, translates into the words companies do use, and works in Swedish, Dutch and German. The Swedish search previously looked for factories because the tail of the compound word beat its head.
- âïž Every address from a list is verified, not two. A run from your own list never tested addresses over SMTP, and industry search tested two addresses one after the other inside one short time budget, so the second rarely finished. All addresses of a list lead are now tested in parallel. If the network cannot reach mail servers, the card and the export say so instead of the check silently disappearing.
- đ”ïž Obfuscated addresses are found. Sites often write an address without the @ sign: "maija [at] firma.fi", "info (at) firma (dot) fi", Cloudflare protection, or an address assembled in JavaScript. Only the HTML entity was recognised before. Thirteen common obfuscation styles are now decoded in one place, and "meet us at firma.fi" does not become an address.
- đ The contact form is a channel. One in five leads with a website has no email and no person, only a form. It was invisible on the card and the channel was "none". The form's address is now shown as the best channel, and if a recipient is written into the form, it is added to the emails. A recipient that lives on the server is visible to no one and is not guessed.
- đ Excel gets columns for personal addresses and verification. The export now has columns for personal addresses (not info@), verified addresses, verification status and the contact form URL, so a sending list can be filtered directly in Excel.
- đ Export is now a real Excel file. The CSV opened as a mess in Finnish Excel: the whole header in one cell and data rows broken into random columns, because Finnish Windows uses a semicolon as the list separator. A single phone number also turned into a number and lost its plus sign. On an English machine the same file looked fine, so the defect never showed in testing. The first option in the export menu is now Excel (.xlsx): proper columns, phone numbers and business IDs kept as text, header frozen and filter on. CSV remains for integrations.
- đ€ The lead bank exports a list, and the columns are filled. The bank view now has an Export list button that exports exactly the rows you see. The export itself was fixed at the same time: emails, phones, decision makers, signals and industry came out empty because the export read different field names than the bank writes. Measured on 200 leads, the columns are now filled almost completely.
- đ A dead website is replaced only when the company can be identified. Yesterday's replacement looked up the company's current site from its name, but when the list held only a website, the name was derived from that same address. The lookup then merely tried other endings of the same word and could land on a different company. Measured on a thousand-company run: 123 addresses did not open, and some replacements were the wrong company. The replacement now requires a business ID or a company name that came from your list. Otherwise the address stays dead and the card says so plainly, instead of presenting another company's data as fact.
1.0.1112
2026-09-091.0.1112 - 2026-09-09 - "Oma lista rikastuu kunnolla: Excel luetaan taulukkona, vanha yhteystieto ei ohita elÀvÀÀ sivua"
đ«đź Suomi
- đ Excel-lista luetaan taulukkona. ExcelistĂ€ luettiin aiemmin jokainen solu omana rivinÀÀn, joten yhdestĂ€ asiakasrivistĂ€ syntyi toistakymmentĂ€ "firmaa": katuosoite, muistiinpano ja pĂ€ivĂ€mÀÀrĂ€ lĂ€htivĂ€t firmanniminĂ€ hakuun. Nyt Excel luetaan samalla sarakekartalla kuin CSV ja PDF, eli nimi, verkkotunnus, puhelin, sĂ€hköposti, yhteyshenkilö ja y-tunnus menevĂ€t omiin kenttiinsĂ€ ja muut sarakkeet jĂ€tetÀÀn rauhaan. Kaikki vĂ€lilehdet luetaan. Vanhasta .xls-muodosta kerrotaan suoraan, ettĂ€ se pitÀÀ tallentaa .xlsx- tai CSV-muotoon.
- đ°ïž Vanhan listan yhteystieto ei enÀÀ ohita elĂ€vÀÀ sivua. Omasta listasta tullut sĂ€hköposti tai puhelin nousi kortin ykköskontaktiksi, vaikka firman sivulta löytyi tuoreempi. Vuosia vanhassa asiakaslistassa se tarkoitti lĂ€htenyttĂ€ ihmistĂ€ tai vanhaa vaihdetta. Nyt sivulta juuri nĂ€hty tulee ensin ja listan tieto perĂ€ssĂ€. MikÀÀn ei katoa, mutta vanha tieto ei enÀÀ esiinny tuoreena havaintona. Sama numero eri muodossa ei enÀÀ nĂ€y kahdesti.
- đ Kuollut verkkotunnus korvataan nykyisellĂ€. Jos listan verkkotunnus ei aukea lainkaan (firma vaihtoi osoitetta tai domain lakkasi), firman nykyinen sivu etsitÀÀn nimestĂ€ samalla tunnistuksella kuin nimiriveille ja rikastus tehdÀÀn sille. Vanha osoite jÀÀ talteen.
- đ„ Iso lista menee lĂ€pi kokonaan. Tuhannen rivin listasta rikastetaan tuhat firmaa: syötteessĂ€, jonossa eikĂ€ viennissĂ€ ole kattoa. Tutka nĂ€yttÀÀ tuhat viimeisintĂ€ palloa, mutta liidit eivĂ€t rajaudu siihen.
đŹđ§ English
- đ An Excel list is read as a table. Excel used to be read one cell per line, so a single customer row turned into a dozen "companies": street address, note and date were sent to search as company names. Excel now uses the same column mapping as CSV and PDF, so name, website, phone, email, contact person and business ID land in their own fields and other columns are left alone. All sheets are read. The old .xls format is now reported plainly, with the advice to save as .xlsx or CSV.
- đ°ïž An old list's contact no longer outranks the live site. An email or phone from your own list became the card's primary contact even when the company's site showed a fresher one. In a list that is years old that meant a person who had left or a switchboard that had changed. What the site shows now comes first, and the list's value follows. Nothing is lost, but old data no longer poses as a fresh observation. The same number in two formats no longer appears twice.
- đ A dead website is replaced with the current one. If the website in your list does not open at all (the company moved or the domain lapsed), the current site is looked up from the name with the same identity check used for name rows, and enrichment runs against it. The old address is kept.
- đ„ A large list goes through in full. A thousand rows enrich a thousand companies: there is no cap in the input, the queue or the export. The radar shows the last thousand dots, but leads are not limited to that.
1.0.1111
2026-09-081.0.1111 - 2026-09-09 - "Hollantilaisen firman tase tulee syvÀkaivuussa myös ruuhkassa"
đ«đź Suomi
- đŠ Tase tulee syvĂ€kaivuussa, vaikka KVK on ruuhkassa. KVK:n avoin tilinpÀÀtösrajapinta vastasi illan aikana toistuvasti "liikaa kyselyitĂ€" (yhteinen katto kaikille kĂ€yttĂ€jille), ja syvĂ€kaivuu luovutti odotettuaan puoli minuuttia. Nyt syvĂ€kaivuu odottaa vapaan vuoron ja yrittÀÀ vielĂ€ kerran minuutin pÀÀstĂ€, koska kĂ€yttĂ€jĂ€ pyysi juuri sen firman tiedot. Taseen loppusumma, kĂ€yttöomaisuus, oma pÀÀoma ja liikevaihto tulevat kortille.
đŹđ§ English
- đŠ The balance sheet arrives in deep enrichment even under load. KVK's open financial-statement endpoint repeatedly answered "too many requests" through the evening (a cap shared by all users), and deep enrichment gave up after waiting half a minute. It now waits for a free slot and retries once a minute later, because the user asked for that specific company. Balance-sheet total, fixed assets, equity and revenue land on the card.
1.0.1110
2026-09-081.0.1110 - 2026-09-08 - "Brave pysyy hengissÀ koko ajon: uusi yhteys joka pyynnöllÀ, roolihaku ei sammuta BingiÀ, hankintavoittajat saavat domainin"
đ«đź Suomi
- đ Brave ei enÀÀ saa 429:ÀÀ kahdeksan kyselyn jĂ€lkeen. Mitattiin: vaihtuvan proxyn lĂ€pi pidetty yhteys pinnasi yhden lĂ€htö-IP:n, ja Brave sulki sen muutaman kyselyn jĂ€lkeen (200, 200, sitten 429 kaikkiin). Uusi yhteys joka pyynnöllĂ€ antoi 10/10 vastausta. Brave avaa nyt uuden yhteyden joka kyselylle proxyn kautta.
- đ Roolihaku ei enÀÀ sammuta BingiĂ€ ja Yahoota. Pienen firman "CTO linkedin" -haku palauttaa aidon tulossivun, jossa firmaa ei mainita. Se tulkittiin bottimyrkyksi ja moottori jÀÀhdytettiin 90 sekunniksi, kerta toisensa jĂ€lkeen. Roolihakua ei enÀÀ arvioida decoy-vahdilla; löytöhaun myrkky tunnistetaan yhĂ€.
- đ¶ Haku 'rahoitusyritykset' löytÀÀ rahoitusyritykset. Toimialaportti ei tuntenut rahoitusta lainkaan ja pudotti Cityrahoituksen, Nordea Rahoituksen ja Siemens Financial Servicesin kaltaiset firmat hakukonetuloksista. Nyt rahoitus on oma luokka 19 kielellĂ€, ja yhdyssanan pÀÀsana (rahoitusyritykset â rahoitus) kelpaa todisteeksi. Rekisteripuolella haku rajautuu luotonantajiin (pankit, leasing, luotonanto, rahoituspalvelut) eikĂ€ holding- ja rahastoyhtiöihin.
- âïž Suomalaisen firman viralliset tilanteet kortille. SyvĂ€kaivuu hakee PRH:n avoimesta datasta konkurssin, yrityssaneerauksen, selvitystilan ja toiminnan keskeytyksen y-tunnuksella ja nĂ€yttÀÀ ne kortilla ja listalla PRH:n omalla tekstillĂ€ (âïž). VerovelkarekisteriĂ€ ei haeta koneellisesti, koska YTJ:n pelisÀÀnnöt kieltĂ€vĂ€t sen.
- đ Hakemistot louhitaan firmoiksi. Hakukone palauttaa usein hakemisto- ja jĂ€senlistasivuja (bedrijvenpagina, TLN:n jĂ€senlista, gelbeseiten, pagesjaunes). Ne pudotettiin roskana. Nyt niiden firmalinkit (nimi ja domain) nostetaan löytöehdokkaiksi ja tutkitaan normaalisti. Erityisesti maissa, joissa rekisterissĂ€ ei ole toimialaa, tĂ€mĂ€ tuo kymmeniĂ€ firmoja per ajo lisÀÀ. Hakemisto itse ei ole liidi.
- đŠ Hollantilaisen firman tase kortille. SyvĂ€kaivuu lukee firman KVK-numeron sen omalta sivulta ja hakee KVK:n avoimesta tilinpÀÀtösdatasta taseen loppusumman, aineellisen kĂ€yttöomaisuuden (kalusto ja kiinteistöt), oman pÀÀoman ja omavaraisuusasteen, sekĂ€ liikevaihdon jos se on julkaistu. Kortilla uusi rivi ja tuttu rahatulkinta (ohut tase, maksukykyinen). KVK:n raja on yksi kysely minuutissa, joten haku tehdÀÀn syvĂ€kaivuussa liidi kerrallaan; palvelin tĂ€ydentÀÀ taustalla.
- đïž Hankintavoittaja saa domainin. 70 voittajaa per ajo putosi, koska ilmoituksessa ei ole domainia. Voittaja kantaa nyt ilmoitusnumeron tunnisteena, ja domain selvitetÀÀn nimestĂ€ samalla polulla kuin rekisterifirmoille.
đŹđ§ English
- đ Brave no longer gets a 429 after eight queries. Measured: a kept-alive connection through the rotating proxy pinned one exit IP, and Brave closed it after a few queries (200, 200, then 429 for all). A new connection per request gave 10/10 answers. Brave now opens a new connection for every query through the proxy.
- đ Role search no longer shuts down Bing and Yahoo. A "CTO linkedin" search for a small company returns a real result page that does not mention the company. That was judged as bot poison and the engine cooled for 90 seconds, again and again. Role searches are no longer judged by the decoy guard; poison in discovery is still detected.
- đ¶ The search 'financing company' finds financing companies. The industry gate did not know finance at all and dropped companies like Cityrahoitus, Nordea Finance and Siemens Financial Services from search results. Finance is now its own class in 19 languages, and a compound word's head (rahoitusyritykset â rahoitus) counts as evidence. On the register side the search narrows to lenders (banks, leasing, credit, financial services) rather than holding companies and funds.
- âïž A Finnish company's official situations on the card. Deep enrichment fetches bankruptcy, restructuring, liquidation and business interruption from PRH open data by business ID and shows them on the card and list in PRH's own words (âïž). The tax-debt register is not fetched programmatically because YTJ's rules forbid it.
- đ Directories are mined for companies. Search engines often return directory and member-list pages (bedrijvenpagina, the TLN member list, gelbeseiten, pagesjaunes). These were dropped as junk. Their company links (name and domain) are now raised as discovery candidates and examined normally. Especially in countries whose register has no industry code this adds dozens of companies per run. The directory itself is not a lead.
- đŠ A Dutch company's balance sheet on the card. Deep enrichment reads the company's KVK number from its own site and fetches, from KVK's open financial-statement data, the balance-sheet total, tangible fixed assets (fleet and property), equity and equity ratio, plus revenue when published. A new line on the card and the familiar money reading (thin balance sheet, able to pay). KVK allows one query per minute, so it runs in deep enrichment one lead at a time; the server fills in the rest in the background.
- đïž A contract winner gets a domain. 70 winners per run were dropped because the notice has no domain. The winner now carries the notice number as its identifier, and the domain is resolved from the name on the same path as register companies.
1.0.1109
2026-09-081.0.1109 - 2026-09-08 - "EnemmÀn firmoja ja koko lista nÀyttökielellÀ: Brave ei pursketa, kontekstiton rivi tutkitaan, hankintavoittaja on aina voittaja"
đ«đź Suomi
- đ Lista on aina nĂ€yttökielellĂ€. Signaalisarake nĂ€ytti sivun oman lauseen sivun kielellĂ€ ("Ons wagenpark bestaat uit 25 vrachtwagens"). Nyt vieraskielisestĂ€ sivusta nĂ€ytetÀÀn suomeksi mitĂ€ löytyi (Kalusto: kuorma-autot, perĂ€vaunut), ja sivun oma lause on tooltipissa ja kortilla lĂ€hteen kanssa. Suomalaisen sivun lause nĂ€kyy edelleen sellaisenaan. Sama englanniksi ja venĂ€jĂ€ksi.
- đ Brave pysyy hengissĂ€ koko ajon. Roolihaku ja löytöhaku lĂ€hettivĂ€t Bravelle 12 kyselyĂ€ 10 sekunnissa, Brave vastasi 429 ja moottori oli poissa 90 sekuntia kesken löytöhaun. Nyt kaikilla Brave-kutsuilla on yhteinen minimivĂ€li, joten purskeita ei synny.
- đłïž Firma, josta hakukone ei antanut otsikkoa, tutkitaan sivulta. Aitoja kuljetusliikkeitĂ€ (esim. Neele-Vat, Raben, Kuhlman) putosi toimialaportissa vain siksi, ettĂ€ rivillĂ€ ei ollut mitÀÀn tekstiĂ€ luettavaksi. Nyt tĂ€llainen rivi ei tule pisteenĂ€ tutkalle, mutta sen sivu luetaan ja toimiala pÀÀtetÀÀn sivun omasta tekstistĂ€. Roska putoaa edelleen.
- đïž Hankintavoittaja on aina voittaja. Hollannin hankintailmoituksista nousi 72 "voittajaa", jotka olivat ostajia (Gemeente Rotterdam, Rijkswaterstaat). Ilman voittajaa riviĂ€ ei enÀÀ nĂ€ytetĂ€, ja nimet luetaan oikein monikielisistĂ€ ilmoituksista.
đŹđ§ English
- đ The list is always in your display language. The signal column showed the site's own sentence in the site's language. A foreign-language site now shows what was found in your language (Fleet: trucks, trailers), with the site's own sentence in the tooltip and on the card with the source. A sentence from a site in your language is still shown as is. Same in Finnish and Russian.
- đ Brave stays alive for the whole run. Role search and discovery sent Brave 12 queries in 10 seconds, Brave answered 429 and the engine was gone for 90 seconds mid-discovery. All Brave calls now share a minimum interval, so bursts no longer happen.
- đłïž A company the search engine gave no title for is examined from its site. Real hauliers (e.g. Neele-Vat, Raben, Kuhlman) dropped at the industry gate only because the row had no text to read. Such a row no longer appears as a radar dot, but its site is read and the industry is decided from the site's own text. Junk is still dropped.
- đïž A contract winner is always the winner. Dutch tender notices produced 72 "winners" that were buyers (Gemeente Rotterdam, Rijkswaterstaat). Rows without a winner are no longer shown, and names are read correctly from multilingual notices.
1.0.1108
2026-09-081.0.1108 - 2026-09-08 - "Hakukoneet eivÀt enÀÀ kaadu omaan sensoriinsa: yksi 429 nimihaussa ei sammuta löytöhakua"
đ«đź Suomi
- đ Brave ei enÀÀ sammu koko ajoksi yhdestĂ€ nimihaun 429:stĂ€. Nimihaun (yksittĂ€isen firman domainin selvitys) saama torjunta jÀÀhdytti myös löytöhaun Braven 90 sekunniksi, vaikka löytöhaku oli juuri antanut tuloksia. Sen pÀÀlle ohitetut kyselyt laskettiin epĂ€onnistumisiksi ja katkaisija sammutti Braven toistamiseen. Nyt nimihaulla on oma jÀÀhy, se tahdistuu kuten löytöhaku, ja jÀÀhyllĂ€ olevan moottorin ohitus ei ole epĂ€onnistuminen. Sama korjaus Googlen nimihaulle.
- đ Aito moottori ei enÀÀ saa vÀÀrÀÀ decoy-tuomiota. Roolihaun firmatunnus kirjoitetaan yhteen (kennehlogistics), mutta hakutulos kirjoittaa nimen sanoina (Kenneh Logistics). Vahti tuomitsi tuloksen bottimyrkyksi ja jÀÀhdytti moottorin. Nyt vertailu tehdÀÀn myös tiivistetyllĂ€ muodolla. Oikea myrkky (ei yhtÀÀn osumaa) tuomitaan yhĂ€.
- đïž Hankintavoittajat eivĂ€t putoa toimialaportissa. Julkisen hankinnan voittajan toimialatodiste on sopimuksen otsikossa ja CPV-sektorissa, ei firman nimessĂ€. Portti lukee nyt ne.
đŹđ§ English
- đ Brave no longer shuts down for the whole run after one 429 in a name lookup. A refusal in the single-company domain lookup also cooled the discovery Brave for 90 seconds, although discovery had just returned results. On top of that, skipped queries were counted as failures and the circuit breaker disabled Brave again. The lookup now has its own cooldown, paces like discovery, and skipping a cooled engine is not a failure. Same fix for the Google lookup.
- đ A genuine engine no longer gets a false decoy verdict. The role search writes the company token as one word (kennehlogistics) while the result writes it as words (Kenneh Logistics). The guard judged the result as bot poison and cooled the engine. The comparison now also uses a compacted form. Real poison (no hits at all) is still caught.
- đïž Public-contract winners no longer drop at the industry gate. A tender winner's industry evidence is in the contract title and CPV sector, not in the company name. The gate now reads them.
1.0.1107
2026-09-081.0.1107 - 2026-09-08 - "Toimialaportti tuntee 19 kieltÀ: omakieliset firmat eivÀt enÀÀ putoa"
đ«đź Suomi
- đ Haku antoi vain muutaman firman maissa, joiden rekisterissĂ€ ei ole toimialakoodia. Esimerkiksi Hollannissa 'logistics company' pudotti yhdessĂ€ ajossa 489 firmaa "ei toimialatodistetta", mukana aitoja kuljetusliikkeitĂ€ kuten pol-transport.nl. Syy: toimialasanasto oli suomeksi ja englanniksi, eikĂ€ logistiikan listassa ollut edes sanaa "transport". Nyt kaikilla 13 toimialaluokalla on kantasanasto 19 kielelle, ja hakusanan oma pÀÀsana (logistics, logistiek, bouw) kelpaa todisteeksi. Roska (uutissivut, kaupunkiportaalit, vĂ€littĂ€jĂ€t) putoaa edelleen.
- đđą Kalusto ja omaisuus nĂ€kyvĂ€t listan ikonijonossa. Kuorma-auto = kalusto, toimistotalo = omaisuus, sivun oma lause tooltipissa ja kortilla.
đŹđ§ English
- đ Searches returned only a handful of companies in countries whose register has no industry code. In the Netherlands, 'logistics company' dropped 489 companies in one run as "no industry evidence", including real hauliers such as pol-transport.nl. Cause: the industry vocabulary was Finnish and English only, and the logistics list did not even contain "transport". All 13 industry classes now carry stems for 19 languages, and the keyword's own head word (logistics, logistiek, bouw) counts as evidence. Junk (news sites, city portals, brokers) is still dropped.
- đđą Fleet and assets appear in the list's icon row. Truck = fleet, office building = assets, with the site's own sentence in the tooltip and on the card.
1.0.1106
2026-09-081.0.1106 - 2026-09-08 - "LISTA ei jÀÀ pÀÀlle, kalusto-signaali asetuksiin, ohut tase ei ole maksukyky"
đ«đź Suomi
- đȘ€ Uusi haku kĂ€ynnistyy aina, vaikka LISTA-nappia olisi painettu. Jos LISTA-tila oli jÀÀnyt pÀÀlle (peruutettu tiedostodialogi tai aiempi lista-ajo), seuraava HAE lĂ€hetti hakusanan yhden firman nimenĂ€ ja "ajo" pÀÀttyi parissakymmenessĂ€ sekunnissa tyhjĂ€nĂ€. Nyt LISTA on kertakĂ€yttöinen (yksi lista = yksi ajo), se tyhjentÀÀ kentĂ€stĂ€ edellisen hakusanan, ja sama sana jolla juuri haettiin menee aina toimialahakuun.
- đ Kalusto-signaali. Atlas poimii firman omilta sivuilta sanatarkasti maininnat kalustosta (kuorma-autot, perĂ€vaunut, trukit, kaivinkoneet, nosturit, ajoneuvokalusto) ja nĂ€yttÀÀ ne kortilla lĂ€hteen kanssa. Signaalin voi kytkeĂ€ pois Asetukset â MitĂ€ Atlas kaivaa. Toimii kaikilla latinalaisilla kielillĂ€ (fi, en, sv, no, da, de, nl, fr, es, pt, it, pl, cs, sk, hu, ro, et, lv, lt). Kuorma-autokauppias ei leimaudu kalustoksi.
- đ Omaisuus-signaali. Sama periaate firman omaisuudelle: oma kiinteistö, omat toimitilat, tehdas, tuotantolaitos, varasto tai tontti nĂ€kyy kortilla sivun omalla lauseella ja lĂ€hteellĂ€, toimialasta riippumatta. KiinteistönvĂ€littĂ€jĂ€n listaus tai myynti-/vuokrailmoitus ei ole omaisuutta. KytkettĂ€vissĂ€ pois samasta asetuksesta. Jos sivulla ei lue mitÀÀn, kortilla lukee ettei tietoa ole; Atlas ei arvaa.
- đ¶ Ohut tase ei ole "maksukykyinen". Omavaraisuusaste 11 % ja verotettava tulo 5 000 euroa ilman liikevaihtoa tuotti "Maksukykyinen, raha ei ole este". Nyt kortti sanoo, ettĂ€ tase on ohut ja rahoitustarve todennĂ€köinen, tai ettĂ€ luvut ovat pieniĂ€. "Maksukykyinen" vaatii omavaraisuuden vĂ€hintÀÀn 40 % ja aidon liikevaihto- tai verotulopohjan.
đŹđ§ English
- đȘ€ A new search always starts, even after the LIST button was pressed. If LIST mode was left on (a cancelled file dialog or an earlier list run), the next SEARCH sent the keyword as a single company name and the "run" ended empty within seconds. LIST is now one-shot (one list = one run), it clears the previous keyword from the field, and the word you just searched with always goes to an industry search.
- đ Fleet signal. Atlas picks up verbatim mentions of a company's own fleet (trucks, trailers, forklifts, excavators, cranes, vehicle fleet) from its website and shows them on the card with the source. Switch it off under Settings â What Atlas digs for. Works across Latin-script languages (fi, en, sv, no, da, de, nl, fr, es, pt, it, pl, cs, sk, hu, ro, et, lv, lt). A truck dealer is not flagged as a fleet.
- đ Assets signal. The same principle for what a company owns: its own property, premises, factory, production facility, warehouse or land appears on the card in the site's own words with the source, regardless of industry. A real-estate agent's listing or a for-sale/for-rent notice is not an asset. Can be switched off in the same setting. If the site says nothing, the card says there is no data; Atlas does not guess.
- đ¶ A thin balance sheet is not "able to pay". Equity ratio 11 % and taxable income 5 000 euro with no revenue produced "Able to pay, money is no obstacle". The card now says the balance sheet is thin and financing need is likely, or that the numbers are small. "Able to pay" requires equity of at least 40 % and a real revenue or taxable-income base.
1.0.1105
2026-09-081.0.1105 - 2026-09-08 - "Laskuririvi mahtuu ruudulle: viisi mittaria ilman pÀÀllekkÀisiÀ tekstejÀ"
đ«đź Suomi
- đïž MIKSI NYT -laskuri nĂ€yttÀÀ oikean luvun. Hakuajon liidit eivĂ€t saaneet julkisia tietoja (hankintavoitot, verotiedot) lainkaan, vain syvĂ€kaivuu toi ne myöhemmin, eikĂ€ laskuri pĂ€ivittynyt silloin. Nyt jokainen liidi tarkistetaan ajon aikana ja laskuri sekĂ€ kartan korostus pĂ€ivittyvĂ€t myös kun tieto tulee myöhemmin.
- đą Mittarien tekstit eivĂ€t enÀÀ mene pÀÀllekkĂ€in. Viides mittari (MIKSI NYT) ahtoi rivin niin, ettĂ€ HOT, VERIFIOITU, SĂHKĂPOSTIT ja PĂĂTTĂJĂT piirtyivĂ€t toistensa pÀÀlle. Tekstit ovat nyt pienemmĂ€llĂ€, rivittyvĂ€t tavuviivasta ja pienenevĂ€t automaattisesti jos tila ei riitĂ€. Sama korjaus suomeksi, englanniksi ja venĂ€jĂ€ksi.
đŹđ§ English
- đïž The WHY NOW counter shows the real number. Leads from a search run never received public data (contract wins, tax records); only deep enrichment fetched it later, and the counter did not update then. Every lead is now checked during the run, and the counter and map highlight update when the data arrives later too.
- đą Counter labels no longer overlap. The fifth counter (WHY NOW) squeezed the row so HOT, VERIFIED, EMAILS and DECISION MAKERS drew over each other. Labels are now smaller, wrap at a hyphen and shrink automatically when space runs out. Same fix in Finnish, English and Russian.
1.0.1104
2026-09-081.0.1104 - 2026-09-08 - "Kortti ei enÀÀ vÀitÀ vastakkaisia: ykköskohde vaatii pÀivÀtyn syyn, pieni liikevaihto ei ole vahva tase, koko kortti nÀyttökielellÀ"
đ«đź Suomi
- đ§Ÿ YKKĂSKOHDE vaatii pĂ€ivĂ€tyn syyn. Aiemmin kortti saattoi sanoa ylhÀÀllĂ€ "ei ostosignaalia, kylmĂ€ kontakti" ja alhaalla "ykköskohde, soita ensimmĂ€isenĂ€ tĂ€nÀÀn". Nyt ykköskohde syntyy vain kun mukana on pĂ€ivĂ€tty tapahtuma (rahoitus, laajentuminen, hankintavoitto, myyntirekry). PÀÀttĂ€jĂ€, suora numero ja puuttuva CRM kertovat miten soittaa, eivĂ€t miksi nyt.
- đ¶ Pieni liikevaihto ei ole vahva tase. Prosenttikasvu tai omavaraisuusaste 18 000 euron liikevaihdolta ei enÀÀ tuota "pystyy investoimaan" tai "rahoituskyky" -riviĂ€. Kortti sanoo rehellisesti, ettĂ€ luvut ovat pieniĂ€, ja ohjaa katsomaan verotettavaa tuloa ja pÀÀttĂ€jÀÀ.
- đ Koko kortti nĂ€yttökielellĂ€. MIKSI HOT -todiste ja yhteydenottopolku ("hae X LinkedInistĂ€") nĂ€kyvĂ€t nyt suomeksi, englanniksi ja venĂ€jĂ€ksi valinnan mukaan.
- âïž Avausviesti korjattu. "Löysin Antti yrityksestĂ€âŠ" on nyt "Löysin yrityksesiâŠ".
- đ§ TalouslĂ€hteet kevyemmĂ€llĂ€ reitillĂ€. Kauppalehti ja Fonecta haetaan ensisijaisesti kiinteĂ€n kotiyhteyden kautta, jotta rajallinen vaihtuva kaista sÀÀstyy niille lĂ€hteille jotka sitĂ€ oikeasti tarvitsevat.
đŹđ§ English
- đ§Ÿ PRIME TARGET requires a dated reason. A card could previously say "no buying signal, cold contact" at the top and "prime target, call first today" at the bottom. Prime target now needs a dated event (funding, expansion, contract win, sales hiring). A decision maker, a direct number and a missing CRM tell you how to call, not why now.
- đ¶ Small revenue is not a strong balance sheet. Percentage growth or equity ratio on a 18 000 euro revenue base no longer produces "able to invest" or "financial capacity" lines. The card says the numbers are small and points to taxable income and the decision maker.
- đ The whole card in your language. The WHY HOT evidence and the contact path ("find X on LinkedIn") now follow the selected language in Finnish, English and Russian.
- âïž Opening message fixed. The awkward "Found Antti atâŠ" wording is now "I came across your companyâŠ".
- đ§ Financial sources on the lighter route. Kauppalehti and Fonecta are fetched primarily over the fixed home connection so the limited rotating bandwidth is kept for the sources that truly need it.
1.0.1103
2026-09-071.0.1103 - 2026-09-07 - "MIKSI NYT: hankintavoitto nostaa kÀrkeen, julkiset tiedot tulevat perille, rekry-signaali toimii taas"
đ«đź Suomi
- đïž Julkinen hankintavoitto nousee syötteen kĂ€rkeen. Firma joka on juuri voittanut julkisen hankinnan on pĂ€ivĂ€tty ostotapahtuma: raha on myönnetty ja toimitus alkaa. Se nĂ€kyy nyt signaalina kortilla, laskee YKKĂSKOHDE-yhdistelmÀÀn ja nostaa firman listan kĂ€rkeen. Suomessa nĂ€itĂ€ firmoja on tĂ€llĂ€ hetkellĂ€ yli 2 500.
- đ Uusi MIKSI NYT -laskuri. Oikean reunan viides painike nĂ€yttÀÀ montako firmaa haussa on saanut pĂ€ivĂ€tyn syyn viimeisen vuoden aikana, ja klikkaus korostaa juuri ne kartalta.
- đŹ Julkiset tiedot tulevat perille joka kerta. Hankintavoitot ja verotiedot saattoivat kadota ajon ensimmĂ€isiltĂ€ liideiltĂ€ ilman jĂ€lkeĂ€. Palvelin vastaa nyt sadasosasekunneissa, asiakas yrittÀÀ kerran uudestaan, ja jos jotain silti hĂ€viÀÀ, se kerrotaan ajon perÀÀn.
- đ§âđŒ Rekrytointisignaali toimii taas asiakaskoneella. Avoimet työpaikat jĂ€ivĂ€t aiemmin nĂ€kymĂ€ttĂ€ koska haku jonotti muun liikenteen perĂ€ssĂ€ ja aikakatkaistiin. Nyt haku vastaa alle puolessa sekunnissa, ja firman oma urasivu nĂ€kyy kortilla.
- đ Todiste lukijan kielellĂ€. Signaalin perustelu poimitaan nyt sillĂ€ kielellĂ€ jolla kĂ€ytĂ€t Atlasta, ei sivuston ensimmĂ€isestĂ€ kieliversiosta. Teknologiapinoa ei enÀÀ arvata sanan osasta.
đŹđ§ English
- đïž A won public contract goes to the top of the feed. A company that just won a public tender is a dated buying event: money is granted and delivery starts. It now shows as a signal on the card, counts toward the PRIME TARGET combination and lifts the company to the top of the list. Finland alone has more than 2 500 such companies right now.
- đ New WHY NOW counter. The fifth button on the right shows how many companies in this search have a dated reason from the last year, and clicking it highlights exactly those on the map.
- đŹ Public data arrives every time. Contract wins and tax records could silently vanish from the first leads of a run. The server now answers in hundredths of a second, the client retries once, and if anything is still lost it is reported after the run.
- đ§âđŒ Hiring signal works again on customer machines. Open positions went unseen because the lookup queued behind other traffic and timed out. It now answers in under half a second, and the company's own careers page shows on the card.
- đ Evidence in the reader's language. The reasoning behind a signal is now taken in the language you use Atlas in, not from whichever language version of the site came first. Tech stacks are no longer guessed from word fragments.
1.0.1102
2026-09-071.0.1102 - 2026-09-07 - "Sivuhaku avaa enemmÀn kohteita: kuollut sivu tunnistetaan heti, terveitÀ reittejÀ ei hylÀtÀ turhaan"
đ«đź Suomi
- đȘ EnemmĂ€n avautuvia kohdesivuja. Mittasimme saman pĂ€ivĂ€n haun kohteet uudestaan: aiemmin vain harva avautui, nyt kaikki elossa olevat sivut aukeavat. Kuollut sivu (nimi ei toimi, palvelin ei vastaa) tunnistetaan parilla yrityksellĂ€ eikĂ€ sen takia hylĂ€tĂ€ toimivia hakureittejĂ€.
- â±ïž Haku ei enÀÀ yritĂ€ sivua liian lyhyellĂ€ ajalla. Rikastus saa aina vĂ€hintÀÀn puolet aikabudjetista, joten hitaampikin sivu ehtii vastata.
- đ§ Ajon ensimmĂ€iset kortit rikastetaan. Aiemmin ensimmĂ€iset noin kymmenen liidiĂ€ saattoivat tulla ilman sivutietoja, koska haku ehti niihin ennen kuin yhteydet olivat valmiina. Nyt yhteydet odotetaan valmiiksi ennen ensimmĂ€istĂ€ rikastusta.
- đž VĂ€hemmĂ€n turhia pyyntöjĂ€. Hakukone jonka tiedetÀÀn olevan kiinni ohitetaan heti, eikĂ€ siihen kĂ€ytetĂ€ maksettua kaistaa.
đŹđ§ English
- đȘ More target sites open. We re-measured the targets from a same-day search: previously only a few opened, now every site that is alive opens. A dead site (name does not resolve, server does not answer) is recognised after a couple of attempts, and working routes are no longer discarded because of it.
- â±ïž No more attempts with too little time. Enrichment always keeps at least half of the time budget, so even a slower site has time to respond.
- đ§ The first cards of a run are enriched. Previously the first ten or so leads could arrive without site data because the search reached them before connections were ready. Connections are now awaited before the first enrichment.
- đž Fewer wasted requests. A search engine known to be closed is skipped immediately and no paid bandwidth is spent on it.
1.0.1101
2026-09-061.0.1101 - 2026-09-07 - "Mac: pÀivitys otetaan kÀyttöön vasta kun suljet sovelluksen, ei enÀÀ kesken ajon"
đ«đź Suomi
- đ Mac-pĂ€ivitys ei enÀÀ keskeytĂ€ ajoa. Uusi versio ladataan ja tarkistetaan taustalla kuten ennenkin, mutta se otetaan kĂ€yttöön vasta kun suljet Atlaksen. Aiemmin vaihto tehtiin kesken ajon, ja kĂ€ynnissĂ€ oleva sovellus saattoi kaatua ajon pÀÀtyttyĂ€.
- đ PĂ€ivitys ei huku. Jos kone kĂ€ynnistetÀÀn uudelleen ennen kuin pĂ€ivitys ehti asentua, seuraava kĂ€ynnistys viimeistelee sen samasta ladatusta paketista.
- đ Virhetilanteessa vanha versio palautetaan automaattisesti. Uudelleenasennusta ei tarvita.
đŹđ§ English
- đ Mac updates no longer interrupt a run. The new version is downloaded and verified in the background as before, but it is applied only when you quit Atlas. Previously the swap happened mid-run, and the running application could crash when a run finished.
- đ An update is never lost. If the computer restarts before the update was applied, the next launch completes it from the same downloaded package.
- đ On failure the previous version is restored automatically. No reinstall is needed.
1.0.1100
2026-09-061.0.1100 - 2026-09-06 - "Vaikeat sivustot avataan rehellisemmin: verkkovirhe ei ole sivuston vika, estetty reitti vaihdetaan heti jÀreÀmpÀÀn"
đ«đź Suomi
- đȘ Sivuston tavoitettavuus kirjataan rehellisesti. Atlaksen oma hakukerros erottaa nyt, aukesiko sivusto vai katkesiko yhteys matkalla. VerkkovirhettĂ€ ei enÀÀ lasketa sivuston viaksi, joten toimivia sivustoja ei hylĂ€tĂ€ turhaan, ja pysyvĂ€sti suljettuihin ei tuhlata aikaa uudestaan ja uudestaan.
- â±ïž VĂ€hemmĂ€n odottelua estetyillĂ€ sivustoilla. Kun ensimmĂ€inen reitti estyy, siirrytÀÀn heti jĂ€reĂ€mpÀÀn reittiin sen sijaan ettĂ€ samaa yritettĂ€isiin monta kertaa. Maakohtaista reittiĂ€ kĂ€ytetÀÀn vain silloin, kun se on aidosti eri reitti.
- đ Terveysraportti kertoo ovet maittain oikein. Sama sivusto voi aueta eri maista, ja raportti nĂ€yttÀÀ nyt jokaisen maan omat luvut.
đŹđ§ English
- đȘ Site reachability is recorded honestly. The Atlas fetch layer now distinguishes whether a site opened or the connection failed on the way. A network error is no longer counted against the site, so working sites are not discarded needlessly and permanently closed ones no longer waste time again and again.
- â±ïž Less waiting on blocked sites. When the first route is blocked, the next stronger route is used immediately instead of retrying the same one. A country-specific route is used only when it is a genuinely different route.
- đ The health report shows doors per country correctly. The same site can open from different countries, and the report now shows each country's own numbers.
1.0.1099
2026-09-061.0.1099 - 2026-09-06 - "Tukiloki merkitsee jokaisen kÀynnistyksen; julkaisun terveystarkastus lukee vain tuoreen ajon todisteet"
đ«đź Suomi
- đ§Ÿ Sovelluksen loki merkitsee jokaisen kĂ€ynnistyksen alun selvĂ€sti. Kun tuki tutkii ongelmatilannetta, oikea ajo löytyy lokista heti eikĂ€ vanhojen ajojen rivejĂ€ sekoiteta nykyiseen.
- đ©ș Julkaisua edeltĂ€vĂ€ terveystarkastus on tarkempi. Se lukee sovelluksen oikeaa lokia ja vain tuoreen ajon todisteita, joten vanhat, jo korjatut viat eivĂ€t enÀÀ nĂ€y hĂ€lytyksinĂ€. Vanhentunut testitulos ajetaan automaattisesti uudestaan ennen julkaisua.
- đ Sivustojen tavoitettavuus mitataan nyt maittain myös silloin, kun haku ei kerro kohdemaata: maa pÀÀtellÀÀn sivuston omasta maatunnuksesta. KansainvĂ€liset .com-osoitteet jĂ€tetÀÀn rehellisesti ilman maata.
đŹđ§ English
- đ§Ÿ The application log marks the start of every launch clearly. When support investigates an issue, the right run is found immediately and lines from older runs are not mixed into the current one.
- đ©ș The pre-release health check is more accurate. It reads the application's real log and only evidence from a fresh run, so old, already fixed issues no longer show up as alerts. An outdated test result is re-run automatically before release.
- đ Site reachability is now measured per country even when the search does not state the target country: the country is derived from the site's own country code. International .com addresses are honestly left without a country.
1.0.1098
2026-09-051.0.1098 - 2026-09-05 - "Soita AI:lla: Kimiko soittaa liidille puolestasi ja esittÀytyy aina tekoÀlynÀ; nimihaun firma ei enÀÀ katoa roskasuodattimeen"
đ«đź Suomi
- âïž Soita AI:lla -nappi liidikortissa. Jokaisen puhelinnumeron rivillĂ€ on nyt nappi, jolla Atlaksen tekoĂ€lyavustaja Kimiko soittaa liidille puolestasi. Ennen soittoa ajetaan compliance-tarkistus: soittoajat liidin maan paikallisajassa, estolistat, aiemmat vastaukset ja yrityskatto. Tulos kirjautuu liidipankkiin, ja "Ă€lĂ€ soita enÀÀ" -pyyntö vie numeron estolistalle pysyvĂ€sti.
- đ€ Kimiko esittĂ€ytyy aina tekoĂ€lynĂ€. Se kertoo ensimmĂ€isessĂ€ lauseessa olevansa yrityksesi tekoĂ€lymyyntiedustaja ja kenen puolesta se soittaa. Nimi, yritys ja tarjous tulevat Email Setupin lĂ€hettĂ€jĂ€tiedoista. Se ei koskaan esitĂ€ ihmistĂ€ eikĂ€ keksi faktoja, ja sen ainoa tavoite on sopia lyhyt tapaaminen sinulle.
- âïž Asetuksissa oma kortti puhelinpalvelulle. Kunnes puhelinlinja on kytketty, nappi kertoo rehellisesti, ettei puhelua soitettu. MitÀÀn ei soiteta vahingossa.
- đ Nimihaun firma ei enÀÀ katoa. RekisteristĂ€ tai nimihausta löydetty aito yritys, jonka nimessĂ€ on blogisanan kaltainen osuma (esimerkiksi "CASA Blogit Oy"), nĂ€kyi pankissa mutta ei kartalla eikĂ€ syötteessĂ€. Nyt se nĂ€kyy.
đŹđ§ English
- âïž "Call with AI" button on the lead card. Every phone number row now has a button that lets Kimiko, the Atlas AI assistant, call the lead for you. A compliance check runs first: calling hours in the lead's local time, block lists, previous outcomes and an attempt cap. The result is written to the lead bank, and a "do not call again" request puts the number on the block list for good.
- đ€ Kimiko always introduces itself as an AI. In its first sentence it says it is your company's AI sales representative and on whose behalf it is calling. Name, company and offer come from the Email Setup sender details. It never pretends to be human, never invents facts, and its only goal is to book you a short meeting.
- âïž A settings card for the phone service. Until a phone line is connected, the button says honestly that no call was placed. Nothing is dialled by accident.
- đ A company found by name no longer disappears. A real company from the register or a name lookup whose name resembles a junk word (for example "CASA Blogit Oy") was in the bank but not on the map or in the feed. It now shows.
1.0.1097
2026-09-051.0.1097 - 2026-09-05 - "PÀÀttÀjÀt LinkedInistÀ myös proxy-reitillÀ: CTO/CPO-haku kantaa, ja firmasidos vaatii työsuhteen"
đ«đź Suomi
- đŻ Kohderoolien haku LinkedInistĂ€ toimii nyt myös proxy-reitillĂ€. Mitattiin, ettĂ€ asiakaskoneen reitillĂ€ roolikyselyyn vastaavat Brave ja Yahoo, mutta niiden tulokset tulivat ilman otsikkoa ja kuvausta, eikĂ€ haku odottanut niitĂ€. Nyt molemmat luetaan oikein ja ne ovat haun kantajia. TestissĂ€ 15 suomalaisella ohjelmistoyrityksellĂ€ löytyneiden henkilöiden mÀÀrĂ€ nousi 26:sta 59:ÀÀn.
- đ§ Firmasidos vaatii työsuhteen, ei pelkkÀÀ mainintaa. LinkedIn-hakutuloksen kuvauksessa voi olla "katso myös" -lista muista yrityksistĂ€. Nyt henkilö liitetÀÀn yritykseen vain, kun otsikko tai kokemuskenttĂ€ sanoo sen, ja profiilin maa tarkistetaan liidin maasta. TestissĂ€ kaksi vÀÀrĂ€n yrityksen henkilöÀ jĂ€i pois, eikĂ€ Atlas vĂ€itĂ€ ketÀÀn CTO:ksi ilman nimikettĂ€ profiilissa.
- đ Rehellinen syy, kun haku ei tuota. Kun yksikÀÀn hakukone ei vastannut, loki sanoo sen sellaisenaan eikĂ€ vĂ€itĂ€, ettei yrityksellĂ€ ole LinkedIn-jĂ€lkeĂ€.
đŹđ§ English
- đŻ Target-role search on LinkedIn now works on the proxy route. We measured that on the customer route only Brave and Yahoo answer the role query, but their results arrived without title and description, and the search did not wait for them. Both are now parsed correctly and act as carriers. In a test of 15 Finnish software companies the number of people found rose from 26 to 59.
- đ§ Company affiliation requires an employment context, not a mere mention. A LinkedIn result description can carry a "people also viewed" list of other companies. A person is now linked to a company only when the title or the experience field says so, and the profile country is checked against the lead country. Two wrong-company people dropped out in the test, and Atlas never claims a CTO without the title in the profile.
- đ An honest reason when the search yields nothing. When no search engine answered, the log says so instead of claiming the company has no LinkedIn footprint.
1.0.1096
2026-09-051.0.1096 - 2026-09-05 - "Rotating-kaista sÀÀstyy, proxy-liikenne nÀkyy ajon perÀÀn, Mac-pÀivitys vaihtaa bundlen vain kerran ja avaa aina Ohjelmien version"
đ«đź Suomi
- đ§ Liikevaihtotiedot haetaan nyt ensin staattisen proxy-poolin kautta. Mittasimme, ettĂ€ asiakastieto antaa staattisen poolin kautta tĂ€smĂ€lleen saman sivun kuin kalliin rotating-residential-verkon kautta, joten rotating-verkko jÀÀ vain varareitiksi. Yksi suomalainen ajo kulutti aiemmin jopa 5 % kuukauden rotating-kiintiöstĂ€, nyt lĂ€hes nolla. Kortin tiedot eivĂ€t muutu.
- đ Ajon perÀÀn nĂ€kyy proxy-liikenne. Tapahtumaloki kertoo, montako pyyntöÀ ja megatavua meni rotating-residentialin ja staattisen poolin kautta, joten kaistan kuluminen ei ole enÀÀ arvailua.
- đ Mac-pĂ€ivitys vaihtaa bundlen vain kerran per istunto. Aiemmin sama kĂ€ynnissĂ€ oleva appi latasi ja vaihtoi uuden version joka tunti uudestaan, ja toinen kierros saattoi siivota pois juuri ne tiedostot, joista kĂ€ynnissĂ€ oleva appi eli. Nyt vaihto tehdÀÀn kerran, vanha versio sĂ€ilyy varmuuskopiona seuraavaan avaukseen asti, ja jos Dock-kuvake avaa varmuuskopion, Atlas avaa itse Ohjelmien uuden version. PĂ€ivittĂ€jĂ€n tapahtumat nĂ€kyvĂ€t nyt lokissa.
đŹđ§ English
- đ§ Revenue pages now go through the static proxy pool first. We measured that the Finnish credit registry returns exactly the same page through the static pool as through the expensive rotating residential network, so the rotating network is now a fallback only. One Finnish run used up to 5 % of the monthly rotating quota; now it uses close to none. Card data is unchanged.
- đ Proxy traffic shown after every run. The event log states how many requests and megabytes went through rotating residential and through the static pool.
- đ Mac update swaps the bundle once per session. Previously the same running app downloaded and swapped the new version every hour, and a second round could remove the very files the running app depended on. Now the swap happens once, the previous version is kept as a backup until the next launch, and if the Dock icon opens the backup, Atlas opens the new version from Applications itself. Updater events are now written to the log.
1.0.1095
2026-09-051.0.1095 - 2026-09-05 - "Kokeilu nÀyttÀÀ mitÀ sait ja antaa viedÀ sen: 25 rivin vienti, ajon todiste numeroina, pÀÀttÀjien sÀhköpostit ja LinkedIn, varmennus oletuksena"
đ«đź Suomi
- đ Kokeilu saa viedĂ€ 25 parasta liidiĂ€. CSV, HubSpot-tiedosto tai sĂ€hköpostit leikepöydĂ€lle toimivat nyt ilmaisen ajon jĂ€lkeen 25 parhaalle riville. Aiemmin vienti oli lukittu kokonaan, joten toimisto nĂ€ki satoja liidejĂ€ kartalla eikĂ€ saanut yhtĂ€kÀÀn omaan soittolistaansa. Loput rivit ja uudet ajot vaativat lisenssin, ja nĂ€ytteen jĂ€lkeen ohjelma kertoo montako jĂ€i sen taakse.
- đ Ajon lopussa todiste numeroina. Kun ajo valmistuu, tapahtumaloki kertoo montako liidiĂ€ sai sĂ€hköpostin (ja montako niistĂ€ on henkilökohtaisia ja varmennettuja), puhelimen, nimetyn pÀÀttĂ€jĂ€n ja pĂ€ivĂ€tyn syyn soittaa juuri nyt. Sama luku nĂ€kyy lisenssi-ikkunassa, joten ostaja nĂ€kee mitĂ€ lisenssi avaa ennen kuin maksaa. Kaavasta pÀÀtellyt osoitteet kerrotaan erikseen, niitĂ€ ei lasketa löydetyiksi.
- đ§ PÀÀttĂ€jĂ€n sĂ€hköposti myös rekisteristĂ€ tulleille pÀÀttĂ€jille. Mitattu 21 pĂ€ivĂ€n ajoista: kolmella neljĂ€stĂ€ pÀÀttĂ€jĂ€stĂ€ ei ollut sĂ€hköpostia, ja heistĂ€ kolme neljĂ€stĂ€ tuli kaupparekisteristĂ€, joille firman osoitekaavaa ei koskaan sovellettu. Nyt kaava (esimerkiksi etunimi.sukunimi) sovelletaan jokaiselle nimetylle pÀÀttĂ€jĂ€lle sen jĂ€lkeen kun kaikki lĂ€hteet on yhdistetty. PÀÀtelty osoite merkitÀÀn pÀÀtellyksi ja arvaus arvaukseksi: se ei koskaan nĂ€y varmennettuna eikĂ€ lĂ€hde kylmĂ€postiin ilman palvelimen vahvistusta.
- âïž SĂ€hköpostin varmennus on oletuksena pÀÀllĂ€. Aiemmin se oli pois, joten yhdessĂ€kÀÀn ajossa ei ollut varmennettuja osoitteita. Nyt Atlas koettaa pÀÀttĂ€jĂ€n oman osoitteen ja henkilöosoitteet ensin, ei info@-laatikkoa, ja valinta muistetaan seuraavaan ajoon.
- đ PÀÀttĂ€jĂ€n LinkedIn-profiili yrityksen omalta tiimisivulta. Kun sivulla on linkki profiiliin, jonka osoitteessa on sama etu- ja sukunimi, se liitetÀÀn pÀÀttĂ€jÀÀn. Sivun linkki on todiste, ei arvaus.
- đ Lisenssin aktivointi yhdellĂ€ polulla ja omalla kielellĂ€. Asetukset â Lisenssi avasi aiemmin ikkunan, joka hyvĂ€ksyi vain kehitysavaimen, ja oikea avain sai virheen. Nyt se avaa saman ikkunan kuin ylĂ€palkin avain-nappi. Ikkunassa lukee "Ostitko jo? LiitĂ€ avain tĂ€hĂ€n", ostonapin alla kerrotaan ettĂ€ avain tulee sĂ€hköpostiin ja pitÀÀ liittÀÀ samalla osoitteella jolla maksoit, ja epĂ€onnistumisen syy nĂ€ytetÀÀn suomeksi, englanniksi tai venĂ€jĂ€ksi. Vanhan muodon avaimesta kerrotaan mistĂ€ uuden saa. Ikkuna ei enÀÀ lupaa yhteystietoja jotka kokeilu jo nĂ€yttÀÀ, ja maiden mÀÀrĂ€ on 90.
đŹđ§ English
- đ The trial can export its 25 best leads. CSV, a HubSpot file or emails to the clipboard now work after the free run for the 25 best rows. Export used to be fully locked, so an agency saw hundreds of leads on the map and could not get a single one into its own call list. The rest of the rows and new runs need a licence, and after the sample the app says how many stayed behind it.
- đ Proof in numbers when a run ends. The activity log now states how many leads have an email (and how many of those are personal and verified), a phone, a named decision maker and a dated reason to call now. The same numbers appear in the licence window, so a buyer sees what the licence unlocks before paying. Addresses inferred from the email pattern are reported separately and never counted as found.
- đ§ Decision-maker emails for registry officers too. Measured over 21 days of runs: three out of four decision makers had no email, and three out of four of those came from the business register, where the company email pattern was never applied. The pattern (for example first.last) is now applied to every named decision maker after all sources are merged. An inferred address is marked as inferred and a guess as a guess: it is never shown as verified and never used for cold email without server confirmation.
- âïž Email verification is on by default. It used to be off, so no run ever had a verified address. Atlas now probes the decision maker own address and personal addresses first, not the info@ box, and remembers your choice for the next run.
- đ Decision-maker LinkedIn profiles from the company own team page. When the page links to a profile whose address carries the same first and last name, it is attached to the person. A link on the page is evidence, not a guess.
- đ One activation path, in your language. Settings â Licence used to open a window that accepted only a development key, so a real key got an error. It now opens the same window as the key button in the top bar. The window says "Already bought? Paste your key here", explains under the buy button that the key arrives by email and must be entered with the same address used at checkout, and shows the reason for a failure in Finnish, English or Russian. An old-format key tells you where to get a new one. The window no longer promises contact data the trial already shows, and the country count is 90.
1.0.1094
2026-09-051.0.1094 - 2026-09-05 - "KylmÀposti kirjoitetaan kuin ihminen kirjoittaisi, julkiset hankintavoitot ja verotiedot kortille"
đ«đź Suomi
- đïž Kortti kertoo kun yritys on voittanut julkisen hankinnan. Atlaksen palvelin lukee EU:n hankintailmoitukset (TED) joka pĂ€ivĂ€ ja yhdistÀÀ voittajat yritystunnuksella. Kortilla lukee ostaja, summa ja pĂ€ivĂ€, ja rivi linkittÀÀ ilmoitukseen. Julkista rahaa on juuri myönnetty ja toimitusvelvoite alkaa, joten tĂ€mĂ€ on aito pĂ€ivĂ€tty syy ottaa yhteyttĂ€. Kattaa 30 Euroopan maata, Suomessa noin sata voittajaa pĂ€ivĂ€ssĂ€.
- đ¶ Verotettava tulo ja maksetut verot suomalaisille yrityksille. Verohallinnon julkiset yhteisöverotiedot vuosilta 2023 ja 2024 on yhdistetty Atlaksen palvelimelle. Kun yrityksellĂ€ ei ole liikevaihtoa saatavilla, kortin raharivi nĂ€yttÀÀ verotettavan tulon ja verot lĂ€hteineen. Se koskee kahta kolmesta suomalaisesta liidistĂ€, joilla ei aiemmin ollut yhtÀÀn rahalukua. Kun liikevaihto on, verotieto tĂ€ydentÀÀ samaa riviĂ€.
- đ Atlas ei kutsu ulkoisia palveluita. Molemmat tiedot haetaan Atlaksen omalta palvelimelta yritystunnuksella, samaan tapaan kuin liikevaihtovĂ€limuisti. Ohjelma ei ota yhteyttĂ€ TED:iin eikĂ€ vero.fi:hin.
- âïž KylmĂ€posti kirjoitetaan nyt kuin ihminen kirjoittaisi, ja sillĂ€ on syy. Aiemmin jokainen viesti alkoi samalla anteeksipyynnöllĂ€ ja luetteli vastaanottajan omat luvut laatikossa, mikĂ€ luettiin koneen kirjoittamaksi. Nyt viesti on neljĂ€ lyhyttĂ€ kappaletta: miksi kirjoitan juuri teille, yksi tosi asia teistĂ€, kuka olen ja mitĂ€ teen, ja pieni kysymys josta pÀÀsee myös pois. Syy on sama tapahtuma jonka liidikortti nĂ€yttÀÀ MIKSI NYT -rivillĂ€: voitettu julkinen hankinta ostajan nimellĂ€, avoin rekrytointi rooleineen, juuri julkaistu sivu otsikollaan, uutinen tai vanhentunut sivuston varmenne, josta kertominen on vastaanottajalle palvelus. Kun tapahtumaa ei ole, viesti kertoo millĂ€ hakusanalla yritys löytyi ja mainitsee yhden asian, joka pitÀÀ paikkansa: liikevaihdon kasvun tai kuinka kauan yritys on toiminut. Laskevaa liikevaihtoa, henkilöstömÀÀrÀÀ tai toimialaa ei enÀÀ lueta vastaanottajalle. Sanamuoto vaihtelee vastaanottajien vĂ€lillĂ€, joten sadan viestin erĂ€ ei ole sata kopiota, mutta sama liidi saa aina saman tekstin: esikatselu on se mikĂ€ lĂ€htee. Kaikki 11 kieltĂ€ kirjoitettu uusiksi. Koskee sekĂ€ liidikortin LĂ€hetĂ€ sĂ€hköpostia -nappia ettĂ€ massalĂ€hetystĂ€.
- đ§ Liidikortti ei enÀÀ nĂ€ytĂ€ vanhentunutta viestiluonnosta. SyvĂ€kaivuu tallensi viestin liidille, ja kortti nĂ€ytti sen tuoreen sijaan, jolloin korjattu teksti ei olisi nĂ€kynyt aiemmin kaivetuilla liideillĂ€. Nyt kortti kirjoittaa viestin aina tuoreena; vain palvelimen laatima luonnos sĂ€ilyttÀÀ etusijan.
đŹđ§ English
- đïž The card now says when a company has won a public contract. The Atlas server reads the EU procurement notices (TED) every day and matches winners by company ID. The card shows the buyer, the amount and the date, and the line links to the notice. Public money has just been awarded and a delivery obligation begins, so this is a genuine dated reason to get in touch. Covers 30 European countries, about a hundred winners a day in Finland alone.
- đ¶ Taxable income and taxes paid for Finnish companies. The Tax Administration public corporate tax data for 2023 and 2024 is joined on the Atlas server. When a company has no revenue figure available, the card money line shows taxable income and taxes with the source. That applies to two out of three Finnish leads that previously had no money figure at all. When revenue exists, the tax data completes the same line.
- đ Atlas does not call external services. Both datasets are fetched from the Atlas own server by company ID, the same way as the revenue cache. The app never contacts TED or vero.fi.
- âïž Cold emails now read like a person wrote them, and they carry a reason. Every message used to open with the same apology and list the recipient own figures in a box, which read as machine written. The message is now four short paragraphs: why I am writing to you specifically, one true thing about you, who I am and what I do, and a small question with an easy way out. The reason is the same event the lead card shows on its WHY NOW line: a won public contract with the buyer named, an open position with its role, a page published this month with its title, a news item, or an expired site certificate, where telling them is a favour. When there is no event, the message says which search found the company and mentions one thing that is true: revenue growth or how long the company has been in business. Declining revenue, headcount and industry are no longer read back to the recipient. Wording varies between recipients, so a batch of a hundred is not a hundred copies, but the same lead always gets the same text: the preview is what is sent. All 11 languages rewritten. Applies to both the lead card Send email button and bulk sending.
- đ§ The lead card no longer shows a stale message draft. Deep Dive stored the message on the lead and the card showed that instead of a fresh one, so the corrected text would not have appeared on leads dug earlier. The card now always composes fresh; only a server written draft keeps precedence.
1.0.1092
2026-09-041.0.1092 - 2026-09-05 - "Kortti kertoo pÀivÀtyn tapahtuman myös tavallisesta hausta, tai sanoo ettei sellaista ole"
đ«đź Suomi
- ⥠MIKSI NYT -rivi kertoo nyt tapahtuman ja pÀivÀn, tai sanoo suoraan ettei pÀivÀttyÀ tapahtumaa ole. Aiemmin rivin alla saattoi lukea sÀhköpostiosoite ja teknologialista, vaikka otsikko lupasi syyn soittaa juuri nyt. Nyt rivi lukee saman pÀÀttelyn kuin kortin ATLAS SANOO -lohko ja listan sarake: "Julkaisi uuden sivun: X · 3 pv sitten" tai "Ei pÀivÀttyÀ tapahtumaa 30 vrk sisÀllÀ". TyhjÀ sanotaan ÀÀneen, sitÀ ei enÀÀ tÀytetÀ yhteystiedoilla.
- đ°ïž Sivuston pĂ€ivitykset ja uudet sivut nĂ€kyvĂ€t myös tavallisen haun liideillĂ€. Yrityksen oma sivukartta ja sivujen omat julkaisupĂ€ivĂ€t luettiin aiemmin vain SyvĂ€kaivuussa. Nyt sama tieto tulee jokaisesta hausta samoista sivuista jotka Atlas joka tapauksessa hakee, ilman yhtÀÀn lisĂ€pyyntöÀ. Uusi sivu kerrotaan uutena vain kun sivu itse ilmoittaa julkaisupĂ€ivĂ€nsĂ€; pelkkĂ€ muokkaus kerrotaan muokkauksena.
- đ Varmenteen ja DNS:n pĂ€ivĂ€tyt tapahtumat pÀÀsevĂ€t nyt kortille ja pankkiin asti. Verkkosensori kerĂ€si ne jo, mutta havainto putosi matkalla kĂ€yttöliittymÀÀn, joten "varmenne vanhenee 12 pv pÀÀstĂ€" tai "osti maksullisen varmenteen" ei koskaan nĂ€kynyt. Sama korjaus vartioi nyt jokaista kenttÀÀ jonka kortin pÀÀttely lukee.
- đ§âđŒ Rekrytointi löytyy yrityksen omasta sivukartasta ja työpaikkailmoituksen omista tiedoista. Ura-osio sivukartassa nĂ€kyy nyt todistelinkkinĂ€ ja pĂ€ivĂ€nĂ€ jolloin sitĂ€ on viimeksi koskettu. Sivun oma työpaikkailmoitus (JobPosting) nostaa rekrytoinnin ilmoituksen omalla osoitteella ja pĂ€ivĂ€llĂ€. PelkkĂ€ ura-sivun olemassaolo ei vĂ€itĂ€ avointa paikkaa.
- đ§ SĂ€hköpostin turva-asetukset nĂ€kyvĂ€t signaaleissa. Samasta DNS-kyselystĂ€ jonka Atlas tekee jo nyt luetaan SPF- ja DMARC-tietueet. Kun DMARC puuttuu (mitattu: yli puolella yrityksistĂ€), kortti sanoo sen tarkistettavana rivinĂ€; kun se on valvottu, sekin kerrotaan.
- 𧩠Vanhentunut sivusto tunnistetaan taas oikein. Alatunnisteen vuosiraja oli kiinteÀ 2021, joten vuonna 2026 nelivuotias sivu ei enÀÀ lauennut. Raja on nyt kaksi vuotta nykyhetkestÀ. LisÀksi WordPress-versio luetaan sivun omasta metatiedosta, ja alle 6.0 kerrotaan vanhentuneena.
- đŁ Instagram-seuraajat ja Facebook-tykkĂ€ykset kortille. Yrityksen omalta sivulta linkitetyt profiilit haetaan kerran ja luvut nĂ€ytetÀÀn signaaleissa profiilin linkin kanssa. Pienen yrityksen ainoa julkinen kokomittari sivuston ohella. Some-linkit luetaan nyt myös sivun HTML:stĂ€, ei vain rakenteisesta datasta, joten ne löytyvĂ€t viisi kertaa useammin.
- đ§ NeljĂ€kymmentĂ€ uutta palvelutunnistetta. EvĂ€stekonsentit, chat-, varaus-, maksu-, rekrytointi- ja arvostelupalvelut sekĂ€ sovelluskauppalinkit tunnistetaan toimittajan omasta osoitteesta, eivĂ€t sanoista.
đŹđ§ English
- ⥠The WHY NOW line now states the event and its date, or says plainly that there is none. It could previously show an email address and a technology list under a heading that promised a reason to call right now. The line now reads the same reasoning as the ATLAS SAYS block and the list column: "Published a new page: X · 3 days ago" or "No dated event in the last 30 days". An empty answer is said out loud instead of being filled with contact details.
- đ°ïž Site updates and new pages now show for leads from a normal search. The company sitemap and the pages own publish dates were only read in Deep Dive. The same facts now come from every search, from the pages Atlas fetches anyway, with no extra requests. A page is called new only when the page itself states its publish date; a mere edit is reported as an edit.
- đ Dated certificate and DNS events now reach the card and the lead bank. The network sensor already collected them, but the observation was dropped on its way to the interface, so "certificate expires in 12 days" or "bought a paid certificate" never appeared. The same fix now guards every field the card reasoning reads.
- đ§âđŒ Hiring is found in the company sitemap and in the job posting own data. A careers section in the sitemap now shows as a proof link with the date it was last touched. A page own job posting (JobPosting) raises hiring with the posting address and date. A careers page alone does not claim an open position.
- đ§ Email security settings now appear in the signals. SPF and DMARC records are read from the same DNS lookup Atlas already makes. When DMARC is missing (measured: more than half of companies) the card says so as a verifiable line; when it is enforced, that is stated too.
- đ§© Outdated sites are detected correctly again. The footer year threshold was fixed at 2021, so in 2026 a four year old site no longer triggered. The threshold is now two years from today. The WordPress version is also read from the page own meta tag, and anything below 6.0 is reported as outdated.
- đŁ Instagram followers and Facebook likes on the card. Profiles linked from the company own site are fetched once and the counts are shown in the signals with the profile link. For a small company this is the only public size measure besides the website. Social links are now also read from the page HTML, not only structured data, so they are found five times more often.
- đ§ Forty new service fingerprints. Cookie consent, chat, booking, payment, recruiting and review services plus app store links are recognised from the vendor own address, not from words.
1.0.1091
2026-09-041.0.1091 - 2026-09-04 - "đŻ Liidikortti kertoo miksi soittaa nyt, haku ei enÀÀ jĂ€hmety, viestipohjat vastaanottajan kielellĂ€"
đ«đź Suomi
- đŻ Liidikortin kĂ€rjessĂ€ lukee nyt yhdellĂ€ rivillĂ€ mitĂ€ sanot. Aiemmin kortti kertoi paljon yrityksestĂ€ mutta jĂ€tti myyjĂ€n itse pÀÀttelemÀÀn syyn yhteydenottoon. Nyt ylimpĂ€nĂ€ on yksi lause: mitĂ€ tapahtui ja milloin. Kun pĂ€ivĂ€ttyĂ€ tapahtumaa ei ole, kortti sanoo sen suoraan eikĂ€ esitĂ€ arvausta syynĂ€ â silloin tiedĂ€t heti olla kĂ€yttĂ€mĂ€ttĂ€ aikaa tutkimiseen.
- đ°ïž Atlas huomaa nyt pĂ€ivĂ€tyt tapahtumat yrityksen verkkolĂ€snĂ€olossa. Samasta yhteydestĂ€ jonka Atlas joka tapauksessa avaa nĂ€hdÀÀn: vanhentunut HTTPS-varmenne (sivusto nĂ€yttÀÀ juuri nyt varoituksen jokaiselle kĂ€vijĂ€lle), yrityksen ostama maksullinen varmenne, lĂ€hestyvĂ€ uusiminen, sivuston pĂ€ivitykset yrityksen omasta sivukartasta ja DNS-vyöhykkeen muokkaus. Jokainen rivi kantaa pĂ€ivĂ€mÀÀrĂ€n ja lĂ€hteen.
- đ€ Automaattista ei esitetĂ€ tapahtumana. Ilmaisten varmenteiden uusiutuminen on koneen työtĂ€, ei yrityksen pÀÀtös, joten sitĂ€ ei nĂ€ytetĂ€ syynĂ€ soittaa. Samoin sivun pĂ€ivitys kerrotaan pĂ€ivityksenĂ€ eikĂ€ uutena sivuna â mitattu ero, ei arvaus.
- đ€ Signaalirivit ovat nyt kokonaan omalla kielellĂ€. Suomen kĂ€yttöliittymĂ€ssĂ€ nĂ€kyi yhdistelmĂ€rivejĂ€ joissa osa tekstistĂ€ oli englantia. Nyt koko rivi kÀÀntyy, myös signaalien lukumÀÀrĂ€.
- đŁ Listan signaalisarake on luettava. RivillĂ€ saattoi olla toistakymmentĂ€ pientĂ€ kuvaketta perĂ€kkĂ€in, mikĂ€ työnsi itse tekstin pois nĂ€kyvistĂ€. Kuvakkeita nĂ€ytetÀÀn nyt kuusi ja loput kerrotaan lukuna; hiiren alla nĂ€kyy edelleen jokainen havainto omalla rivillÀÀn.
đŹđ§ English
- đŻ The lead card now says in one line why to call right now. It used to tell you a lot about the company and leave you to work out the reason yourself. Now the top line states what happened and when. When there is no dated event, the card says so instead of dressing up a guess as a reason - so you know immediately not to spend time researching.
- đ°ïž Atlas now detects dated events in a company web presence. From the same connection it opens anyway: an expired HTTPS certificate (their site shows a warning to every visitor right now), a paid certificate they bought, an upcoming renewal, site updates from the company own sitemap, and DNS zone edits. Every line carries a date and a source.
- đ€ Automation is not presented as an event. Free certificates renew themselves; that is a machine, not a decision, so it is never shown as a reason to call. Likewise a page change is reported as an update, not as a new page - a measured distinction, not a guess.
- đ€ Signal rows are fully in your language. Combined rows previously mixed English into a Finnish interface. The whole row now translates, including the signal count.
- đŁ The signal column is readable again. A row could carry a dozen small icons in a run, pushing the text itself out of view. Six icons are shown and the rest are counted; the tooltip still lists every observation on its own line.
đ«đź Suomi
- đŹ Atlas kirjaa nyt kylmĂ€postin vastaukset ja perille menemĂ€ttömĂ€t viestit. Aiemmin Atlas etsi vastauksia vain viimeisen vuorokauden ajalta ja vain lukemattomista viesteistĂ€, joten jos luit vastauksen puhelimellasi ennen kuin Atlas ehti, se jĂ€i kirjautumatta pysyvĂ€sti. Nyt vastaukset ja bouncet tunnistetaan 30 vuorokauden ajalta, ne kertyvĂ€t talteen eivĂ€tkĂ€ katoa seuraavassa tarkistuksessa, ja vastaus yhdistetÀÀn oikeaan yritykseen vain jos se on saapunut yhteydenoton jĂ€lkeen.
- âïž Atlas ei enÀÀ merkitse sĂ€hköpostejasi luetuiksi. Vastausten tarkistus luki viestit tavalla joka muutti ne luetuiksi postilaatikossasi. Nyt tarkistus tapahtuu vain lukutilassa eikĂ€ koske viestien tilaan.
- đ Sertifikaattihaku ei enÀÀ katkeile eikĂ€ kuormita. Haku kulkee nyt samaa reittiĂ€ kuin muu tiedonhaku, se odottaa vuoroaan rauhassa ja muistaa jo haetut tulokset. Jos palvelu rajoittaa hakua, Atlas kertoo sen selvĂ€sti eikĂ€ nĂ€ytĂ€ tulosta ikÀÀn kuin yrityksellĂ€ ei olisi sertifikaatteja.
đŹđ§ English
- đŹ Atlas now records cold email replies and bounces. Previously it looked only at the last 24 hours and only at unread messages, so a reply you read on your phone first was lost for good. Replies and bounces are now detected across 30 days, they accumulate instead of being overwritten, and a message counts as a reply only when it arrived after your outreach.
- âïž Atlas no longer marks your emails as read. The reply check used to open messages in a way that flipped them to read in your mailbox. It now reads in read-only mode and never changes message state.
- đ Certificate lookups no longer stall or overload. They travel the same route as other lookups, wait their turn, and reuse results already fetched. If the service rate-limits us, Atlas says so instead of showing an empty result as if the company had no certificates.
đ«đź Suomi
- Haku ei enÀÀ pysÀhdy liidien vÀlissÀ. Jokaisen liidin kohdalla ohjelma jÀi odottamaan taloustietojen hakua ennen kuin jatkoi eteenpÀin, jopa kymmenen sekuntia kerrallaan. SillÀ aikaa myös kaikki muut samaan aikaan kÀynnissÀ olleet haut pysÀhtyivÀt, eivÀtkÀ niiden aikakatkaisut ehtineet laueta. KÀytÀnnössÀ ajon alku oli hidas ja osa hauista raportoi 68 sekunnin kestoja vaikka katto oli 15 sekuntia. Taloustiedot haetaan nyt taustalla ja ne ilmestyvÀt kortille kun ne valmistuvat.
- Massaviestien pohjat tulevat vastaanottajan maan kielellÀ. Aiemmin pohjia oli neljÀ, kolme suomeksi ja yksi englanniksi, ja brasilialainen vastaanottaja sai suomenkielisen viestin. Nyt pohjat ovat kahdellatoista kielellÀ ja kieli valitaan vastaanottajan maasta automaattisesti. Kielen voi myös pakottaa itse uudella valitsimella. Maa jolle kÀÀnnöstÀ ei ole saa englannin, ei koskaan vÀÀrÀÀ kieltÀ.
- Allekirjoitus ja esittely tulevat omista asetuksistasi. Pohjissa luki aiemmin kovakoodattu nimi. Nyt viestin allekirjoitus ja oma esittelysi tulevat Email Setupista, eli asiakkaan viesteissÀ lukee asiakkaan oma nimi. Jos esittelysi on kirjoitettu eri kielellÀ kuin lÀhtevÀ viesti, se jÀtetÀÀn pois eikÀ viestiin sekoitu kahta kieltÀ.
- Maat joissa Atlaksella ei ole paikallista reittiÀ kÀyttÀvÀt nyt rekisteriÀ. Kun haku lÀhtee toisesta maasta, hakukone palauttaa sen maan tuloksia eikÀ kohdemaan yrityksiÀ. NÀissÀ maissa Atlas kokeilee nyt ensin rekisteriÀ, ja siirtyy siihen vain jos rekisteri oikeasti vastaa. Jos rekisteri on tyhjÀ, tavallinen haku jatkuu entiseen tapaan, joten yksikÀÀn maa ei jÀÀ ilman tuloksia.
đŹđ§ English
- Search no longer stalls between leads. For every lead the app waited for a financials lookup before moving on, up to ten seconds at a time. Everything else running at that moment stopped too, and their timeouts could not fire. In practice the start of a run was slow and some lookups reported 68 second durations against a 15 second ceiling. Financials are now fetched in the background and appear on the card when they arrive.
- Bulk message templates come in the language of the recipient country. There used to be four templates, three Finnish and one English, so a Brazilian recipient received a Finnish message. Templates now exist in twelve languages and the language follows the recipient country automatically. You can also force one language with the new selector. A country without a translation gets English, never the wrong language.
- Your signature and pitch come from your own settings. Templates carried a hardcoded name. The signature and your own description now come from Email Setup, so a customer message carries the customer name. If your description is written in a different language than the outgoing message, it is left out rather than mixing two languages in one email.
- Countries with no local route now use the register. When a search leaves from another country, the search engine returns that country results instead of companies in your target country. In those countries Atlas now tries the register first, and switches to it only when the register actually answers. If the register is empty the normal search continues unchanged, so no country is left without results.
1.0.1089
2026-09-041.0.1089 - 2026-09-04 - "đŻ Liidikortti kertoo nyt yhdellĂ€ rivillĂ€ miksi soittaa juuri nyt"
đ«đź Suomi
- đŻ Liidikortin kĂ€rjessĂ€ lukee nyt yhdellĂ€ rivillĂ€ mitĂ€ sanot. Aiemmin kortti kertoi paljon yrityksestĂ€ mutta jĂ€tti myyjĂ€n itse pÀÀttelemÀÀn syyn yhteydenottoon. Nyt ylimpĂ€nĂ€ on yksi lause: mitĂ€ tapahtui ja milloin. Kun pĂ€ivĂ€ttyĂ€ tapahtumaa ei ole, kortti sanoo sen suoraan eikĂ€ esitĂ€ arvausta syynĂ€ â silloin tiedĂ€t heti olla kĂ€yttĂ€mĂ€ttĂ€ aikaa tutkimiseen.
- đ°ïž Atlas huomaa nyt pĂ€ivĂ€tyt tapahtumat yrityksen verkkolĂ€snĂ€olossa. Samasta yhteydestĂ€ jonka Atlas joka tapauksessa avaa nĂ€hdÀÀn: vanhentunut HTTPS-varmenne (sivusto nĂ€yttÀÀ juuri nyt varoituksen jokaiselle kĂ€vijĂ€lle), yrityksen ostama maksullinen varmenne, lĂ€hestyvĂ€ uusiminen, sivuston pĂ€ivitykset yrityksen omasta sivukartasta ja DNS-vyöhykkeen muokkaus. Jokainen rivi kantaa pĂ€ivĂ€mÀÀrĂ€n ja lĂ€hteen.
- đ€ Automaattista ei esitetĂ€ tapahtumana. Ilmaisten varmenteiden uusiutuminen on koneen työtĂ€, ei yrityksen pÀÀtös, joten sitĂ€ ei nĂ€ytetĂ€ syynĂ€ soittaa. Samoin sivun pĂ€ivitys kerrotaan pĂ€ivityksenĂ€ eikĂ€ uutena sivuna â mitattu ero, ei arvaus.
- đ€ Signaalirivit ovat nyt kokonaan omalla kielellĂ€. Suomen kĂ€yttöliittymĂ€ssĂ€ nĂ€kyi yhdistelmĂ€rivejĂ€ joissa osa tekstistĂ€ oli englantia. Nyt koko rivi kÀÀntyy, myös signaalien lukumÀÀrĂ€.
- đŁ Listan signaalisarake on luettava. RivillĂ€ saattoi olla toistakymmentĂ€ pientĂ€ kuvaketta perĂ€kkĂ€in, mikĂ€ työnsi itse tekstin pois nĂ€kyvistĂ€. Kuvakkeita nĂ€ytetÀÀn nyt kuusi ja loput kerrotaan lukuna; hiiren alla nĂ€kyy edelleen jokainen havainto omalla rivillÀÀn.
đŹđ§ English
- đŻ The lead card now says in one line why to call right now. It used to tell you a lot about the company and leave you to work out the reason yourself. Now the top line states what happened and when. When there is no dated event, the card says so instead of dressing up a guess as a reason - so you know immediately not to spend time researching.
- đ°ïž Atlas now detects dated events in a company web presence. From the same connection it opens anyway: an expired HTTPS certificate (their site shows a warning to every visitor right now), a paid certificate they bought, an upcoming renewal, site updates from the company own sitemap, and DNS zone edits. Every line carries a date and a source.
- đ€ Automation is not presented as an event. Free certificates renew themselves; that is a machine, not a decision, so it is never shown as a reason to call. Likewise a page change is reported as an update, not as a new page - a measured distinction, not a guess.
- đ€ Signal rows are fully in your language. Combined rows previously mixed English into a Finnish interface. The whole row now translates, including the signal count.
- đŁ The signal column is readable again. A row could carry a dozen small icons in a run, pushing the text itself out of view. Six icons are shown and the rest are counted; the tooltip still lists every observation on its own line.
đ«đź Suomi
- đŹ Atlas kirjaa nyt kylmĂ€postin vastaukset ja perille menemĂ€ttömĂ€t viestit. Aiemmin Atlas etsi vastauksia vain viimeisen vuorokauden ajalta ja vain lukemattomista viesteistĂ€, joten jos luit vastauksen puhelimellasi ennen kuin Atlas ehti, se jĂ€i kirjautumatta pysyvĂ€sti. Nyt vastaukset ja bouncet tunnistetaan 30 vuorokauden ajalta, ne kertyvĂ€t talteen eivĂ€tkĂ€ katoa seuraavassa tarkistuksessa, ja vastaus yhdistetÀÀn oikeaan yritykseen vain jos se on saapunut yhteydenoton jĂ€lkeen.
- âïž Atlas ei enÀÀ merkitse sĂ€hköpostejasi luetuiksi. Vastausten tarkistus luki viestit tavalla joka muutti ne luetuiksi postilaatikossasi. Nyt tarkistus tapahtuu vain lukutilassa eikĂ€ koske viestien tilaan.
- đ Sertifikaattihaku ei enÀÀ katkeile eikĂ€ kuormita. Haku kulkee nyt samaa reittiĂ€ kuin muu tiedonhaku, se odottaa vuoroaan rauhassa ja muistaa jo haetut tulokset. Jos palvelu rajoittaa hakua, Atlas kertoo sen selvĂ€sti eikĂ€ nĂ€ytĂ€ tulosta ikÀÀn kuin yrityksellĂ€ ei olisi sertifikaatteja.
đŹđ§ English
- đŹ Atlas now records cold email replies and bounces. Previously it looked only at the last 24 hours and only at unread messages, so a reply you read on your phone first was lost for good. Replies and bounces are now detected across 30 days, they accumulate instead of being overwritten, and a message counts as a reply only when it arrived after your outreach.
- âïž Atlas no longer marks your emails as read. The reply check used to open messages in a way that flipped them to read in your mailbox. It now reads in read-only mode and never changes message state.
- đ Certificate lookups no longer stall or overload. They travel the same route as other lookups, wait their turn, and reuse results already fetched. If the service rate-limits us, Atlas says so instead of showing an empty result as if the company had no certificates.
1.0.1088
2026-09-041.0.1088 - 2026-09-04 - "đŻ Liidikortti kertoo nyt yhdellĂ€ rivillĂ€ miksi soittaa juuri nyt"
đ«đź Suomi
- đŻ Liidikortin kĂ€rjessĂ€ lukee nyt yhdellĂ€ rivillĂ€ mitĂ€ sanot. Aiemmin kortti kertoi paljon yrityksestĂ€ mutta jĂ€tti myyjĂ€n itse pÀÀttelemÀÀn syyn yhteydenottoon. Nyt ylimpĂ€nĂ€ on yksi lause: mitĂ€ tapahtui ja milloin. Kun pĂ€ivĂ€ttyĂ€ tapahtumaa ei ole, kortti sanoo sen suoraan eikĂ€ esitĂ€ arvausta syynĂ€ â silloin tiedĂ€t heti olla kĂ€yttĂ€mĂ€ttĂ€ aikaa tutkimiseen.
- đ°ïž Atlas huomaa nyt pĂ€ivĂ€tyt tapahtumat yrityksen verkkolĂ€snĂ€olossa. Samasta yhteydestĂ€ jonka Atlas joka tapauksessa avaa nĂ€hdÀÀn: vanhentunut HTTPS-varmenne (sivusto nĂ€yttÀÀ juuri nyt varoituksen jokaiselle kĂ€vijĂ€lle), yrityksen ostama maksullinen varmenne, lĂ€hestyvĂ€ uusiminen, sivuston pĂ€ivitykset yrityksen omasta sivukartasta ja DNS-vyöhykkeen muokkaus. Jokainen rivi kantaa pĂ€ivĂ€mÀÀrĂ€n ja lĂ€hteen.
- đ€ Automaattista ei esitetĂ€ tapahtumana. Ilmaisten varmenteiden uusiutuminen on koneen työtĂ€, ei yrityksen pÀÀtös, joten sitĂ€ ei nĂ€ytetĂ€ syynĂ€ soittaa. Samoin sivun pĂ€ivitys kerrotaan pĂ€ivityksenĂ€ eikĂ€ uutena sivuna â mitattu ero, ei arvaus.
- đ€ Signaalirivit ovat nyt kokonaan omalla kielellĂ€. Suomen kĂ€yttöliittymĂ€ssĂ€ nĂ€kyi yhdistelmĂ€rivejĂ€ joissa osa tekstistĂ€ oli englantia. Nyt koko rivi kÀÀntyy, myös signaalien lukumÀÀrĂ€.
- đŁ Listan signaalisarake on luettava. RivillĂ€ saattoi olla toistakymmentĂ€ pientĂ€ kuvaketta perĂ€kkĂ€in, mikĂ€ työnsi itse tekstin pois nĂ€kyvistĂ€. Kuvakkeita nĂ€ytetÀÀn nyt kuusi ja loput kerrotaan lukuna; hiiren alla nĂ€kyy edelleen jokainen havainto omalla rivillÀÀn.
đŹđ§ English
- đŻ The lead card now says in one line why to call right now. It used to tell you a lot about the company and leave you to work out the reason yourself. Now the top line states what happened and when. When there is no dated event, the card says so instead of dressing up a guess as a reason - so you know immediately not to spend time researching.
- đ°ïž Atlas now detects dated events in a company web presence. From the same connection it opens anyway: an expired HTTPS certificate (their site shows a warning to every visitor right now), a paid certificate they bought, an upcoming renewal, site updates from the company own sitemap, and DNS zone edits. Every line carries a date and a source.
- đ€ Automation is not presented as an event. Free certificates renew themselves; that is a machine, not a decision, so it is never shown as a reason to call. Likewise a page change is reported as an update, not as a new page - a measured distinction, not a guess.
- đ€ Signal rows are fully in your language. Combined rows previously mixed English into a Finnish interface. The whole row now translates, including the signal count.
- đŁ The signal column is readable again. A row could carry a dozen small icons in a run, pushing the text itself out of view. Six icons are shown and the rest are counted; the tooltip still lists every observation on its own line.
đ«đź Suomi
- đŹ Atlas kirjaa nyt kylmĂ€postin vastaukset ja perille menemĂ€ttömĂ€t viestit. Aiemmin Atlas etsi vastauksia vain viimeisen vuorokauden ajalta ja vain lukemattomista viesteistĂ€, joten jos luit vastauksen puhelimellasi ennen kuin Atlas ehti, se jĂ€i kirjautumatta pysyvĂ€sti. Nyt vastaukset ja bouncet tunnistetaan 30 vuorokauden ajalta, ne kertyvĂ€t talteen eivĂ€tkĂ€ katoa seuraavassa tarkistuksessa, ja vastaus yhdistetÀÀn oikeaan yritykseen vain jos se on saapunut yhteydenoton jĂ€lkeen.
- âïž Atlas ei enÀÀ merkitse sĂ€hköpostejasi luetuiksi. Vastausten tarkistus luki viestit tavalla joka muutti ne luetuiksi postilaatikossasi. Nyt tarkistus tapahtuu vain lukutilassa eikĂ€ koske viestien tilaan.
- đ Sertifikaattihaku ei enÀÀ katkeile eikĂ€ kuormita. Haku kulkee nyt samaa reittiĂ€ kuin muu tiedonhaku, se odottaa vuoroaan rauhassa ja muistaa jo haetut tulokset. Jos palvelu rajoittaa hakua, Atlas kertoo sen selvĂ€sti eikĂ€ nĂ€ytĂ€ tulosta ikÀÀn kuin yrityksellĂ€ ei olisi sertifikaatteja.
đŹđ§ English
- đŹ Atlas now records cold email replies and bounces. Previously it looked only at the last 24 hours and only at unread messages, so a reply you read on your phone first was lost for good. Replies and bounces are now detected across 30 days, they accumulate instead of being overwritten, and a message counts as a reply only when it arrived after your outreach.
- âïž Atlas no longer marks your emails as read. The reply check used to open messages in a way that flipped them to read in your mailbox. It now reads in read-only mode and never changes message state.
- đ Certificate lookups no longer stall or overload. They travel the same route as other lookups, wait their turn, and reuse results already fetched. If the service rate-limits us, Atlas says so instead of showing an empty result as if the company had no certificates.
1.0.1087
2026-09-041.0.1087 - 2026-09-04 - "đŹ Atlas nĂ€kee nyt vastaukset ja bouncet â eikĂ€ koske sĂ€hköposteihisi"
đ«đź Suomi
- đŹ Atlas kirjaa nyt kylmĂ€postin vastaukset ja perille menemĂ€ttömĂ€t viestit. Aiemmin Atlas etsi vastauksia vain viimeisen vuorokauden ajalta ja vain lukemattomista viesteistĂ€, joten jos luit vastauksen puhelimellasi ennen kuin Atlas ehti, se jĂ€i kirjautumatta pysyvĂ€sti. Nyt vastaukset ja bouncet tunnistetaan 30 vuorokauden ajalta, ne kertyvĂ€t talteen eivĂ€tkĂ€ katoa seuraavassa tarkistuksessa, ja vastaus yhdistetÀÀn oikeaan yritykseen vain jos se on saapunut yhteydenoton jĂ€lkeen.
- âïž Atlas ei enÀÀ merkitse sĂ€hköpostejasi luetuiksi. Vastausten tarkistus luki viestit tavalla joka muutti ne luetuiksi postilaatikossasi. Nyt tarkistus tapahtuu vain lukutilassa eikĂ€ koske viestien tilaan.
- đ Sertifikaattihaku ei enÀÀ katkeile eikĂ€ kuormita. Haku kulkee nyt samaa reittiĂ€ kuin muu tiedonhaku, se odottaa vuoroaan rauhassa ja muistaa jo haetut tulokset. Jos palvelu rajoittaa hakua, Atlas kertoo sen selvĂ€sti eikĂ€ nĂ€ytĂ€ tulosta ikÀÀn kuin yrityksellĂ€ ei olisi sertifikaatteja.
đŹđ§ English
- đŹ Atlas now records cold email replies and bounces. Previously it looked only at the last 24 hours and only at unread messages, so a reply you read on your phone first was lost for good. Replies and bounces are now detected across 30 days, they accumulate instead of being overwritten, and a message counts as a reply only when it arrived after your outreach.
- âïž Atlas no longer marks your emails as read. The reply check used to open messages in a way that flipped them to read in your mailbox. It now reads in read-only mode and never changes message state.
- đ Certificate lookups no longer stall or overload. They travel the same route as other lookups, wait their turn, and reuse results already fetched. If the service rate-limits us, Atlas says so instead of showing an empty result as if the company had no certificates.
1.0.1085
2026-09-031.0.1085 - 2026-09-03 - "đ Mac-asennus selkeĂ€ksi: ohjeistava asennusikkuna + sovelluksen oma kuvake"
đ«đź Suomi
- đ Mac-asennus on nyt selkeĂ€. Kun avaat ladatun asennuslevyn, ikkunassa nĂ€kyy nyt ohje ja nuoli: vedĂ€ AtlasForgeX Ohjelmat-kansioon. Aiemmin ikkuna oli tyhjĂ€ eikĂ€ kertonut mitĂ€ tehdĂ€, joten moni jĂ€i ihmettelemÀÀn "missĂ€ se sovellus on".
- đš Sovelluksella on nyt oma kuvake asennuslevyllĂ€ ja Ohjelmissa aiemman yleisen tiedostokuvakkeen sijaan.
- SisÀltÀÀ myös edellisen korjauksen: kartan pallot löytÀvÀt paikkakuntansa heti ensimmÀisellÀ kÀynnistyksellÀ.
- đŹ Liidikortti kertoo nyt myös, mitĂ€ yrityksen palvelin paljastaa itsestÀÀn jo yhteyden avautuessa. Samasta yhteydestĂ€, jonka Atlas joka tapauksessa avaa, luetaan varmenteen vahvistama organisaatio (OV/EV), toimiiko sivuston HTTPS selaimessa vai nĂ€yttÀÀkö se varoituksen, palvelinohjelmisto silloinkin kun sivusto piilottaa sen, palvelimen kÀÀnteisnimi (hosting-vihje), tukeeko salauspino jo post-kvanttiavainvaihtoa ja ilmoittaako palvelin HTTP/3:n. Jokainen rivi kantaa lĂ€hteen ja syyn; mikÀÀn niistĂ€ ei vaikuta pisteisiin. Havainto tallentuu pankkiin, joten samaa firmaa ei mitata uudestaan. Kaikki 90 maata.
đŹđ§ English
- đ Installing on Mac is now clear. When you open the downloaded disk image, the window now shows guidance and an arrow: drag AtlasForgeX onto the Applications folder. Previously the window was blank and did not say what to do, leaving many wondering "where is the app".
- đš The app now has its own icon on the disk image and in Applications instead of the previous generic file icon.
- Also includes the previous fix: map dots find their location right on the first launch.
- đŹ The lead card now also shows what a company's server reveals about itself the moment a connection opens. From the same connection Atlas opens anyway it reads the organization verified by the certificate (OV/EV), whether the site's HTTPS works in a browser or shows a warning, the server software even when the site hides it, the server's reverse name (hosting hint), whether the crypto stack already supports post-quantum key exchange, and whether the server announces HTTP/3. Every row carries its source and reason; none of it affects scoring. The observation is saved to the bank so the same company is not measured twice. All 90 countries.
1.0.1083
2026-09-021.0.1083 - 2026-09-02 - "đ Haku heti kĂ€ynnistyksen jĂ€lkeen ei hukkaa ensimmĂ€isiĂ€ hakujaan"
đ«đź Suomi
- đ Heti ohjelman kĂ€ynnistyksen jĂ€lkeen aloitettu haku ei enÀÀ hukkaa ensimmĂ€isiĂ€ sivuhakujaan. Kun haku alkoi sekunteja kĂ€ynnistyksen jĂ€lkeen, proxy-poolin alustus kilpaili taustatehtĂ€vien kanssa ja osa ensimmĂ€isistĂ€ hauista hylĂ€ttiin ilmoituksella "proxya ei ole". Alustus odotetaan nyt oikein jokaisessa sĂ€ikeessĂ€, ja ensimmĂ€iset haut kulkevat proxyn kautta kuten muutkin.
đŹđ§ English
- đ A search started right after launch no longer loses its first page fetches. When a search began seconds after startup, the proxy pool initialisation raced with background tasks and some of the first fetches were rejected with "no proxy". The initialisation is now awaited correctly in every thread, and the first fetches go through the proxy like all others.
1.0.1082
2026-09-021.0.1082 - 2026-09-02 - "đșïž Aluehaku pitÀÀ maakunnan myös rekisterifirmoilla, löytölista nĂ€yttÀÀ kaiken, vĂ€hemmĂ€n turhaa kaistaa"
đ«đź Suomi
- đșïž Aluerajaus pitÀÀ nyt myös rekisteristĂ€ tulevilla firmoilla. Goldmine-ajossa EtelĂ€-Karjalaan nĂ€kyi kuumana kohteena yritys, jonka kotipaikka on Salossa. Rekisterifirman oma maakunta luetaan nyt aina ja toisen maakunnan firma jÀÀ pois, vaikka sen postitoimipaikkaa ei tunnettaisi kartalta. Jos alueelle ei löydy yhtÀÀn tuoretta firmaa, Atlas ei enÀÀ tĂ€ytĂ€ listaa hiljaa koko maan firmoilla.
- đ·ïž Goldminen toimialarajaus toimii taas. Rekisterifirmat luettiin yhdessĂ€ kohdassa vÀÀrĂ€ssĂ€ muodossa, jolloin toimialasuodatin ohitettiin huomaamatta ja Goldmine saattoi nĂ€yttÀÀ muiden alojen firmoja. Korjattu.
- đ ViimeisimmĂ€t löydöt -lista nĂ€yttÀÀ nyt kaikki ajon firmat. Jos olit tehnyt saman haun aiemmin, liidipankissa jo olevat firmat piilotettiin listasta ja jĂ€ljelle jĂ€i vain kontaktittomia rivejĂ€, vaikka taulukko oli tĂ€ynnĂ€. Nyt pankissa olevat firmat nĂ€kyvĂ€t PANKISSA-merkillĂ€ uusien löytöjen jĂ€lkeen. Uudet ovat edelleen ensin.
- đ TilinpÀÀtöslukujen haku kuluttaa murto-osan kaistasta. Yksi haku saattoi ladata saman talouslukusivun useita kertoja ja hakea tyhjĂ€n tuloksen yhĂ€ uudelleen. Luvut ja myös tyhjĂ€ vastaus muistetaan nyt Y-tunnuksella, joten samaa sivua ei ladata turhaan.
- đ Hakukoneen jÀÀhy pĂ€tee kaikilla haun poluilla. Kun hakukone alkoi antaa vÀÀrennettyjĂ€ tai captcha-vastauksia, osa haun poluista kutsui sitĂ€ silti uudelleen ja poltti proxy-kaistaa tuottamatta mitÀÀn. Nyt jÀÀhdyllĂ€ oleva kone ohitetaan kaikkialla.
- â±ïž Goldmine-ajo ei enÀÀ pysĂ€htele yhteystietotĂ€ydennyksen takia. Alueen yhteystietoindeksin rakentaminen pysĂ€ytti ohjelman useiksi sekunneiksi. Se tehdÀÀn nyt taustalla, ja haku jatkuu.
- đ§č Ajon peruutus ja vaihto toiseen hakuun on siistimpi. Edellisen ajon verkkoyhteydet suljetaan nyt hallitusti ennen uuden aloittamista, eikĂ€ lokiin kerry sisĂ€isiĂ€ virheilmoituksia.
đŹđ§ English
- đșïž The region filter now holds for register companies too. A Goldmine run for South Karelia showed a hot target whose home town is in Salo. A register company's own region is now always read, and a company from another region is left out even when its postal town is unknown to the map. If no fresh company exists in the region, Atlas no longer silently fills the list with companies from the whole country.
- đ·ïž Goldmine's industry filter works again. Register companies were read in the wrong shape at one point, so the industry filter was skipped unnoticed and Goldmine could show companies from other industries. Fixed.
- đ The Latest Discoveries list now shows every company of the run. If you had done the same search before, companies already in your lead bank were hidden from the list and only contactless rows remained, even though the table was full. Banked companies now appear with an IN BANK tag after the new finds. New finds still come first.
- đ Financial statement lookups use a fraction of the bandwidth. One search could download the same financials page several times and refetch an empty result again and again. Figures, and empty answers too, are now remembered by business ID.
- đ An engine's cooldown applies on every search path. When an engine started returning decoy or captcha pages, some paths still called it and burned proxy bandwidth for nothing. A cooled-down engine is now skipped everywhere.
- â±ïž A Goldmine run no longer stalls for contact backfill. Building the regional contact index froze the program for several seconds. It now runs in the background while the search continues.
- đ§č Cancelling a run and switching to another is cleaner. The previous run's network connections are closed properly before the next one starts, and no internal error messages pile up in the log.
1.0.1081
2026-09-021.0.1081 - 2026-09-02 - "đ Toinen haku toimii kuin ensimmĂ€inen, Goldmine pysyy Goldminena, liikevaihdot yhteisestĂ€ muistista"
đ«đź Suomi
- đ° Suomalaisen yrityksen liikevaihto tulee ensin Atlaksen yhteisestĂ€ muistista. Atlaksella on jo kymmeniĂ€ tuhansia suomalaisia tilinpÀÀtöslukuja. Aiemmin jokainen asennus haki liikevaihdon aina uudestaan ulkoisesta lĂ€hteestĂ€, mikĂ€ oli hidasta ja kulutti proxy-kaistaa. Nyt luku kysytÀÀn ensin Atlaksen omalta palvelimelta, ja ulkoista lĂ€hdettĂ€ kĂ€ytetÀÀn vain, jos lukua ei vielĂ€ ole.
- đ€ Sinun hakemasi liikevaihto jÀÀ talteen kaikille. Kun asennuksesi hakee uuden luvun ulkoisesta lĂ€hteestĂ€, se tallentuu Atlaksen yhteiseen muistiin. Seuraava kĂ€yttĂ€jĂ€ saa saman yrityksen luvun heti ilman uutta hakua. Talteen menee vain julkista tilinpÀÀtöstietoa (Y-tunnus, tilikausi, liikevaihto, tulos, henkilöstö), ei mitÀÀn omista liideistĂ€si.
- đ Toinen haku samassa istunnossa ei enÀÀ menetĂ€ hakukoneitaan. Kun ensimmĂ€isen ajon jĂ€lkeen aloitit uuden haun, osa hakukoneista (DuckDuckGo, Startpage ja Atlaksen oma sivuhaku) kaatui sisĂ€iseen lukkovirheeseen ja haku jĂ€i lĂ€hes tyhjĂ€ksi. Syy oli yhteen ajoon sidottu jaettu lukko. Nyt jokainen ajo saa omansa, ja toinen, kolmas ja sadas haku toimivat kuten ensimmĂ€inen.
- đ„ Goldmine ei enÀÀ muutu nimihauksi. Jos hakukenttÀÀn oli jÀÀnyt edellisen haun yrityksen nimi (esimerkiksi "Tehot irti Oy"), Goldmine-ajo haki vain sen yhden firman. Goldmine hakee nyt aina alueen kaikki firmat riippumatta siitĂ€, mitĂ€ kentĂ€ssĂ€ lukee.
- đ Uusi haku alkaa puhtaalta pöydĂ€ltĂ€. Nimihaku ja tarjoushaku nĂ€yttivĂ€t edellisen ajon lukuja (löydetyt, hot-liidit, suppilo). Laskurit nollataan nyt jokaisen ajon alussa reitistĂ€ riippumatta.
- â±ïž Haku ei enÀÀ pysĂ€htele rikastuksen takia. TilinpÀÀtöslukujen ja yhteystietojen haku ajettiin tavalla, joka pysĂ€ytti koko ohjelman 1â6 sekunniksi kerrallaan. Nyt ne kulkevat ohjelman omassa rytmissĂ€ ilman pysĂ€hdyksiĂ€.
- đż Ecosia ei enÀÀ putoa pois vÀÀrĂ€stĂ€ syystĂ€. Ecosian varapolku hylkĂ€si haun ilmoituksella "proxya ei ole", vaikka proxy-pooli oli kĂ€ytettĂ€vissĂ€. Varapolku hakee nyt proxyn poolista ennen luovuttamista.
- đ Oma peruutus ei kirjaudu kaatumiseksi. Kun peruutat ajon, Atlas ei enÀÀ raportoi sitĂ€ virheenĂ€.
đŹđ§ English
- đ° A Finnish company's revenue now comes first from Atlas's shared memory. Atlas already holds tens of thousands of Finnish financial statements. Every installation used to fetch revenue again from an external source, which was slow and used proxy bandwidth. The figure is now asked from Atlas's own server first, and the external source is used only when the figure is not there yet.
- đ€ A revenue figure you fetch is kept for everyone. When your installation fetches a new figure from the external source, it is stored in Atlas's shared memory. The next user gets the same company's figure instantly without a new fetch. Only public financial statement data is stored (business ID, fiscal year, revenue, profit, headcount), nothing from your own leads.
- đ A second search in the same session no longer loses its engines. After the first run, starting a new search made some engines (DuckDuckGo, Startpage and Atlas's own page fetcher) fail on an internal lock error, leaving the search almost empty. The cause was a shared lock tied to one run. Every run now gets its own, so the second, third and hundredth search behave like the first.
- đ„ Goldmine no longer turns into a name search. If the search box still held a company name from the previous search (for example "Tehot irti Oy"), a Goldmine run fetched only that one company. Goldmine now always fetches every company in the area regardless of the box.
- đ A new search starts from a clean slate. Name search and tender search showed the previous run's numbers (found, hot leads, funnel). Counters are now reset at the start of every run on every route.
- â±ïž The search no longer stalls because of enrichment. Financial statement and contact lookups were run in a way that froze the whole program for 1â6 seconds at a time. They now run in the program's own rhythm without pauses.
- đż Ecosia no longer drops out for the wrong reason. Ecosia's fallback path rejected the search with "no proxy" even though the proxy pool was available. The fallback now takes a proxy from the pool before giving up.
- đ Your own cancel is no longer logged as a crash. When you cancel a run, Atlas no longer reports it as an error.
1.0.1080
2026-09-021.0.1080 - 2026-09-02 - "đ Kartta avautuu maapalloon, kuussa uusi kumppani, kokeilujakso ei lukkiudu vahingossa"
đ«đź Suomi
- â±ïž Haku ei enÀÀ hukkaa ensimmĂ€isiĂ€ sekunteja. Aiemmin ensimmĂ€iset sivuhaut saattoivat lĂ€hteĂ€ ennen kuin proxy-pooli oli valmis, jolloin ne jĂ€ivĂ€t tekemĂ€ttĂ€. Nyt haku odottaa poolin valmistumisen ennen ensimmĂ€istĂ€ pyyntöÀ. Ecosia ja Startpage kulkevat lisĂ€ksi Atlaksen omien osoitteiden kautta, joten ne pysyvĂ€t haussa mukana.
- đ Kartta-nĂ€kymĂ€ avautuu koko maapalloon. Aiemmin nĂ€kymĂ€ lensi heti Suomeen, koska tallennettu maavalinta palautettiin ohjelmallisesti ja se laukaisi lennon. Nyt pallo pyörii kunnes itse valitset maan tai alueen valikosta tai klikkaat pallolta; valittu maa hehkuu pallolla jo alussa.
- đ Kuussa uusi kumppani: Tehot irti Oy. Tiedot ovat kaupparekisteristĂ€ ja yrityksen omilta sivuilta (Y-tunnus 3423633-7, Vallesmannintie 70a, Helsinki, liikkeenjohdon konsultointi, perustettu 2024).
- đ Kokeilujakso ei enÀÀ lukkiudu ilman todistetta. Jos tietokoneen laitetunniste muuttui (uusi verkkokortti, telakka tai levy) ja palvelinta ei sillĂ€ hetkellĂ€ tavoitettu, Atlas tulkitsi tilanteen manipulaatioksi ja lukitsi kokeilun pysyvĂ€sti. Nyt lukitus tehdÀÀn vain, kun palvelin nimenomaisesti hylkÀÀ tunnisteen. Verkkokatko tai puuttuva vastaus ei lukitse mitÀÀn.
đŹđ§ English
- â±ïž A search no longer loses its first seconds. The first page fetches could start before the proxy pool was ready and were skipped. The search now waits for the pool before the first request. Ecosia and Startpage also route through Atlas's own addresses, so they stay in the search.
- đ The Map view opens on the whole globe. It used to fly straight to Finland because the saved country selection was restored programmatically and that triggered the flight. The globe now keeps turning until you pick a country or region from the menu or click the globe; the selected country already glows on the globe at start.
- đ A new partner on the Moon: Tehot irti Oy. Details come from the trade register and the company's own site (business ID 3423633-7, Vallesmannintie 70a, Helsinki, management consulting, founded 2024).
- đ The trial no longer locks itself without proof. If the computer's hardware ID changed (new network adapter, dock or disk) while the server could not be reached, Atlas treated it as tampering and locked the trial permanently. The lock now happens only when the server explicitly rejects the ID. A network outage or a missing answer never locks anything.
1.0.1079
2026-09-021.0.1079 - 2026-09-02 - "đ Viikkoraportti tekijöittĂ€in, jokainen hakukone mukana proxyillakin, proxy-pooli ei sammu vÀÀrĂ€stĂ€ hĂ€lytyksestĂ€"
đ«đź Suomi
- đ Viikkoraportti on rakennettu uudelleen. Aiemmin se nĂ€ytti neljĂ€ lukua ja yhden tekijĂ€rivin. Nyt se erittelee jokaisen kirjatun toimen tekijöittĂ€in (puhelut, WhatsApp, sĂ€hköpostit), tulokset (vastaukset, palaverit, tarjoukset, kaupat), avoimet ja erÀÀntyneet seurannat sekĂ€ viikon uudet liidit, kolmella kielellĂ€.
- đ Ecosia ja Startpage pysyvĂ€t mukana myös proxyjen kautta. EdellisessĂ€ versiossa nĂ€mĂ€ hakukoneet jĂ€ivĂ€t pois, jos asennuksella ei ollut erillistĂ€ residential-osoitetta, koska niiden vanha reitti oli oma verkko-osoite. Nyt ne kĂ€yttĂ€vĂ€t Atlaksen proxy-poolia, jonka lĂ€pi ne on mitattu toimiviksi.
- đ©ș Proxy-pooli pysyy tĂ€ydessĂ€ kĂ€ytössĂ€ koko haun ajan. Atlas tarkisti proxyjen kunnon haun aikana pienestĂ€ otoksesta, jossa oli tarkoituksella eniten jo lepÀÀmĂ€ssĂ€ olevia osoitteita, ja tuomitsi sen perusteella koko poolin lĂ€hes kuolleeksi. Nyt tuomio lasketaan koko poolista, ja proxy, joka juuri toimi oikeissa hauissa, ei putoa pois pelkĂ€n ruuhkassa hitaan tarkistuksen takia.
đŹđ§ English
- đ The weekly report has been rebuilt. It used to show four numbers and one row per person. It now itemises every logged action per person (calls, WhatsApp, emails), outcomes (replies, meetings, offers, deals), open and overdue follow-ups and the week's new leads, in three languages.
- đ Ecosia and Startpage stay in the search even through proxies. In the previous version these engines dropped out when the installation had no separate residential address, because their old route was your own network address. They now use Atlas's proxy pool, which is measured to work for them.
- đ©ș The proxy pool stays fully in use for the whole search. Atlas used to check proxy health mid-search on a small sample that deliberately contained mostly resting addresses, and judged the whole pool nearly dead from that sample. The verdict now comes from the entire pool, and a proxy that just worked in real requests is no longer dropped because a health probe was slow under load.
1.0.1078
2026-09-021.0.1078 - 2026-09-02 - "đĄïž Haku ja rikastus kulkevat aina Atlaksen omien proxyjen kautta"
đ«đź Suomi
- đĄïž Oma verkko-osoitteesi ei enÀÀ koskaan tee hakuja tai sivuhakuja. Aiemmin osa rikastuksesta (yritysten kotisivut, yhteystietosivut, PDF-tiedostot) haettiin koneesi omalla verkko-osoitteella, ja jos proxy-pooli nĂ€ytti hetkellisesti huonolta, koko ajo saattoi siirtyĂ€ omalle osoitteellesi. Nyt jokainen pyyntö kulkee Atlaksen proxyjen kautta. Jos proxyja ei saada, Atlas ilmoittaa siitĂ€ selvĂ€sti eikĂ€ aja hakua omalla osoitteellasi.
- đ§ Atlas valvoo proxy-kaistan riittĂ€vyyttĂ€ joka aamu. Kiintiön loppuminen kesken kuukauden nĂ€kyy nyt ennakkoon, ei vasta hakujen hiljentyessĂ€.
đŹđ§ English
- đĄïž Your own network address never performs searches or page fetches any more. Part of the enrichment (company home pages, contact pages, PDF files) used to be fetched from your own address, and a proxy pool that looked weak for a moment could move the whole run onto it. Every request now goes through Atlas's proxies. If no proxies are available, Atlas says so clearly instead of running on your address.
- đ§ Atlas checks proxy bandwidth every morning. Running out of quota mid-month is now visible in advance, not only when searches go quiet.
1.0.1077
2026-09-011.0.1077 - 2026-09-01 - "đ Mac pĂ€ivittÀÀ nyt itsensĂ€"
đ«đź Suomi
- đ Mac-versio pĂ€ivittÀÀ itsensĂ€ automaattisesti. TĂ€hĂ€n asti Mac-kĂ€yttĂ€jĂ€ joutui lataamaan uuden asennuspaketin kĂ€sin joka versioon. Nyt Atlas tarkistaa noin tunnin vĂ€lein palvelimelta onko uutta versiota, lataa sen taustalla, varmistaa paketin aitouden kolmella eri tarkistuksella (tarkistussumma, allekirjoitus ja macOS:n oma sinetti) ja vaihtaa sovelluksen valmiiksi. Uusi versio on kĂ€ytössĂ€ seuraavalla avauskerralla, aivan kuten Windowsissa. Jos jokin menee vikaan kesken vaihdon, vanha versio palautetaan automaattisesti eikĂ€ mitÀÀn tarvitse asentaa uudelleen. TĂ€mĂ€ versio on viimeinen jonka Mac-kĂ€yttĂ€jĂ€ lataa kĂ€sin.
- đȘ Atlaksen oma verkkokerros mittaa nyt oikeaa asiaa. Terveysmittari kertoi aiemmin montako yritystĂ€ sivun avaaminen vei, ei aukesiko sivu. Nyt se laskee avatut ovet maittain ja erottaa yritysten sivut hakukoneista, joten heikkeneminen nĂ€kyy ennen kuin haku hidastuu.
đŹđ§ English
- đ The Mac version now updates itself. Until now Mac users had to download a new installer by hand for every release. Atlas now checks the server about once an hour, downloads the new version in the background, verifies the package three ways (checksum, signature and the macOS seal) and swaps it in. The new version is active on the next launch, just like on Windows. If anything fails mid-swap, the old version is restored automatically and nothing needs reinstalling. This release is the last one Mac users download by hand.
- đȘ Atlas's own fetch layer now measures the right thing. The health metric used to count how many attempts a page took, not whether it opened. It now counts doors opened per country and separates company sites from search engines, so a decline shows up before searches slow down.
1.0.1076
2026-09-011.0.1076 - 2026-09-01 - "đ Mac nĂ€yttÀÀ samalta kuin Windows, ja kielivalinta osuu koko ohjelmaan"
đ«đź Suomi
- đ Mac-version vĂ€rit kuntoon. Macilla taulukon joka toinen rivi oli valkoinen ja teksti sen pÀÀllĂ€ lukukelvoton, ja vihjelaatikot, napit ja valikot nĂ€yttivĂ€t eri vĂ€reiltĂ€ kuin Windowsilla. Syy: ohjelma antoi kĂ€yttöjĂ€rjestelmĂ€n valita pohjavĂ€rit, ja Mac valitsi ne eri tavalla. Nyt Mac kĂ€yttÀÀ tĂ€smĂ€lleen samaa pohjapalettia ja piirtotyyliĂ€ kuin Windows, myös vaaleassa teemassa, joten teemanappi toimii molemmilla samoin. Windows-versioon tĂ€mĂ€ ei vaikuta.
- đ EnsikĂ€ynnistyksen kielivalinta vaikuttaa heti koko ohjelmaan. Kun valitsit suomen tai venĂ€jĂ€n ensimmĂ€isellĂ€ kĂ€ynnistyksellĂ€, ylĂ€palkki, tilanĂ€ytöt, taulukon otsikot ja napit jĂ€ivĂ€t englanniksi ja vain haun aikana pĂ€ivittyvĂ€t tekstit vaihtuivat kielelle. Kieli kysytÀÀn nyt ennen kuin pÀÀikkuna rakennetaan, joten jokainen teksti on valitulla kielellĂ€ ensimmĂ€isestĂ€ sekunnista alkaen. Aiemmin asennetuilta ei kysytĂ€ mitÀÀn uudelleen.
- đ Teemanappi vaihtaa nyt myös listan vĂ€rit heti. Vaaleaan teemaan vaihtaminen jĂ€tti aiemmin yritysten nimet vaaleiksi vaalealle pohjalle, eli kĂ€ytĂ€nnössĂ€ nĂ€kymĂ€ttömiksi, kunnes seuraava haku rakensi listan uudelleen. Nyt lista pĂ€ivittÀÀ vĂ€rinsĂ€ samalla napinpainalluksella. Samalla vaalean teeman himmeĂ€t aputekstit tummennettiin luettaviksi.
- đ·ïž Signaalikuvakkeet listassa: yksi kuvake, yksi merkitys. Sama kuvake tarkoitti aiemmin montaa asiaa (raha tarkoitti sekĂ€ talouslukuja ettĂ€ puuttuvaa mainontaa, ihmiset sekĂ€ pÀÀttĂ€jiĂ€ ettĂ€ rekrytointia), joten rivin kuvakkeista ei nĂ€hnyt mitĂ€ signaaleja yrityksellĂ€ oikeasti on. Nyt jokaisella signaalilla on oma kuvakkeensa, puuttuvan asian kuvake kertoo suoraan mikĂ€ puuttuu (esim. yliviivattu verkkosivu = ei sivustoa), ja kuvakkeet on eroteltu toisistaan vĂ€ljemmin. Kuvakkeen selitys nĂ€kyy edelleen viemĂ€llĂ€ hiiri rivin pÀÀlle.
đŹđ§ English
- đ Mac colours fixed. On Mac every other table row was white with unreadable text on it, and tooltips, buttons and menus looked different from Windows. The app let the operating system pick the base colours, and Mac picked them differently. Mac now uses exactly the same base palette and drawing style as Windows, in the light theme too, so the theme button behaves the same on both. The Windows version is unaffected.
- đ The first-run language choice now applies to the whole app at once. Choosing Finnish or Russian on the first launch left the top bar, status panels, table headers and buttons in English; only texts refreshed during a search switched language. The language is now asked before the main window is built, so every text is in the chosen language from the first second. Existing installs are not asked again.
- đ The theme button now recolours the list instantly. Switching to the light theme used to leave company names light-on-light, effectively invisible, until the next search rebuilt the list. The list now updates its colours on the same click. The light theme's dim helper texts were also darkened for readability.
- đ·ïž Signal icons in the list: one icon, one meaning. The same icon used to mean several things (money stood for both financials and missing advertising, people for both decision makers and hiring), so the icons on a row didn't tell you which signals a company actually has. Every signal now has its own icon, a missing-item icon shows directly what is missing (e.g. a crossed-out globe = no website), and icons are spaced apart. Hovering a row still explains each icon.
1.0.1075
2026-09-011.0.1075 - 2026-09-01 - "đ Kuu kiertÀÀ maapalloa, ja uutissignaali ei enÀÀ tartu kaimaan"
đ«đź Suomi
- đ Maapallolla on nyt kuu. Kartta-nĂ€kymĂ€n pallo sai seurakseen kuun, joka kiertÀÀ sitĂ€ oikean nĂ€köisesti: se kulkee Maan edestĂ€ ja katoaa sen taakse, ja sen pinnalla nĂ€kyvĂ€t kuun meret, kraatterit ja Tychon sĂ€teet valaistuna samasta suunnasta kuin Maa. Kuussa on kunniapaikalla Atlaksen tekijĂ€ Tarmex Oy ja ensimmĂ€inen yhteistyökumppani Ojakadun Mainostoimisto. Vie hiiri lipun pÀÀlle niin nĂ€et nimen ja kotikaupungin, klikkaa niin saat oikeat yhteystiedot, osoitteen Maassa ja tiedon lĂ€hteen. Kuu vĂ€istyy kun zoomaat maahan tai alueeseen, eikĂ€ se koskaan sekoitu liideihin tai laskureihin.
- đ° Uutissignaali ei enÀÀ tartu vÀÀrÀÀn yritykseen. Yhdysvaltalainen markkinointitoimisto sai "ota yhteyttĂ€ tĂ€nÀÀn" -syyksi japanilaisen dronevideon, koska yrityksen nimi esiintyi videon otsikossa hashtagina. Nyt pelkkĂ€ #hashtag tai @-kahva ei kelpaa uutismaininnaksi, ja otsikko joka on kirjoitettu liidin maalle vieraalla kirjoitusjĂ€rjestelmĂ€llĂ€ (esimerkiksi japaniksi Yhdysvaltain haussa) hylĂ€tÀÀn. Sama vahti siivoaa myös aiemmin tallennetut yritykset ilman uutta ajoa. Maissa joissa kyseinen kirjoitusjĂ€rjestelmĂ€ on kĂ€ytössĂ€ (Japani, VenĂ€jĂ€, Israel ja niin edelleen) uutiset toimivat kuten ennen.
- đ„ "Ota yhteyttĂ€ tĂ€nÀÀn" perustelee vain todellisilla syillĂ€. PelkkĂ€ uutismaininta ilman ostosignaalia nĂ€kyy nyt uutisrivinĂ€, ei syynĂ€ soittaa juuri tĂ€nÀÀn. Uutisen otsikko ei myöskÀÀn toistu samalla rivillĂ€ kahdesti, ja uutisrivi kertoo lĂ€hteen ja pĂ€ivĂ€n.
đŹđ§ English
- đ The Earth now has a Moon. The globe in the Map view is now orbited by a Moon that behaves like the real one: it passes in front of the Earth and disappears behind it, and its surface shows the lunar maria, craters and the rays of Tycho, lit from the same direction as the Earth. The Moon carries a place of honour for the maker of Atlas, Tarmex Oy, and the first partner, Ojakadun Mainostoimisto. Hover a flag to see the name and home town, click it for the real contact details, the address on Earth and the source of the information. The Moon steps aside when you zoom into a country or region, and it never mixes with leads or counters.
- đ° A news signal no longer latches onto the wrong company. A US marketing agency got a Japanese drone video as its "contact today" reason, because the company name appeared in the video title as a hashtag. A bare #hashtag or @handle no longer counts as a news mention, and a headline written in a script foreign to the lead's country (for example Japanese in a US search) is rejected. The same guard also cleans up companies saved earlier, without a new run. Countries where that script is in use (Japan, Russia, Israel and so on) keep working as before.
- đ„ "Contact today" lists real reasons only. A plain news mention without a buying signal now shows as a news line, not as a reason to call today. A headline is no longer repeated twice on the same line, and the news line states the source and the date.
1.0.1074
2026-09-011.0.1074 - 2026-09-01 - "đ¶ PitkĂ€ ajo ei enÀÀ tukehduta verkkoyhteyttĂ€si"
đ«đź Suomi
- đ¶ PitkĂ€ haku ei enÀÀ tukehduta kotiverkkoasi. Atlas jĂ€tti osan kĂ€yttĂ€mistÀÀn verkkoyhteyksistĂ€ sulkematta, koska osa palvelimista katkaisee yhteyden tavalla joka jĂ€ttÀÀ meidĂ€n pÀÀn auki. Tunnin ajossa niitĂ€ kertyi satoja, ja monessa kotireitittimessĂ€ ja 4G/5G-boksissa yhteystaulu tĂ€yttyy siitĂ€. Oire oli hĂ€mÀÀvĂ€: netti "katkoo" vaikka vika oli Atlaksessa, ei operaattorissa. Nyt yhteydet suljetaan heti kun toinen pÀÀ sulkee, ja pitkĂ€ssĂ€ ajossa kĂ€ytetyt yhteydet uusitaan sÀÀnnöllisesti, joten kertymĂ€ ei kasva ajon pituuden mukana.
- đ PitkĂ€ ajo ei enÀÀ kaadu Macilla. macOS rajaa yhden ohjelman yhtaikaiset yhteydet ja tiedostot matalaan lukuun. Atlas nostaa rajan nyt kĂ€ynnistyessÀÀn, joten iso haku ei katkea kesken.
- âïž SĂ€hköposti lĂ€htee myös nykivĂ€llĂ€ mobiiliyhteydellĂ€. LĂ€hetykselle annettiin aiemmin 20 sekuntia, mikĂ€ ei riitĂ€ kun 5G-yhteys kuristuu. Yhdenkin hitaan hetken takia liidi merkittiin turhaan epĂ€onnistuneeksi. Aikaraja on nyt 45 sekuntia ja sÀÀdettĂ€vissĂ€.
đŹđ§ English
- đ¶ A long search no longer chokes your home network. Atlas left some of the network connections it used unclosed, because some servers end a connection in a way that leaves our side open. Over an hour hundreds of them piled up, and many home routers and 4G/5G boxes run out of connection table space because of it. The symptom was misleading: the internet appeared to "drop" while the cause was Atlas, not the operator. Connections are now closed as soon as the other end closes, and in a long run the connections in use are refreshed regularly, so the pile-up no longer grows with the length of the run.
- đ A long run no longer dies on a Mac. macOS limits how many simultaneous connections and files one program may hold, and the default is low. Atlas now raises that limit at startup, so a large search does not cut out midway.
- âïž Email goes out on a stuttering mobile connection too. Sending was previously given 20 seconds, which is not enough when a 5G connection throttles. A single slow moment marked a lead as failed for no reason. The limit is now 45 seconds and adjustable.
1.0.1073
2026-09-011.0.1073 - 2026-09-01 - "đ Tallennetut puhelimet ja pÀÀttĂ€jĂ€t nĂ€kyvĂ€t kortilla, ja viesti tervehtii oikeaa henkilöÀ"
đ«đź Suomi
- đ Tallennetun yrityksen puhelinnumerot ja pÀÀttĂ€jĂ€t nĂ€kyvĂ€t taas kortilla. Kun avasit yrityksen liidipankista (työlista, vastaukset tai Open Leads -taulu), kortti nĂ€ytti sĂ€hköpostit mutta puhelin- ja pÀÀttĂ€jĂ€kohdat olivat tyhjiĂ€. Tiedot olivat koko ajan tallessa omalla koneellasi, ne eivĂ€t vain löytĂ€neet tietÀÀn kortille. Nyt kortti nĂ€yttÀÀ saman sisĂ€llön riippumatta siitĂ€, avaatko tuoreen vai aiemmin tallennetun yrityksen. Sama korjaus koskee kaikkia kolmea tapaa avata kortti.
- đŹ KylmĂ€mailin tervehdys nimeÀÀ sen henkilön jolle viesti oikeasti menee. Viesti saattoi alkaa yhden pÀÀttĂ€jĂ€n nimellĂ€ vaikka se lĂ€hti toisen henkilön osoitteeseen. Tervehdys luetaan nyt vastaanottajasta, joten oikea nimi ja oikea osoite kulkevat aina yhdessĂ€.
- đ Yleiset osoitteet tunnistetaan nyt 14 kielellĂ€. Osoitteet kuten myynti@, laskutus@, rekry@, vertrieb@ tai recrutement@ ovat postilaatikoita, eivĂ€t henkilöitĂ€. Ne saavat nyt yleisen tervehdyksen etunimen sijaan, myös silloin kun osoitteessa on numero tai maatunnus (info2@, sales-fi@).
đŹđ§ English
- đ A saved company's phone numbers and decision makers are visible on the card again. When you opened a company from the lead bank (work list, replies, or the Open Leads table), the card showed emails but the phone and decision maker sections were empty. The data was on your machine the whole time, it just did not reach the card. The card now shows the same content whether you open a fresh company or one saved earlier. The fix covers all three ways of opening a card.
- đŹ A cold email greets the person it is actually sent to. A message could open with one decision maker's name while going to a different person's address. The greeting is now read from the recipient, so the right name and the right address always travel together.
- đ Generic addresses are now recognised in 14 languages. Addresses such as sales@, billing@, recruitment@, vertrieb@ or recrutement@ are mailboxes, not people. They now get a generic greeting instead of a first name, including when the address carries a number or country tag (info2@, sales-fi@).
1.0.1072
2026-08-311.0.1072 - 2026-08-31 - "đ Haku löytÀÀ enemmĂ€n oikeita yrityksiĂ€ ja oikeasta maasta"
đ«đź Suomi
- đ Nettihaku löytÀÀ taas enemmĂ€n yrityksiĂ€. Atlas kĂ€yttÀÀ taustalla laajaa joukkoa julkisia hakupalvelimia. Osa niistĂ€ oli alkanut hiljaa hylĂ€tĂ€ pyyntömme, jolloin haku saattoi palata tyhjĂ€nĂ€. Nyt Atlas oppii itse, mitkĂ€ palvelimet tuottavat tuloksia juuri nyt, nostaa ne kĂ€rkeen ja kokeilee useampaa ennen kuin luovuttaa. Mitattu: samat haut, jotka aiemmin antoivat nollan, tuottavat taas oikeita yritysdomaineja.
- đ Tulokset oikeasta maasta. Haku lukitaan nyt kohdemaahan, esimerkiksi Australia-haku pysyy Australiassa. Sekaan ei enÀÀ eksy toisen maan yrityksiĂ€.
- đșïž Rekisterihaku ei palaa tyhjĂ€nĂ€, kun maan ensisijainen lĂ€hde on rikki. Jokaisella maalla on nyt varapolku: jos maan oma rekisterilĂ€hde ei vastaa tai vastaa tyhjÀÀ, Atlas siirtyy saman haun aikana seuraavaan lĂ€hteeseen. Mitattu 92 maan ajolla: virhemaat 3 â 1. Nigeria, Kenia, Ghana, Pakistan ja Qatar saavat yritykset nyt maan omasta hakemistosta puhelinnumeroineen.
- đĄïž Kaapattu rekisterisivusto ei pÀÀse myrkyttĂ€mÀÀn tuloksia. Jos maan virallinen rekisteriosoite on vaihtanut omistajaa, Atlas tunnistaa sen eikĂ€ ota sivun sisĂ€ltöÀ yritystietona.
đŹđ§ English
- đ Web search finds more companies again. Atlas uses a broad pool of public search servers behind the scenes. Some had quietly started rejecting our requests, so a search could come back empty. Atlas now learns on its own which servers are producing results right now, moves them to the front, and tries several before giving up. Measured: searches that previously returned zero again produce real company domains.
- đ Results from the right country. Search is now locked to the target country, for example an Australia search stays in Australia. Companies from another country no longer slip in.
- đșïž Registry search no longer comes back empty when a country's primary source is broken. Every country now has a fallback path: if the country's own registry source fails or returns nothing, Atlas moves to the next source within the same search. Measured across a 92-country run: error countries 3 â 1. Nigeria, Kenya, Ghana, Pakistan and Qatar now get companies from the country's own directory, phone numbers included.
- đĄïž A hijacked registry site can no longer poison results. If a country's official registry address has changed hands, Atlas detects it and does not treat the page content as company data.
1.0.1071
2026-08-311.0.1071 - 2026-08-31 - "đ Haku löytÀÀ enemmĂ€n oikeita yrityksiĂ€ ja oikeasta maasta"
đ«đź Suomi
- đ Nettihaku löytÀÀ taas enemmĂ€n yrityksiĂ€. Atlas kĂ€yttÀÀ taustalla laajaa joukkoa julkisia hakupalvelimia. Osa niistĂ€ oli alkanut hiljaa hylĂ€tĂ€ pyyntömme, jolloin haku saattoi palata tyhjĂ€nĂ€. Nyt Atlas oppii itse, mitkĂ€ palvelimet tuottavat tuloksia juuri nyt, nostaa ne kĂ€rkeen ja kokeilee useampaa ennen kuin luovuttaa. Mitattu: samat haut, jotka aiemmin antoivat nollan, tuottavat taas oikeita yritysdomaineja.
- đ Tulokset oikeasta maasta. Haku lukitaan nyt kohdemaahan, esimerkiksi Australia-haku pysyy Australiassa. Sekaan ei enÀÀ eksy toisen maan yrityksiĂ€.
- đșïž Rekisterihaku ei palaa tyhjĂ€nĂ€, kun maan ensisijainen lĂ€hde on rikki. Jokaisella maalla on nyt varapolku: jos maan oma rekisterilĂ€hde ei vastaa tai vastaa tyhjÀÀ, Atlas siirtyy saman haun aikana seuraavaan lĂ€hteeseen. Mitattu 92 maan ajolla: virhemaat 3 â 1. Nigeria, Kenia, Ghana, Pakistan ja Qatar saavat yritykset nyt maan omasta hakemistosta puhelinnumeroineen.
- đĄïž Kaapattu rekisterisivusto ei pÀÀse myrkyttĂ€mÀÀn tuloksia. Jos maan virallinen rekisteriosoite on vaihtanut omistajaa, Atlas tunnistaa sen eikĂ€ ota sivun sisĂ€ltöÀ yritystietona.
đŹđ§ English
- đ Web search finds more companies again. Atlas uses a broad pool of public search servers behind the scenes. Some had quietly started rejecting our requests, so a search could come back empty. Atlas now learns on its own which servers are producing results right now, moves them to the front, and tries several before giving up. Measured: searches that previously returned zero again produce real company domains.
- đ Results from the right country. Search is now locked to the target country, for example an Australia search stays in Australia. Companies from another country no longer slip in.
- đșïž Registry search no longer comes back empty when a country's primary source is broken. Every country now has a fallback path: if the country's own registry source fails or returns nothing, Atlas moves to the next source within the same search. Measured across a 92-country run: error countries 3 â 1. Nigeria, Kenya, Ghana, Pakistan and Qatar now get companies from the country's own directory, phone numbers included.
- đĄïž A hijacked registry site can no longer poison results. If a country's official registry address has changed hands, Atlas detects it and does not treat the page content as company data.
1.0.1069
2026-08-281.0.1069 - 2026-08-28 - "đ«đź Kortti puhuu yhtĂ€ kieltĂ€ ja sĂ€hköpostit ovat sellaisia kuin sivulla"
đ«đź Suomi
- âïž SĂ€hköpostiosoite on nyt tĂ€smĂ€lleen se joka sivulla lukee. Osalla nykyaikaisista sivustoista osoite on kirjoitettu sivun sisĂ€iseen tekniseen muotoon, ja siitĂ€ jĂ€i joskus muutaman merkin roska osoitteen eteen (esimerkiksi "u003einfo@yritys.fi"). Sellainen osoite kimpoaa lĂ€hetyksessĂ€ takaisin. KĂ€vimme koko liidipankin lĂ€pi ja korjasimme jokaisen tĂ€llaisen osoitteen, ja poiminta purkaa teknisen muodon nyt jo lukuvaiheessa. Jos yrityksellĂ€ oli sekĂ€ ehjĂ€ ettĂ€ rikkinĂ€inen versio samasta osoitteesta, kortilla nĂ€kyy enÀÀ yksi.
- đ§ Yhteyshenkilön nimeĂ€ ei enÀÀ johdeta rikkinĂ€isestĂ€ osoitteesta. Sama roska pÀÀsi aiemmin myös nimeksi. Henkilön nimessĂ€ ei voi olla numeroita, joten sellainen nimi ei enÀÀ synny.
- đ«đź PÀÀttĂ€jĂ€n titteli nĂ€kyy suomeksi kun ohjelma on suomeksi. Rekisterin oma sana ("Varsinainen jĂ€sen", "Toimitusjohtaja") nĂ€kyi kortin otsikossa englanniksi vaikka saman kortin perustelurivillĂ€ luki suomi. Nyt koko kortti puhuu yhtĂ€ kieltĂ€.
- đŹ Viestiehdotuksen tervehdys on samalla kielellĂ€ kuin viesti. Suomenkielinen viesti alkoi sanalla "Hi". Nyt se alkaa sanalla "Hei".
- đ Varmenteen vahvistama yritysnimi ja rekisteritunnus. Kun yrityksen verkkotunnuksella on laajennettu varmenne, siinĂ€ on varmentajan tarkistama virallinen nimi ja usein rekisteritunnus (esimerkiksi "OP Osuuskunta" ja Y-tunnus). Atlas lukee sen nyt osana yhteyden muodostusta, eikĂ€ sitĂ€ tarvitse hakea erikseen. TĂ€llaisia varmenteita on noin 3 prosentilla pienyrityksistĂ€ ja selvĂ€sti useammin suurilla, joten kyseessĂ€ on lisĂ€todiste eikĂ€ uusi lĂ€hde.
- đ Yrityksen oma sivu kertoo rekisteritunnuksen nyt myös Saksassa, ItĂ€vallassa, Ruotsissa, Britanniassa, Norjassa ja Tanskassa. Aiemmin tĂ€mĂ€ toimi vain Suomessa ja Virossa. Mittasimme 90 verkkosivua: Saksassa 41 prosenttia ja Britanniassa 23 prosenttia yrityksistĂ€ julkaisee tunnuksensa omalla sivullaan, koska laki vaatii sen. Tunnus hyvĂ€ksytÀÀn vain jos sen tarkistussumma tĂ€smÀÀ tai se on julkaistu selvĂ€sti tunnuksena.
đŹđ§ English
- âïž An email address is now exactly what the page says. On some modern sites the address is written in the page's internal technical form, and a few stray characters could remain in front of it (for example "u003einfo@company.com"). Such an address bounces. We went through the entire lead bank and repaired every one of them, and extraction now decodes the technical form while reading. If a company had both a clean and a broken version of the same address, the card now shows one.
- đ§ A contact name is no longer derived from a broken address. The same stray characters could become a person's name. A person's name cannot contain digits, so such a name is no longer created.
- đ«đź A decision maker's title is shown in the language of the app. The registry's own wording ("Varsinainen jĂ€sen", "Toimitusjohtaja") appeared in English in the card heading even when the reasoning line on the same card was in Finnish. The whole card now speaks one language.
- đŹ The suggested message greeting matches the message language. A Finnish message started with "Hi". It now starts with "Hei".
- đ A company name and registration number confirmed by a certificate. When a domain has an extended certificate, it carries the legal name checked by the certificate authority and often the registration number (for example "OP Osuuskunta" with its business ID). Atlas now reads it as part of establishing the connection, with no separate lookup. About 3% of small companies have such a certificate and clearly more of the large ones, so this is extra proof rather than a new source.
- đ A company's own site now reveals its registration number in Germany, Austria, Sweden, the UK, Norway and Denmark too. Previously this worked only for Finland and Estonia. We measured 90 websites: 41% of German and 23% of UK companies publish their number on their own site, because the law requires it. A number is accepted only when its checksum matches or it is clearly published as a registration number.
1.0.1068
2026-08-271.0.1068 - 2026-08-28 - "đ EnemmĂ€n oikeita puhelinnumeroita ja rekisteridata suoraan hakuun"
đ«đź Suomi
- đ Puhelinnumero löytyy nyt myös silloin, kun se on sivulla ilman "puhelin"-sanaa. Moni yritys listaa numeron henkilön nimen tai sĂ€hköpostin viereen, âïž-merkin perÀÀn tai sivun rakenteelliseen dataan (JSON-LD, Next.js, Wix). Atlas ohitti nĂ€mĂ€. Mittasimme 111 suomalaista yrityssivua: numeron saaneiden yritysten mÀÀrĂ€ nousi 35:stĂ€ 45:een, ja jokainen uusi numero on sivulla sanatarkasti sellaisenaan. Samalla poistui kaksi virheellistĂ€ numeroa, jotka syntyivĂ€t kun tekstinpĂ€tkĂ€ katkesi kesken numeron.
- 𧩠Yritysrekisterin valmis tieto (kotisivu, puhelin, sÀhköposti) tulee nyt mukaan heti haun alussa. Aiemmin Atlas etsi jokaisen kotisivun itse, vaikka rekisteripalvelu tiesi sen jo kolmelle neljÀstÀ yrityksestÀ. Nyt tieto haetaan rinnakkain, eikÀ haku hidastu.
- đ Rekisterin antama kotisivu tarkistetaan ennen kĂ€yttöÀ. Rekisteripalvelun kotisivutieto on joskus vÀÀrĂ€ (ohjaus toisen yrityksen sivulle tai myynnissĂ€ oleva domain). Atlas varmistaa nyt sivun sisĂ€llöstĂ€, ettĂ€ se kuuluu juuri tĂ€lle yritykselle, ennen kuin sen yhteystietoja luetaan. VÀÀrĂ€n yrityksen tietoja ei pÀÀdy kortille.
- đ§âđŒ Yhteyshenkilöksi ei enÀÀ pÀÀdy sivun otsikkorivi. Rekisterin sivuilta poimitut "yhteyshenkilöt" kuten "Contact us" tai "Mailing List" karsitaan; oikeat nimet ja tittelit sĂ€ilyvĂ€t.
đŹđ§ English
- đ Phone numbers are now found even when the page has no "phone" label next to them. Many companies list the number next to a person's name or email, after a âïž symbol, or in the page's structured data (JSON-LD, Next.js, Wix). Atlas skipped these. Measured on 111 Finnish company sites: companies with a phone number rose from 35 to 45, and every new number appears on the page exactly as extracted. Two wrong numbers that came from a text window cutting a number in half are gone.
- đ§© Ready data from the company registry (website, phone, email) now joins the search from the start. Atlas used to look up every website itself even though the registry service already knew it for three out of four companies. The data is now fetched in parallel, with no slowdown.
- đ A website provided by the registry is verified before use. Registry website data is sometimes wrong (a redirect to another company, or a domain for sale). Atlas now checks from the page content that it belongs to this company before reading any contact details. No other company's details end up on the card.
- đ§âđŒ A page heading no longer becomes a contact person. "Contacts" scraped from websites such as "Contact us" or "Mailing List" are filtered out; real names and titles stay.
1.0.1067
2026-08-271.0.1067 - 2026-08-27 - "đŻ Kohderooli nĂ€kyy vihdoin kortilla nimen ja lĂ€hteen kanssa"
đ«đź Suomi
- đŻ Kohderooli (CTO / CPO / kehitysjohtaja) nĂ€kyy nyt signaalikortilla. Kun Asetuksissa on valittu kohderooli ja Atlas löytÀÀ sen henkilön yrityksen sivuilta tai LinkedInistĂ€, kortille tulee rivi "CTO: Nimi · titteli" lĂ€hdelinkin kanssa. Aiemmin löytö jĂ€i piiloon: henkilön nimi ei tallentunut eikĂ€ tieto kulkenut kortille asti.
- Ajon lopussa kerrotaan tulos. Aktiviteettiin tulee rivi "Kohderooli: löytyi N firmalle (M LinkedIn-hakua)", joten nÀet mitÀ haku teki. Jos henkilöÀ ei löydy julkisista lÀhteistÀ, korttiin ei keksitÀ mitÀÀn.
- Huom: kohderooli on oletuksena pois pÀÀltĂ€ â valitse roolit Asetukset â Signaalit â Kohderooli ennen ajoa.
đŹđ§ English
- đŻ Target role (CTO / CPO / Head of Engineering) now appears on the signal card. When a target role is selected in Settings and Atlas finds that person on the company website or LinkedIn, the card shows "CTO: Name · title" with a source link. Previously the finding stayed hidden: the person's name was not stored and the field never reached the card.
- The run tells you the result. The activity feed ends with "Target role: found for N companies (M LinkedIn lookups)". If no person is found in public sources, nothing is invented.
- Note: target roles are off by default â pick them under Settings â Signals â Target role before a run.
1.0.1066
2026-08-271.0.1066 - 2026-08-27 - "đ Kotisivu löytyy vaikka https olisi rikki + hakukoneet aina suojatun reitin kautta"
đ«đź Suomi
- đ Kotisivu löytyy vaikka yrityksen https olisi rikki. Mittasimme 189 yrityssivua: noin 2 % ei aukea salatulla yhteydellĂ€ (vanhentunut varmenne tai kuollut https-portti), mutta tavallinen http-osoite ohjaa toimivalle sivulle. Atlas kokeilee nyt tĂ€mĂ€n varareitin automaattisesti, joten nĂ€mĂ€ yritykset eivĂ€t enÀÀ saa merkintÀÀ "ei kotisivua". VarareittiĂ€ kĂ€ytetÀÀn vain kun salattu yhteys ei synny lainkaan.
- đĄïž Hakukoneita ei enÀÀ kysytĂ€ omalta IP-osoitteelta. Oman listan nimi- ja puhelinhaut kulkivat yhdessĂ€ kohdassa suoraan omalta koneelta ilman suojattua reittiĂ€. Nyt kaikki hakukonekyselyt kulkevat samaa suojattua reittiĂ€ kuin muukin haku.
- đ żïž Domainkauppapaikat eivĂ€t pÀÀdy yrityksen tiedoiksi. Kun yrityksen vanha osoite ohjaa domainkauppaan (esim. Unstoppable Domains, Atom), Atlas tunnistaa sen eikĂ€ lue kauppapaikan yhteystietoja yrityksen tiedoiksi.
- đ Varmenneketju samasta lĂ€hteestĂ€ joka osassa. Atlas kĂ€yttÀÀ nyt kĂ€yttöjĂ€rjestelmĂ€n varmennevarastoa kaikissa taustaprosesseissa, ei vain pÀÀohjelmassa.
đŹđ§ English
- đ The homepage is found even when a company's https is broken. We measured 189 company sites: about 2% cannot be opened over an encrypted connection (expired certificate or a dead https port), yet the plain http address redirects to a working site. Atlas now tries that fallback automatically, so these companies no longer get a "no website" mark. The fallback is used only when an encrypted connection cannot be established at all.
- đĄïž Search engines are no longer queried from your own IP address. Name and phone lookups for your own list bypassed the protected route in one place. All search-engine queries now use the same protected route as the rest of the search.
- đ żïž Domain marketplaces do not end up as company details. When a company's old address redirects to a domain marketplace (e.g. Unstoppable Domains, Atom), Atlas recognises it and does not read the marketplace's contact details as the company's.
- đ One certificate chain in every part of the app. Atlas now uses the operating system's certificate store in all background processes, not only in the main program.
1.0.1065
2026-08-271.0.1065 - 2026-08-27 - "đłïž Haku ei enÀÀ odota kuolleita ovia + vÀÀrĂ€t 'ei aukea' -tuomiot uusitaan"
đ«đź Suomi
- đłïž Kuolleet lĂ€hteet eivĂ€t enÀÀ hidasta hakua. Kun jokin rekisteri tai sivusto ei aukea millÀÀn tavalla (esim. maan sisĂ€iselle liikenteelle rajattu viranomaissivu), Atlas ei enÀÀ yritĂ€ sitĂ€ jokaisessa haussa uudelleen: ovi tarkistetaan kerran kuudessa tunnissa ja koko keinovalikoima ajetaan kerran viikossa. Aiemmin jokainen haku odotti nĂ€itĂ€ ovia jopa 20 sekuntia.
- â»ïž VÀÀrĂ€ "ei aukea" -tuomio korjaantuu itsestÀÀn. Sivusto joka jĂ€i kiinni tilapĂ€isen yhteyshĂ€iriön aikana leimautui aiemmin pysyvĂ€sti hankalaksi, vaikka se aukesi taas normaalisti. Nyt tuomio uusitaan automaattisesti ja yksikin onnistuminen poistaa sen.
- đ PDF-tiedostoja ja tiedotealustoja ei kĂ€sitellĂ€ yrityssivuina. Tiedotejakelijoiden (Cision, Newswire ym.) osoitteet eivĂ€t enÀÀ pÀÀdy liidiehdokkaiksi, eikĂ€ PDF- tai kuvaosoitetta yritetĂ€ avata moneen kertaan eri reiteillĂ€.
- 𧩠Yhteydenottolomakkeen robottitarkistus ei ole enÀÀ "esto". Pieni sivu jolla on reCAPTCHA-lomake tulkittiin aiemmin bottisuojaksi ja hylÀttiin. Nyt se luetaan normaalisti.
- đ”đč Portugali: rekisterihaku ei enÀÀ aloita toimimattomasta osoitteesta.
đŹđ§ English
- đłïž Dead sources no longer slow down a search. When a registry or site cannot be opened by any means (e.g. a government portal restricted to in-country traffic), Atlas no longer retries it on every search: the door is re-checked once every six hours and the full toolkit is run once a week. Previously every search waited up to 20 seconds on such doors.
- â»ïž A wrong "cannot open" verdict now heals itself. A site that got stuck during a temporary connection problem used to be labelled difficult permanently, even after it opened normally again. The verdict is now renewed automatically and a single success clears it.
- đ PDF files and press-release platforms are not treated as company sites. Newswire and press-distribution addresses (Cision, Newswire etc.) no longer become lead candidates, and a PDF or image address is not retried over multiple routes.
- đ§© A contact form's robot check is no longer an "access block". A small page with a reCAPTCHA form was previously interpreted as bot protection and rejected. It is now read normally.
- đ”đč Portugal: the registry search no longer starts from a dead address.
1.0.1064
2026-08-271.0.1064 - 2026-08-27 - "đ§č Kortti nĂ€yttÀÀ vain sivun omaa tekstiĂ€ + tila kertoo totuuden"
đ«đź Suomi
- đ§č Kortilla ei enÀÀ koodinpĂ€tkiĂ€ todisteena. Sivun teksti luetaan nyt ilman skriptejĂ€ ja tyylilohkoja, joten liidipaneelin ja "Atlas sanoo" -perustelujen todiste on aina yrityksen sivun omaa tekstiĂ€. Aiemmin todisteeksi saattoi pÀÀtyĂ€ sivun taustakoodia. Koskee kaikkia todistepohjaisia signaaleja (sponsorointi, henkilöstöetu, urheilu, investointihanke, konepajan kyvykkyydet).
- đ Tila kertoo totuuden ajon lopussa. YlĂ€palkki nĂ€yttÀÀ nyt "VIIMEISTELLĂĂN" niin kauan kuin viimeiset tiedot vielĂ€ haetaan, ja "VALMIS" vasta kun ajo on oikeasti ohi. Aiemmin tila vaihtui valmiiksi jo ennen viimeistĂ€ vaihetta, vaikka listalle tuli yhĂ€ lisÀÀ tietoa.
- đ§ Massapostilista avautuu vasta kun ajo on valmis. Lista tarjottiin aiemmin kesken ajon, jolloin osa yhteystiedoista puuttui vielĂ€. Nyt saat listan tĂ€ytenĂ€.
- đȘ "Aloita uusi haku?" -vahvistus pysyy nĂ€kyvissĂ€. Vahvistusikkuna saattoi jÀÀdĂ€ muiden ikkunoiden taakse, jolloin haku ei lĂ€htenyt kĂ€yntiin ennen kuin ikkunoita siirteli kĂ€sin.
- đ¶ Rahoituksen saaneet -nappi lukee laajemmin talousmediaa. Rahoitushaku kattaa nyt myös ne lĂ€hteet jotka markkinasignaali itse nimeÀÀ.
đŹđ§ English
- đ§č No more code snippets as evidence on a card. Page text is now read without scripts and style blocks, so the evidence shown in the lead panel and in the "Atlas says" reasoning is always the company's own page text. Previously a page's background code could end up quoted as evidence. Applies to every evidence-based signal (sponsorship, staff benefits, sports, investment project, workshop capabilities).
- đ The status tells the truth at the end of a run. The top bar now shows "FINALIZING" while the last details are still being fetched, and "COMPLETE" only once the run is genuinely over. Previously the status flipped to complete before the final stage, while results were still arriving.
- đ§ The bulk email list opens only when the run is done. It used to be offered mid-run, when some contact details were still missing. You now get the full list.
- đȘ The "Start a new search?" confirmation stays visible. The dialog could end up behind other windows, so the search would not start until you moved windows by hand.
- đ¶ The "Funded companies" button reads more of the business press. The funding search now also covers the sources the market signal itself names.
1.0.1062
2026-08-261.0.1062 - 2026-08-26 - "đ Uudet yritykset -signaali: tuoreet rekisteröinnit painesignaalina"
đ«đź Suomi
- đ Uusi painesignaali: "Uudet yritykset rekisteröity". Painepaneeli nĂ€yttÀÀ nyt oman signaalin tuoreille yritysrekisteröinneille (palvelimen new_company -klusteri), joten nĂ€et suoraan milloin alueelle tai toimialalle syntyy uusia yrityksiĂ€. Tuore rekisteröinti on vahva ostosignaali (uusi yritys tarvitsee kaiken), ja tĂ€mĂ€ nostaa ne omaksi ryhmĂ€ksi paineindikaattoriin.
- đșïž Aluehaku tunnistaa nyt koko alueen kaupungit. Aiemmin alueen (esim. Korsika) tunnistus nojasi vain muutamaan suurimpaan kaupunkiin (3-16), joten aidosti alueella toimiva yritys pienemmĂ€ssĂ€ kunnassa jĂ€i usein "sijainti vahvistamatta". Nyt jokaiselle alueelle haetaan kaikki kaupungit rekisteridatasta (Korsika 3 -> 150, Pirkanmaa 10 -> 150), joten alueen yritys tunnistetaan oikein omaan alueeseensa. Koskee kaikkia maita.
đŹđ§ English
- đ New pressure signal: "New companies registered". The pressure panel now shows a dedicated signal for fresh company registrations (the server new_company cluster), so you see directly when new companies appear in an area or industry. A fresh registration is a strong buying signal (a new company needs everything), and this surfaces them as their own group in the pressure indicator.
- đșïž Region search now recognises every town in the region. Previously a region (e.g. Corsica) was matched against only its few largest towns (3-16), so a company genuinely based in a smaller town was often left "location unconfirmed". Now every region loads all its towns from the registry data (Corsica 3 -> 150, Pirkanmaa 10 -> 150), so a regional company is correctly identified as being in its region. Applies to all countries.
đ Mac
- Mac-versio korjattu: ohjelma tallentaa nyt oikeaan paikkaan. Atlas kirjoitti asetukset, lokin ja ladatut rekisterit ohjelmapaketin sisÀÀn, mikĂ€ rikkoi macOS:n tarkistuksen ohjelman eheydestĂ€ heti ensimmĂ€isen kĂ€ynnistyksen jĂ€lkeen ja olisi estĂ€nyt tallennukset kokonaan Ohjelmat-kansiosta ajettaessa. Kaikki kĂ€yttĂ€jĂ€n tiedot menevĂ€t nyt Applen ohjeen mukaiseen paikkaan (Kirjasto â Application Support â AtlasForgeX), ja ohjelmapaketti pysyy koskemattomana. Todennettu oikealla Macilla (Apple M1, macOS 26).
- Fixed on Mac: the app now stores data in the right place. Atlas was writing settings, the log and downloaded registries inside its own application bundle, which broke the macOS integrity check right after the first launch and would have blocked saving entirely when run from the Applications folder. All user data now goes to Apple's standard location (Library â Application Support â AtlasForgeX) and the bundle stays untouched. Verified on real hardware (Apple M1, macOS 26).
1.0.1061
2026-08-261.0.1061 - 2026-08-26 - "đŻ Haku pysyy hakemassasi toimialassa + signaalinapit kertovat mitĂ€ ne oikeasti hakevat"
đ«đź Suomi
- đŻ Haku nĂ€yttÀÀ enÀÀ hakemaasi toimialaa. Live-mittaus ("tehdas", Uusimaa): listalle vuoti neljĂ€sosa vÀÀriĂ€ toimialoja (ruoka, ravintola, vaate), koska jatkuvasti pĂ€ivittyvĂ€ tulosvirta ohitti toimialatarkistuksen. Nyt sama tarkistus ajetaan myös tuolle nopealle virralle, joten vain hakemaasi toimialaa vastaavat yritykset pÀÀtyvĂ€t listalle. Mitattu: vÀÀrĂ€n toimialan osuus 24 % -> 4 %. Ilman kotisivua olevat rekisteriyritykset sĂ€ilyvĂ€t edelleen (ne jĂ€rjestetÀÀn listan loppuun, ei kĂ€rkeen).
- đŻ Signaalinapit kertovat mitĂ€ ne oikeasti hakevat. Makropaine- ja "Luo kohdelista" -napit hakevat nyt tuoreet rekisteröinnit ja rahoituksen saaneet yritykset, ja napin teksti kertoo tĂ€mĂ€n suoraan, ei arvattua toimialaa.
đŹđ§ English
- đŻ Search now stays in the industry you asked for. Live measurement ("factory", Uusimaa region): a quarter of the list leaked wrong industries (food, restaurant, clothing) because the continuously updating result stream skipped the industry check. That same check now runs on the fast stream too, so only companies matching your searched industry reach the list. Measured: off-industry share 24% -> 4%. Registry companies without a website are still kept (sorted to the bottom of the list, not the top).
- đŻ Signal buttons say what they actually hunt. The macro-pressure and "Create target list" buttons now fetch fresh registrations and funded companies, and the button text says so directly, with no guessed industry.
1.0.1060
2026-08-261.0.1060 - 2026-08-25 - "đȘđȘ Viro: hallitus, yhteystiedot, kotisivu ja työntekijĂ€mÀÀrĂ€ suoraan rekisteristĂ€"
đ«đź Suomi
- đȘđȘ Virolle sama rekisteripohjainen tieto kuin Suomelle. Asiakastapaus (ravintola Gianni): Atlas ei lukenut Viron kaupparekisterin julkista yrityskorttia lainkaan. Nyt virolaiselle yritykselle haetaan rekisteritunnuksella hallituksen jĂ€senet virallisine rooleineen ("Juhatuse liige"), rekisteriin merkitty puhelin ja sĂ€hköposti, osoite, yritykselle rekisteröity verkkotunnus, EMTAK-toimiala ja tuorein työntekijĂ€mÀÀrĂ€ - joka rivillĂ€ lĂ€hde ja linkki. Rekisterin verkkotunnus ajetaan ennen nimestĂ€ arvaamista, joten vÀÀrĂ€ sivusto ei enÀÀ pÀÀdy kortille. Mitattu Giannilla: hallitus 1, puhelimet 4, sĂ€hköposti, gianni.ee, 36 työntekijÀÀ.
đŹđ§ English
- đȘđȘ Estonia gets the same registry-based data as Finland. Customer case (restaurant Gianni): Atlas never read the public company card of the Estonian business register. Estonian companies are now looked up by registry code for board members with their official roles, the registered phone and email, address, the domain registered to the company, EMTAK industry and the latest headcount - each row with source and link. The registry domain runs before name guessing, so a wrong site no longer lands on the card. Measured on Gianni: 1 board member, 4 phones, email, gianni.ee, 36 employees.
1.0.1059
2026-08-251.0.1059 - 2026-08-25 - "đȘđȘ Viro: hallitus, yhteystiedot, kotisivu ja työntekijĂ€mÀÀrĂ€ suoraan rekisteristĂ€"
đ«đź Suomi
- đȘđȘ Virolle sama rekisteripohjainen tieto kuin Suomelle. Asiakastapaus (ravintola Gianni): Atlas ei lukenut Viron kaupparekisterin julkista yrityskorttia lainkaan. Nyt virolaiselle yritykselle haetaan rekisteritunnuksella hallituksen jĂ€senet virallisine rooleineen ("Juhatuse liige"), rekisteriin merkitty puhelin ja sĂ€hköposti, osoite, yritykselle rekisteröity verkkotunnus, EMTAK-toimiala ja tuorein työntekijĂ€mÀÀrĂ€ - joka rivillĂ€ lĂ€hde ja linkki. Rekisterin verkkotunnus ajetaan ennen nimestĂ€ arvaamista, joten vÀÀrĂ€ sivusto ei enÀÀ pÀÀdy kortille. Mitattu Giannilla: hallitus 1, puhelimet 4, sĂ€hköposti, gianni.ee, 36 työntekijÀÀ.
đŹđ§ English
- đȘđȘ Estonia gets the same registry-based data as Finland. Customer case (restaurant Gianni): Atlas never read the public company card of the Estonian business register. Estonian companies are now looked up by registry code for board members with their official roles, the registered phone and email, address, the domain registered to the company, EMTAK industry and the latest headcount - each row with source and link. The registry domain runs before name guessing, so a wrong site no longer lands on the card. Measured on Gianni: 1 board member, 4 phones, email, gianni.ee, 36 employees.
1.0.1058
2026-08-251.0.1058 - 2026-08-25 - "đŠ Liidipankki ei nosta hakukonepohjaisia pÀÀttĂ€jiĂ€ takaisin kortille"
đ«đź Suomi
- đŠ Pankkihygienia pÀÀttĂ€jille. Live-tapaus (Viro, ravintola Gianni): 1057:n portit hylkĂ€sivĂ€t kaikki vÀÀrĂ€t profiilit, mutta kortille palasi silti viisi vÀÀrÀÀ pÀÀttĂ€jÀÀ, koska aiempi ajo oli tallentanut ne liidipankkiin ja pankki tĂ€ytti tyhjĂ€n kortin niillĂ€. Nyt pankista nousevat vain evidenssipohjaiset pÀÀttĂ€jĂ€t (yrityksen oma sivusto, rekisteri, hakemistot); hakukone- ja LinkedIn-hakuun perustuvat haetaan joka ajossa uudelleen porttien lĂ€pi. Sijainti ei enÀÀ nĂ€y tittelinĂ€ ("Montrouge, Ăle-de-France"), ja viron/latvian/liettuan tittelit (juhataja, peakokk, vadÄ«tÄjsâŠ) tunnistetaan.
đŹđ§ English
- đŠ Bank hygiene for decision makers. Live case (Estonia, restaurant Gianni): the 1057 gates rejected every wrong profile, yet five wrong decision makers came back to the card because an earlier run had stored them in the lead bank, which filled the empty card with them. The bank now hydrates only evidence-based people (the company's own site, registry, directories); search-engine and LinkedIn-search people are re-fetched every run through the gates. A location no longer appears as a title, and Estonian/Latvian/Lithuanian titles are recognised.
1.0.1057
2026-08-251.0.1057 - 2026-08-25 - "đš Sama pÀÀttĂ€jĂ€portti kaikille kolmelle hakupolulle · brĂ€ndi lĂ€pĂ€isee myös sivutarkistuksen"
đ«đź Suomi
- đ€ Kolmas pÀÀttĂ€jĂ€polku samaan porttiin. 1056 sulki kaksi polkua, mutta varahaku toi silti "Nancy Gianni / Gianni Franchi / Gianni Zorbas" ravintola Giannille. Nyt kaikki kolme polkua kĂ€yttĂ€vĂ€t samaa sÀÀntöÀ: firman nimi henkilön omassa nimessĂ€ ei ole yhteys, profiilin maa verrataan yrityksen maahan, ja titteli nĂ€ytetÀÀn vain kun se on titteli. LisĂ€ksi nimiosuma vaatii kokonaisen sanan - "gianni" ei osu profiiliosoitteeseen "giannicuozzo".
- đ·ïž BrĂ€ndi lĂ€pĂ€isee myös sivutarkistuksen. 1056:ssa aputoiminimi hyvĂ€ksyttiin nimivaiheessa, mutta sivutarkistus vaati yhtiönimeĂ€ sivulta ja hylkĂ€si sivuston uudelleen. Nyt sivutarkistus hyvĂ€ksyy brĂ€ndinimen (sivulla lukee "Gianni", ei "OsaĂŒhing Lavora"), eikĂ€ oikeaa sivustoa ja sĂ€hköpostia enÀÀ pudoteta.
đŹđ§ English
- đ€ Third decision-maker path on the same gate. 1056 closed two paths, but the fallback search still brought "Nancy Gianni / Gianni Franchi / Gianni Zorbas" to restaurant Gianni. All three paths now use the same rule: the company name inside the person's own name is not affiliation, the profile country is compared to the company's country, and a title is shown only when it is a title. Name matches also require a whole word - "gianni" no longer matches the profile slug "giannicuozzo".
- đ·ïž Brand passes the page check too. In 1056 the trading name passed the name stage, but the page check demanded the legal name on the page and rejected the site again. The page check now accepts the brand name (the page says "Gianni", not "OsaĂŒhing Lavora"), so the correct site and email are kept.
1.0.1056
2026-08-251.0.1056 - 2026-08-25 - "đš PÀÀttĂ€jĂ€ ei voi olla henkilö, jolla on vain firman nimi etunimenĂ€ · brĂ€ndi vs. yhtiönimi"
đ«đź Suomi
- đ€ VÀÀrĂ€ pÀÀttĂ€jĂ€ poistettu juurisyystĂ€. Asiakastapaus (Viro): ravintola "Gianni" sai pÀÀttĂ€jĂ€ksi "Gianni Cuozzo (Founder)" - henkilön, jonka etunimi sattuu olemaan firman nimi. PÀÀttĂ€jĂ€haku hyvĂ€ksyi hĂ€net, koska firman nimi esiintyi tekstissĂ€, ja tĂ€ytti tittelin hakusanasta. Nyt firman nimi henkilön omassa nimessĂ€ ei ole todiste yhteydestĂ€ (molemmat pÀÀttĂ€jĂ€polut), eikĂ€ titteliĂ€ keksitĂ€ hakusanasta - vain lĂ€hteestĂ€.
- đ„ TyöntekijĂ€mÀÀrĂ€ tilinpÀÀtöksestĂ€, kun rekisteri ei anna sitĂ€. Sama kortti nĂ€ytti "0 työntekijÀÀ", vaikka tilinpÀÀtös kertoi 34. Rekisterin luku on yhĂ€ ensisijainen; tilinpÀÀtöksen viimeisin rivi tĂ€yttÀÀ vain tyhjĂ€n. Liikevaihtotrendin rivi on nyt kĂ€yttökielellĂ€ ja sen lĂ€hde on liidin oma lĂ€hdemerkintĂ€, ei enÀÀ kiinteĂ€ suomalainen lĂ€hde ulkomaiselle yritykselle.
- đ·ïž BrĂ€ndi ja yhtiönimi ovat sama yritys. Sama tapaus: rekisteri antoi yhtiönimen "OsaĂŒhing Lavora", brĂ€ndi on "Gianni" ja sivusto gianni.ee. Tunnistusportti vertasi vain yhtiönimeĂ€ sivustoon ja hylkĂ€si oikean sivuston ja sĂ€hköpostin. Nyt hakunimi kirjataan yhtiönimen aputoiminimeksi ja tunnistus hyvĂ€ksyy sen; rekisteritĂ€ydennys tarkistaa molemmilla nimillĂ€. Koskee kaikkia maita.
đŹđ§ English
- đ€ Wrong decision maker removed at the root. Customer case (Estonia): restaurant "Gianni" got "Gianni Cuozzo (Founder)" as decision maker - a person whose first name happens to be the company name. The search accepted him because the company name appeared in the text, and filled the title from the query. The company name inside the person's own name is no longer evidence of affiliation (both decision-maker paths), and titles are never invented from the query - source only.
- đ„ Headcount from financial statements when the registry has none. The same card showed "0 employees" while the statements said 34. The registry figure still wins; the latest statement row fills only an empty value. The revenue-trend row is now in the UI language and its source is the lead's own source mark, not a fixed Finnish source for a foreign company.
- đ·ïž Brand and legal name are the same company. Same case: the registry gave the legal name "OsaĂŒhing Lavora", the brand is "Gianni" and the site is gianni.ee. The identity gate compared only the legal name and rejected the correct site and email. The search name is now recorded as a trading name of the legal entity and identity accepts it; registry backfill verifies with both names. All countries.
1.0.1055
2026-08-251.0.1055 - 2026-08-25 - "đš VÀÀrĂ€ sivusto ei enÀÀ pÀÀdy kortille · kielisiivous: 191 tekstiĂ€ kĂ€yttökielellĂ€"
đ«đź Suomi
- đš NimestĂ€ arvattu verkkotunnus vaatii nyt todisteen yrityksen maasta. Live-tapaus: oululainen yhden hengen Oy sai kortilleen samannimisen yhdysvaltalaisen verkkokaupan sivuston, ja sen mukana vÀÀrĂ€n pÀÀttĂ€jĂ€n, vÀÀrĂ€n rekrytointisivun ja vÀÀrĂ€t teknologiat - soitto meni vÀÀrĂ€lle firmalle. Syy: arvattu .com-osoite hyvĂ€ksyttiin, koska sivulla luki yrityksen nimi (kehĂ€pÀÀtelmĂ€). Nyt arvattu vieraan pÀÀtteen osoite kelpaa vain, jos sivulla on yrityksen maan todiste (puhelinnumero, osoite, maan verkkotunnukset). Ilman todistetta kortti sanoo rehellisesti "ei verkkotunnusta". Koskee kaikkia maita.
- đ Hakemiston y-tunnuksella vahvistama kotisivu ajetaan ennen arvausta. Samassa tapauksessa hakemisto tiesi oikean sivuston ja sĂ€hköpostin y-tunnuksella, mutta ne hylĂ€ttiin, koska arvaus oli ehtinyt ensin. JĂ€rjestys korjattu.
- đ€ PÀÀttĂ€jĂ€n titteli vain, kun se on titteli. LinkedIn-otsikon iskulause ("Building great teams and software") ei enÀÀ pÀÀdy tittelikenttÀÀn. Yhden sanan yritysnimillĂ€ profiilin on lisĂ€ksi mainittava yritys yhtiömuotoineen tai oltava yrityksen maasta - ei enÀÀ samannimisiĂ€ ulkomaisia henkilöitĂ€.
- đ«đź Kielisiivous. 191 englanniksi kovakoodattua tekstiĂ€ siirretty kÀÀnnöksiin (fi/en/ru): liidipaneelin kulmanarratiivit ja toimintanapit, avausviestien pohjat, pÀÀikkunan tilaviestit, esiasetusten kuvaukset, ilmoitusteemat, syvĂ€analyysin narratiivit ja ajoitussyyt, lĂ€hdetekstit ("yrityksen sivusto (etusivu)"), esittelykierroksen askeleet. Uusi vahti estÀÀ uusien englanninkielisten tekstien lipsumisen kĂ€yttöliittymÀÀn.
đŹđ§ English
- đš A domain guessed from the name now needs proof of the company's country. Live case: a one-person Finnish company got the website of a same-named US web shop on its card, and with it a wrong decision maker, a wrong careers page and wrong technologies - the call went to the wrong company. Cause: the guessed .com was accepted because the page contained the company name (circular). A guessed foreign-TLD address is now accepted only with country evidence on the page (phone, address, national domains). Without it the card honestly says "no domain". Applies to all countries.
- đ A directory website confirmed by the registry ID runs before guessing. In the same case the directory knew the right site and email by registry ID, but they were rejected because the guess came first. Order fixed.
- đ€ Decision-maker title only when it is a title. A LinkedIn headline slogan ("Building great teams and software") no longer lands in the title field. For single-word company names the profile must also name the company with its legal form or be from the company's country - no more same-named foreign people.
- đ Language sweep. 191 hardcoded English strings moved to translations (fi/en/ru): lead panel angle narratives and action buttons, opener templates, main-window status messages, preset descriptions, alert themes, deep-analysis narratives and timing reasons, source labels, onboarding tour steps. A new watcher blocks new hardcoded English UI text.
1.0.1054
2026-08-251.0.1054 - 2026-08-25 - "đŻ Roolihaun aikabudjetti myös tavallisessa haussa"
đ«đź Suomi
- â±ïž Sama aikabudjetti molemmissa hakupoluissa. Live-ajo 1052:lla tavallisella haulla: 96 roolihakua valmistui, 58 katkesi 15 sekunnin kovaan aikakattoon ja hukkasi löydetyt nimet, koska edellinen budjettikorjaus koski vain syvĂ€haun polkua. Nyt tavallinen haku kĂ€yttÀÀ samaa 25 s budjettia: löydetyt henkilöt palautuvat aina, ja rooliosuma merkitÀÀn liidille myös tĂ€ssĂ€ polussa.
đŹđ§ English
- â±ïž The same time budget on both search paths. Live run on 1052 with a normal hunt: 96 role searches completed, 58 hit a hard 15-second cap and lost the names found, because the previous budget fix only covered the deep-hunt path. The normal hunt now uses the same 25 s budget: people found are always returned, and a role match is flagged on the lead on this path too.
1.0.1053
2026-08-251.0.1053 - 2026-08-25 - "đŻ Roolihaun varapolut pysyvĂ€t aikabudjetissa"
đ«đź Suomi
- â±ïž Ei enÀÀ aikakatkaisuja varapoluista. Live-ajo 1052:lla: roolihaku valmistui 16, mutta 10 katkesi yhĂ€ aikakattoon, koska pÀÀhaun jĂ€lkeiset kaksi varahakua eivĂ€t tienneet budjetista ja ylittivĂ€t sen. Nyt varahaut ohitetaan kun aikaa on alle 5-8 s ja muuten ne saavat vain jĂ€ljellĂ€ olevan ajan. Löydetyt henkilöt palautuvat aina.
đŹđ§ English
- â±ïž No more time-outs from fallback paths. Live run on 1052: the role search completed for 16 companies but 10 still hit the time cap, because the two fallback searches after the main search did not know about the budget and overran it. Fallbacks are now skipped when less than 5-8 s remain and otherwise get only the remaining time. People already found are always returned.
1.0.1052
2026-08-251.0.1052 - 2026-08-25 - "đŻ Roolihaku ei enÀÀ heitĂ€ löydettyjĂ€ pois eikĂ€ kuormita hakua turhaan"
đ«đź Suomi
- â±ïž Löydetyt henkilöt sĂ€ilyvĂ€t, vaikka aika loppuu. Live-ajo 1051:llĂ€: 41 roolihakua 46:sta osui aikakattoon ja jokainen niistĂ€ hukkasi jo löydetyt nimet. Nyt haulla on yrityskohtainen aikabudjetti: uutta nimikettĂ€ ei aloiteta kun aika on lopussa, ja siihen asti löydetyt henkilöt palautetaan kortille.
- đ Ei turhaa kuormaa. Jos ensimmĂ€inen nimike ei tuota yhtÀÀn yritykseen sidottua profiilia, yrityksellĂ€ ei ole jĂ€lkeĂ€ hakukoneissa, ja loput nimikkeet ohitetaan. VaralĂ€hteet saavat enÀÀ 2,5 s. Hakukuorma per yritys putoaa noin kolmasosaan, mikĂ€ pitÀÀ haun omat lĂ€hteet hengissĂ€ koko ajon.
đŹđ§ English
- â±ïž Found people are kept even when time runs out. Live run on 1051: 41 of 46 role searches hit the time cap and every one of them lost the names already found. The search now has a per-company time budget: no new title is started when time is up, and the people found so far are returned to the card.
- đ No wasted load. If the first title yields no company-affiliated profile, the company has no footprint in the search engines and the remaining titles are skipped. Backup sources get only 2.5 s. Search load per company drops to about a third, which keeps the hunt's own sources alive through the run.
1.0.1051
2026-08-251.0.1051 - 2026-08-25 - "đŻ Roolihenkilö (CTO / CPO / kehitysjohtaja) löytyy nyt oikeasti - mitattu 0/24 â 6/6 firmalle henkilöitĂ€"
đ«đź Suomi
- đŻ Roolihenkilöhaku korjattu juurisyistĂ€. Live-ajo 1049:llĂ€: 24 firmaa, roolihenkilö 0. Mitattu syy: hakukysely oli muodossa, jota moottorit eivĂ€t kunnioita (0-1 osumaa 5:stĂ€ kaikilla), ja moottorikilpailussa nopein roskavastaus voitti 127/133 kertaa ja perui muut. Nyt kysely on luonnollinen (firma + nimike), kilpailun voittaa vasta tulos jossa on firmaan sidottu profiili, ja usean lĂ€hteen osumat yhdistetÀÀn. Mitattu tuotteen omalla proxyreitillĂ€: 6/6 firmalle henkilöitĂ€ (36 kpl), roolihenkilö tittelistĂ€ 2/6 - loput firmat eivĂ€t julkaise kyseistĂ€ titteliĂ€, ja Atlas sanoo sen ÀÀneen.
- đ§Ÿ Titteli vain lĂ€hteestĂ€. Aiemmin kyselyn nimike (esim. "CTO") saattoi pÀÀtyĂ€ henkilön tittelikentĂ€ksi ilman todistetta. Nyt titteli luetaan profiilin omasta otsikosta; jos sitĂ€ ei ole, kenttĂ€ jÀÀ tyhjĂ€ksi.
- đ Sama nimi, eri firma. Yhden sanan yritysnimillĂ€ (esim. "Druid") haku toi ulkomaisia samannimisiĂ€. Profiilin maa verrataan liidin maahan, ja ristiriita hylĂ€tÀÀn.
- ⥠Kevyempi ja nopeampi. Kilpailu on porrastettu: kolme kantavaa lÀhdettÀ heti, muut vain jos ne eivÀt tuottaneet. Hakukuorma per yritys puolittuu, mikÀ suojaa proxypoolia estoilta.
đŹđ§ English
- đŻ Role-person search fixed at the root. Live run on 1049: 24 companies, role person 0. Measured cause: the query form was one the engines do not honour (0-1 hits of 5 everywhere), and in the engine race the fastest junk answer won 127/133 times and cancelled the rest. The query is now natural (company + title), the race is won only by a result with a company-affiliated profile, and hits from several sources are merged. Measured on the product's own proxy route: people for 6/6 companies (36), role person from the title 2/6 - the other companies do not publish that title, and Atlas says so.
- đ§Ÿ Title from the source only. Previously the query title (e.g. "CTO") could end up as the person's title without evidence. The title is now read from the profile's own headline; if absent, the field stays empty.
- đ Same name, different company. Single-word company names (e.g. "Druid") pulled in foreign namesakes. The profile's country is compared to the lead's country and a conflict is rejected.
- ⥠Lighter and faster. The race is tiered: three carrying sources first, the rest only if they produced nothing. Search load per company halves, which protects the proxy pool from blocks.
1.0.1050
2026-08-251.0.1050 - 2026-08-25 - "đŻ Jokaista valittua kohderoolia kysytÀÀn; roolihaulle enemmĂ€n aikaa"
đ«đź Suomi
- đŻ Kun useampi kohderooli on valittu, jokainen niistĂ€ kysytÀÀn. Mitattu 1049-ajosta: kolme CTO-nimikkeen muunnelmaa tĂ€yttivĂ€t haun kiintiön, eikĂ€ CPO:ta tai kehitysjohtajaa kysytty lainkaan. Nyt nimikkeet kiertĂ€vĂ€t roolien yli (CTO, CPO, kehitysjohtaja, sitten seuraavat muunnelmat), joten kaikki valitut roolit saavat hakunsa.
- â±ïž Roolihaulle enemmĂ€n aikaa per yritys (15 â 25 s). Mitattu: 3 hakua 5:stĂ€ katkesi aikakattoon ennen vastausta. Katto on yhĂ€ yrityskohtainen, joten haku ei jÀÀ jumiin.
đŹđ§ English
- đŻ With several target roles selected, each of them is searched. Measured on a 1049 run: three variants of the CTO title used up the search quota and CPO / head of engineering were never asked. Titles now rotate across the roles (CTO, CPO, head of engineering, then the next variants), so every selected role gets its search.
- â±ïž More time for the role search per company (15 â 25 s). Measured: 3 of 5 searches hit the time cap before an answer. The cap is still per company, so a hunt never stalls.
1.0.1049
2026-08-251.0.1049 - 2026-08-25 - "đŻ Roolihaku tekee työnsĂ€ myös syvĂ€haussa; listariville đŻ-merkki kun kohderooli löytyi"
đ«đź Suomi
- đŻ Roolihenkilöhaku ajaa nyt myös syvĂ€haun (deep) liideille. Mitattu 1048-ajosta: roolihaku oli kytketty polkuun, jota syvĂ€haku ei kĂ€ytĂ€ â 0 roolihakua. Nyt jokainen syvĂ€haun liidi saa roolikohtaisen henkilöhaun kun kohderooli on pÀÀllĂ€ (katto 120 yritystĂ€/haku, 15 s/yritys), ja roolihenkilö nousee kortin ykköseksi.
- đŻ Listariville merkki kun kohderooli löytyi (CTO / CPO / kehitysjohtaja) â samaan riviin sĂ€hköposti-, puhelin- ja LinkedIn-merkkien kanssa. NĂ€kyy vain kun titteli on lĂ€hteessĂ€.
đŹđ§ English
- đŻ The role-person search now also runs for deep-hunt leads. Measured on a 1048 run: the search was wired to a path deep hunts never use â 0 searches. Every deep-hunt lead now gets a role-specific person search when a target role is on (cap 120 companies per hunt, 15 s each), and the role person is put first on the card.
- đŻ A badge on the list row when the target role was found (CTO / CPO / head of engineering) â next to the email, phone and LinkedIn marks. Shown only when the title is in the source.
1.0.1048
2026-08-251.0.1048 - 2026-08-25 - "đŻ Roolihaku toimii hakusanalla ja jo haun aikana; đŻ-merkintĂ€ nimen perÀÀn"
đ«đź Suomi
- đŻ Kirjoita rooli hakusanaksi. "CTO/CPO/kehitysjohtaja" hakusanana ei enÀÀ mene toimialahakuun (mitattu: tuotti asuntoyhtiöitĂ€ ja teollisuuspuistoja). Roolisanat kytkevĂ€t kohderoolit pÀÀlle tĂ€ksi hauksi; jos toimialaa ei annettu, pohjaksi otetaan tekniikan toimialat (ohjelmisto, elektroniikka, automaatio) ja se kerrotaan lokissa avoimesti.
- đ€ Roolihenkilö etsitÀÀn jo haun aikana, ei vasta syvĂ€kaivuussa. Kun kohderooli on pÀÀllĂ€, jokaiselle löydetylle yritykselle tehdÀÀn roolikohtainen henkilöhaku (katto 120 yritystĂ€/haku). Ilman kohderoolia haku toimii kuten ennen.
- đ·ïž đŻ CTO / CPO / kehitysjohtaja -merkintĂ€ nimen perÀÀn liidipaneelissa, kun henkilön titteli vastaa valitsemaasi kohderoolia. Titteli nĂ€ytetÀÀn vain kun se on lĂ€hteessĂ€ - ei arvausta.
đŹđ§ English
- đŻ Type the role as the search term. "CTO/CPO/head of engineering" as a search term no longer goes to the industry search (measured: it produced housing companies and industrial parks). Role words switch the target roles on for the hunt; without an industry, technology industries (software, electronics, automation) are used as the base and this is stated openly in the log.
- đ€ The role person is searched during the hunt, not only in deep enrich. With a target role on, every found company gets a role-specific person search (cap 120 companies per hunt). Without a target role the hunt works as before.
- đ·ïž A đŻ CTO / CPO / head of engineering badge after the name in the lead panel when the person's title matches your target role. The title is shown only when the source states it - never guessed.
1.0.1047
2026-08-251.0.1047 - 2026-08-25 - "đŻ Kohderooli hakuehtona (CTO · CPO · kehitysjohtaja) ja rahoitusta saaneet yritykset hakusanalla"
đ«đź Suomi
- đŻ Kenet haluat tavoittaa - valitse rooli asetuksista. Uusi Kohderooli-asetus (CTO / teknologiajohtaja, CPO / tuotejohtaja, kehitysjohtaja / Head of Engineering). Kun rooli on valittu, Atlas etsii sen henkilön ensin, nostaa hĂ€net kortin ykköseksi ("Kontaktoi ensin"), merkitsee liidille "kohderooli löytyi" ja perustelee: pÀÀttÀÀ tuotekehityksestĂ€. Ilman valintaa kĂ€ytös on ennallaan (toimitusjohtaja ensin). Asiakastoive: "kokeiltu monta ohjelmaa, joutuu hakemaan kĂ€sin".
- đ¶ Rahoitusta saaneet yritykset suoraan hakusanalla. Hakusanat kuten "rahoituskierros", "startup rahoitus" tai "osakeanti" tuovat listalle yritykset, jotka ovat viimeisen 90 pĂ€ivĂ€n aikana rekisteröineet osakeannin tai osakepÀÀoman korotuksen valitulla alueella, sekĂ€ uutisissa kerrotut rahoituskierrokset. Mitattu Pirkanmaa: 55 yritystĂ€ 9 sekunnissa, jokaisella y-tunnus, pĂ€ivĂ€mÀÀrĂ€ ja julkinen lĂ€hde kortilla. Kortti kertoo tĂ€smĂ€lleen mitĂ€ rekisteröitiin - ei arvaa summaa tai sijoittajaa.
đŹđ§ English
- đŻ Choose who you want to reach - a target role setting. New Target role setting (CTO / head of technology, CPO / head of product, head of engineering / R&D lead). With a role selected, Atlas searches for that person first, puts them at the top of the card ("Contact first"), flags the lead as "target role found" and explains: decides on product development. Without a selection nothing changes (CEO first).
- đ¶ Funded companies straight from the search term. Search terms such as "funding round", "startup funding" or "share issue" bring companies that registered a share issue or capital increase in the selected region within the last 90 days, plus funding rounds reported in the news. Measured for the Tampere region: 55 companies in 9 seconds, each with business ID, date and a public source on the card. The card states exactly what was registered - it never guesses the amount or the investor.
1.0.1046
2026-08-251.0.1046 - 2026-08-25 - "đ„ Yrityksen avoimet työpaikat löytyvĂ€t sen omalta sivustolta - myös kun ura-sivu on nimetty toisin tai sijaitsee erillisellĂ€ osoitteella"
đ«đź Suomi
- đ„ Rekrytointisignaali ei enÀÀ jÀÀ huomaamatta. Mitattu: yritys, jolla oli neljĂ€ avointa paikkaa omalla rekrysivustollaan, nĂ€kyi Atlaksessa ilman rekrytointisignaalia, koska ura-sivu oli nimetty toisin kuin Atlas arvasi eikĂ€ sitĂ€ koskaan haettu. Nyt Atlas lukee ura-sivun sijainnin sivuston omasta rakenteesta (sivukartta, valikko, erillinen rekryosoite, yleiset rekrytointialustat) ja tuo avoimet roolit kortille lĂ€hteineen. Tuotekehitysroolit (esim. sulautetut jĂ€rjestelmĂ€t, ohjelmistokehitys) erotellaan - kĂ€rki tuotekehityskumppaneille.
- đ§ Sama sivukartta kaikille kolmelle lukijalle. Aiemmin vain yksi Atlaksen kolmesta sivunlukijasta kĂ€ytti sivustonsa omaa sivukarttaa; nyt kaikki - yhteystiedot, tiimi ja ura löytyvĂ€t samalla tavalla joka polulla.
- â Ei rekryvĂ€itettĂ€ ilman ilmoitusta. PelkkĂ€ ura-sivu ilman avoimia paikkoja nĂ€ytetÀÀn rehellisesti sellaisena; valikkosanat tai ura-osion artikkelit eivĂ€t koskaan pÀÀdy rooleiksi.
đŹđ§ English
- đ„ The hiring signal is no longer missed. Measured: a company with four open positions on its own careers site showed no hiring signal in Atlas because its careers page was named differently from what Atlas guessed and was never fetched. Atlas now reads the careers page location from the site's own structure (site map, menu, separate careers address, common recruiting platforms) and brings the open roles to the card with their source. Product-development roles (e.g. embedded, software) are singled out - the edge for R&D partners.
- đ§ One site map for all three readers. Previously only one of Atlas's three page readers used the site's own map; now all of them do - contacts, team and careers are found the same way on every path.
- â No hiring claim without a posting. A careers page with no open positions is shown honestly as such; menu words or careers-section articles never become roles.
1.0.1045
2026-08-251.0.1045 - 2026-08-25 - "âïž Kotisivuttoman yrityksen yhteystietohaku ei enÀÀ katkea haun ruuhkassa"
đ«đź Suomi
- âïž Yhteystietohaku ei enÀÀ sulkeudu ruuhkan takia. Mitattu Goldmine-ajosta: kaksi hidasta hakua sulki yhteystietolĂ€hteen kahdeksi minuutiksi ja 40 kotisivutonta yritystĂ€ jĂ€i ilman numeroa ja sĂ€hköpostia, vaikka lĂ€hde itse vastasi normaalisti. Nyt hetkellinen ruuhka ei katkaise yhteystietohakua; aidosti vastaamaton lĂ€hde ohitetaan edelleen.
- đ Goldmine kĂ€sittelee kotisivuttomat yritykset heti, ei viimeisenĂ€. Mitattu: 144 kotisivutonta yritystĂ€ odotti 8 minuuttia, koska ne kĂ€siteltiin vasta kotisivullisten jĂ€lkeen. Nyt molemmat etenevĂ€t vuorotellen ja yhteystiedot alkavat virrata heti.
- đ§č Sovelluksen mukana kulkeva muutoshistoria on siistitty: vanhat versiot kuvataan yleisellĂ€ tasolla.
đŹđ§ English
- đ Goldmine processes companies without a website immediately, not last. Measured: 144 such companies waited 8 minutes because they were handled only after the ones with a website. Both now progress in turn and contacts start streaming immediately.
- âïž Contact lookup no longer shuts down under load. Measured on a Goldmine run: two slow lookups closed the contact source for two minutes and 40 companies without a website got no phone or email, although the source itself responded normally. A momentary load spike no longer cuts the contact lookup; a genuinely unresponsive source is still skipped.
- đ§č The change history shipped with the app has been tidied: older versions are described at a general level.
1.0.1044
2026-08-251.0.1044 - 2026-08-25 - "âïž Kotisivuttoman yrityksen yhteystiedot löytyvĂ€t taas"
đ«đź Suomi
- âïžđ§ Yritykset ilman kotisivua saavat nyt puhelinnumeron tai sĂ€hköpostin. Mitattu 15 yrityksen otoksesta: 14 sai yhteystiedon, aamulla vastaava luku oli 0.
- 1ïžâŁ Sama puhelinnumero ei enÀÀ nĂ€y kahtena eri kirjoitusmuodon takia.
đŹđ§ English
- âïžđ§ Companies without a website now get a phone number or email. Measured on a 15-company sample: 14 got a contact; in the morning the figure was 0.
- 1ïžâŁ The same phone number no longer appears twice because of a different formatting.
1.0.1043
2026-08-251.0.1043 - 2026-08-25 - "đ§ Atlas selvittÀÀ verkkotunnukset itse - hidas tai rikkinĂ€inen koneen DNS ei enÀÀ tee 'ei domainia'; paneeli ja lista kokonaan suomeksi"
đ«đź Suomi
- đ§ Yrityksen kotisivun olemassaolo ei enÀÀ riipu koneesi nimipalvelinasetuksista. Mitattu: erÀÀllĂ€ koneella jokainen uusi nimenselvitys kesti 2 sekuntia, koska Windows kysyi ensin reitittimen hidasta IPv6-nimipalvelinta, ja kotisivutarkistus ehti aikakatketa. Atlas kysyy nyt verkkotunnukset itse luotettavilta julkisilta nimipalvelimilta (Cloudflare, Google, Quad9) ja kĂ€yttÀÀ koneen omaa nimipalvelinta vain varalla. Mitattu: sama tarkistus 2,04 s â 0,05 s. Lokiin tulee "DnsHealth"-rivi, josta tuki nĂ€kee heti onko kone hitaassa tilassa.
- đ«đź Paneeli ja lista ovat suomeksi myös Goldmine-osioissa. "Email + phone found", "Registry confirmed", "Phone-only contact", tier-nimet UNDEREXPOSED/SATURATED/WARM ja "INSUFFICIENT_SIGNAL" nĂ€kyvĂ€t nyt suomeksi (SĂ€hköposti + puhelin löytyi, Rekisteri vahvistettu, KYLLĂSTETTY, LĂMMIN, LIIAN VĂHĂN SIGNAALIA). Samoin haun peruutus- ja sulkemisikkunat.
- đ·ïž Rekisterin ruotsin- tai englanninkielinen toimialanimike kÀÀnnetÀÀn suomeksi. "Icke-reguljĂ€r vĂ€gtransport, passagerartrafik" nĂ€kyy nyt "Taksiliikenne" - kÀÀnnös tehdÀÀn toimialakoodista, ja kĂ€yttĂ€jĂ€n oma hakusana sĂ€ilyy aina sellaisenaan.
đŹđ§ English
- đ§ Whether a company has a website no longer depends on your machine's DNS settings. Measured: on one machine every fresh name lookup took 2 seconds because Windows asked the router's slow IPv6 resolver first, and the website check timed out. Atlas now resolves domains itself via trusted public resolvers (Cloudflare, Google, Quad9) and uses the machine's resolver only as a fallback. Measured: the same check 2.04 s â 0.05 s. A "DnsHealth" log line shows support immediately whether a machine is in the slow state.
- đ Panel and list are fully localised in the Goldmine sections too. Signal labels and tier names (UNDEREXPOSED / SATURATED / WARM / INSUFFICIENT_SIGNAL) and the cancel/close dialogs now follow the UI language.
- đ·ïž A registry industry label in the wrong language is translated from the industry code. The user's own search keyword is always kept as typed.
1.0.1042
2026-08-251.0.1042 - 2026-08-25 - "âïžđ§ Kotisivuttoman yrityksen puhelin ja sĂ€hköposti löytyvĂ€t taas: Fonecta-haku korjattu"
đ«đź Suomi
- âïžđ§ Kotisivuttomat yritykset saavat taas puhelinnumeron ja sĂ€hköpostin hakemistosta. Mitattu Keski-Suomen Goldmine-ajossa: yhdellĂ€kÀÀn kotisivuttomalla yrityksellĂ€ ei ollut sĂ€hköpostia (0/30), vaikka hakemistossa se on. Syy: Fonecta oli muuttanut hakuosoitteensa, ja Atlas sai vastaukseksi Fonectan etusivun ilman yhtÀÀn yritystĂ€. Nyt Atlas lukee Fonectan uuden haun rakenteisen tuloksen ja poimii yrityksen y-tunnuksella, ei nimellĂ€: esimerkkiyritys sai puhelinnumeron, sĂ€hköpostin ja verkkotunnuksen 3 sekunnissa. Kaimayritys ei koskaan kelpaa; jos Fonecta ei tunne yritystĂ€, kortti kertoo sen rehellisesti.
- đ§âđŒ Rekisterin nimenkirjoituslause ei enÀÀ pÀÀdy pÀÀttĂ€jĂ€n nimeksi. Hakemistosivun teksti "kumpikin yksin" ei ole henkilö; pÀÀttĂ€jĂ€ksi kelpaa vain oikea isolla kirjoitettu nimi.
đŹđ§ English
- âïžđ§ Companies without a website get their phone number and email from the directory again. Measured on a Central Finland Goldmine run: none of the domainless companies had an email (0/30) although the directory lists one. Cause: Fonecta had changed its search address and Atlas received Fonecta's front page with no companies. Atlas now reads the structured result of Fonecta's new search and picks the company by business ID, not by name: the example company got phone, email and domain in 3 seconds. A namesake company never qualifies; if Fonecta does not know the company, the card says so honestly.
- đ§âđŒ A registry signing-rights phrase no longer becomes a decision-maker name. Directory text like "kumpikin yksin" is not a person; only a real capitalised name qualifies.
1.0.1041
2026-08-251.0.1041 - 2026-08-25 - "𧔠Kotisivun haku ei enÀÀ jonota ruuhkassa: iso firma ei nÀytÀ 'ei domainia' vain siksi ettÀ haku oli kiireinen"
đ«đź Suomi
- 𧔠Yrityksen kotisivun tarkistus ei enÀÀ aikakatkea haun ruuhkassa. Mitattu Keski-Suomen ja EtelÀ-Savon rakennusalan hauissa: 311/313 kotisivutarkistusta aikakatkesi, ja vakiintuneita yrityksiÀ nÀytettiin "ei verkkotunnusta" vaikka sivusto on olemassa. Syy: nimenselvitys jonotti samassa sÀiepoolissa kuin talous- ja rekisterisivujen haut. Nyt nimenselvityksellÀ on oma pooli ja tarkistuksella riittÀvÀ aikabudjetti myös hitaalla nimipalvelimella.
- âł Rekisterihaku saa valmistua ennen kuin hakukoneita vapautetaan lisÀÀ. Aiemmin "rekisteri ei tuonut yhtÀÀn firmaa" pÀÀteltiin 27 sekunnissa, kun rekisteri tarvitsi 60 s â 32 ylimÀÀrĂ€istĂ€ hakukonekyselyĂ€ ruuhkautti haun. Nyt odotetaan rekisterin valmistumista (enintÀÀn 90 s).
- đ Suomen haku lĂ€htee aina lĂ€himaan osoitteesta, ei arvotusta. Kun suomalaisia osoitteita ei ole saatavilla, valitaan lĂ€himaaketjun (esim. DE) osoite suoraan; aiemmin arvonta ohitti sen 43 % ajasta ja haku saattoi lĂ€hteĂ€ Hongkongista tai Yhdysvalloista.
- đ€ Hakukoneen aitoa tulosta ei enÀÀ tuomita roskaksi ÀÀkkösen takia. "JyvĂ€skylĂ€" ja "Jyvaskyla" tulkitaan samaksi, ja hakuoperaattorin sisĂ€ltö (esim. intitle:"rakennusliike") lasketaan hakusanaksi. Aito roska (tulokset jotka eivĂ€t liity kyselyyn mitenkÀÀn) tunnistetaan edelleen.
đŹđ§ English
- đ§” Website checks no longer time out under hunt load. Measured on Central Finland and South Savo construction runs: 311 of 313 website checks timed out, and established companies were shown as "no domain" although the site exists. Cause: DNS resolution queued in the same thread pool as financial and registry page fetches. DNS now has its own pool and the check has enough time budget even with a slow resolver.
- âł Registry discovery gets to finish before more search-engine queries are released. "Registry returned nothing" used to be concluded after 27 s while the registry needed 60 s, releasing 32 extra queries that congested the run. Now the run waits for the registry (up to 90 s).
- đ A Finnish hunt always starts from a neighbouring country's address, never a random one. With no Finnish addresses available, the fallback chain (e.g. DE) is queried directly; a random draw used to miss it 43% of the time, sending the hunt from Hong Kong or the US.
- đ€ A genuine search result is no longer judged as junk because of an accent. "JyvĂ€skylĂ€" and "Jyvaskyla" match, and operator content (e.g. intitle:"rakennusliike") counts as a query term. Real junk (results unrelated to the query) is still detected.
1.0.1040
2026-08-251.0.1040 - 2026-08-25 - "đ Normaali haku ja Goldmine pysyvĂ€t erillÀÀn, signaalit listan kĂ€rkeen"
đ«đź Suomi
- đ Normaali haku ei enÀÀ tĂ€yty juuri rekisteröidyillĂ€ firmoilla. Mitattu EtelĂ€-Pohjanmaan rakennusalan haussa: normaalihaun listan kĂ€rki oli tĂ€ynnĂ€ alle puoli vuotta vanhoja rekisterifirmoja ilman kotisivua tai kontaktia, ja niiden ainoa "signaali" oli rekisteröintipĂ€ivĂ€. Ne ovat Goldmine-haun tuote. Nyt normaali haku ottaa rekisteristĂ€ vain vakiintuneet yritykset; tuoreet firmat löytyvĂ€t edelleen, kun niillĂ€ on sivusto ja ostoaikomus. Goldmine ja Silver toimivat kuten ennen.
- đ Signaalilliset yritykset nousevat listan kĂ€rkeen. Kun Atlas on löytĂ€nyt todetun ostosignaalin (rekrytointi, investointi tai laajennus, uutinen, rahoitus, sponsorointi), yritys nousee listassa ylimmĂ€ksi riippumatta HOT/WARM/COLD-luokasta. Signaalin mÀÀritelmĂ€ on sama kuin kortilla ja HOT-laskurissa.
- đ Vanha rekisteröinti ei ole ostosignaali. Yli puoli vuotta vanha rekisteröintipĂ€ivĂ€ nĂ€kyy edelleen kortin sopivuustiedoissa, mutta se ei enÀÀ tĂ€ytĂ€ signaalisaraketta eikĂ€ vĂ€itĂ€ syytĂ€ soittaa juuri nyt.
- đ VÀÀrĂ€n maan verkkosivu ei enÀÀ tartu suomalaiseen yritykseen. Mitattu: SeinĂ€joen ConMet Oy sai kortilleen yhdysvaltalaisen ConMetin sivuston ja puhelinnumeron (+1 360). Valmiiksi tarjottu verkkotunnus kĂ€y nyt saman maatarkistuksen lĂ€pi kuin Atlaksen itse löytĂ€mĂ€t: jos sivun yhteystiedot ovat yksin vieraasta maasta, sivua ei liitetĂ€.
- đ Yrityksen oma y-tunnus ei enÀÀ vaihdu kaimaan. Sama kortti vĂ€itti samaan aikaan "juuri perustettu 2025" ja "lakannut", koska talous- ja tilatiedot haettiin samannimiseltĂ€ vanhalta yritykseltĂ€. RekisteristĂ€ saatu y-tunnus on nyt aina rikastuksen lĂ€htökohta; nimihaku on vain varapolku tunnuksettomalle yritykselle.
- â°ïž Lopettanut tai konkurssissa oleva yritys ei koskaan saa "Ota yhteyttĂ€ tĂ€nÀÀn" -suositusta, eikĂ€ tilamerkintÀÀ esitetĂ€ syynĂ€ soittaa.
đŹđ§ English
- đ Normal search no longer fills up with freshly registered companies. Measured in a construction-industry search in South Ostrobothnia: the top of the normal-search list was full of registry companies under six months old with no website or contact, whose only "signal" was the registration date. Those are the product of the Goldmine search. Normal search now takes only established companies from the registry; fresh companies are still found when they have a website and buying intent. Goldmine and Silver work as before.
- đ Companies with signals rise to the top of the list. When Atlas has found a proven buying signal (hiring, investment or expansion, news, funding, sponsorship), the company is ranked first regardless of its HOT/WARM/COLD tier. The definition of a signal is the same one the card and the HOT counter use.
- đ An old registration is not a buying signal. A registration date older than six months still appears in the card's fit information, but it no longer fills the signal column or claims a reason to call right now.
- đ A website from the wrong country no longer attaches to a Finnish company. Measured: ConMet Oy of SeinĂ€joki received the website and phone number (+1 360) of the US company ConMet. A pre-supplied domain now passes the same country check as the ones Atlas finds itself: if the page's contact details are exclusively from a foreign country, the page is not attached.
- đ A company's own business ID no longer switches to a namesake. The same card claimed both "just founded 2025" and "ceased", because financial and status data were fetched for an older company with the same name. The business ID obtained from the registry is now always the starting point of enrichment; name lookup is only a fallback for companies without an ID.
- â°ïž A ceased or bankrupt company never receives a "Contact today" recommendation, and the status is not presented as a reason to call.
1.0.1039
2026-08-251.0.1039 - 2026-08-25 - "đ Normaali haku ja Goldmine pysyvĂ€t erillÀÀn, signaalit listan kĂ€rkeen"
đ«đź Suomi
- đ Normaali haku ei enÀÀ tĂ€yty juuri rekisteröidyillĂ€ firmoilla. Mitattu EtelĂ€-Pohjanmaan rakennusalan haussa: normaalihaun listan kĂ€rki oli tĂ€ynnĂ€ alle puoli vuotta vanhoja rekisterifirmoja ilman kotisivua tai kontaktia, ja niiden ainoa "signaali" oli rekisteröintipĂ€ivĂ€. Ne ovat Goldmine-haun tuote. Nyt normaali haku ottaa rekisteristĂ€ vain vakiintuneet yritykset; tuoreet firmat löytyvĂ€t edelleen, kun niillĂ€ on sivusto ja ostoaikomus. Goldmine ja Silver toimivat kuten ennen.
- đ Signaalilliset yritykset nousevat listan kĂ€rkeen. Kun Atlas on löytĂ€nyt todetun ostosignaalin (rekrytointi, investointi tai laajennus, uutinen, rahoitus, sponsorointi), yritys nousee listassa ylimmĂ€ksi riippumatta HOT/WARM/COLD-luokasta. Signaalin mÀÀritelmĂ€ on sama kuin kortilla ja HOT-laskurissa.
- đ Vanha rekisteröinti ei ole ostosignaali. Yli puoli vuotta vanha rekisteröintipĂ€ivĂ€ nĂ€kyy edelleen kortin sopivuustiedoissa, mutta se ei enÀÀ tĂ€ytĂ€ signaalisaraketta eikĂ€ vĂ€itĂ€ syytĂ€ soittaa juuri nyt.
- đ VÀÀrĂ€n maan verkkosivu ei enÀÀ tartu suomalaiseen yritykseen. Mitattu: SeinĂ€joen ConMet Oy sai kortilleen yhdysvaltalaisen ConMetin sivuston ja puhelinnumeron (+1 360). Valmiiksi tarjottu verkkotunnus kĂ€y nyt saman maatarkistuksen lĂ€pi kuin Atlaksen itse löytĂ€mĂ€t: jos sivun yhteystiedot ovat yksin vieraasta maasta, sivua ei liitetĂ€.
- đ Yrityksen oma y-tunnus ei enÀÀ vaihdu kaimaan. Sama kortti vĂ€itti samaan aikaan "juuri perustettu 2025" ja "lakannut", koska talous- ja tilatiedot haettiin samannimiseltĂ€ vanhalta yritykseltĂ€. RekisteristĂ€ saatu y-tunnus on nyt aina rikastuksen lĂ€htökohta; nimihaku on vain varapolku tunnuksettomalle yritykselle.
- â°ïž Lopettanut tai konkurssissa oleva yritys ei koskaan saa "Ota yhteyttĂ€ tĂ€nÀÀn" -suositusta, eikĂ€ tilamerkintÀÀ esitetĂ€ syynĂ€ soittaa.
đŹđ§ English
- đ Normal search no longer fills up with freshly registered companies. Measured in a construction-industry search in South Ostrobothnia: the top of the normal-search list was full of registry companies under six months old with no website or contact, whose only "signal" was the registration date. Those are the product of the Goldmine search. Normal search now takes only established companies from the registry; fresh companies are still found when they have a website and buying intent. Goldmine and Silver work as before.
- đ Companies with signals rise to the top of the list. When Atlas has found a proven buying signal (hiring, investment or expansion, news, funding, sponsorship), the company is ranked first regardless of its HOT/WARM/COLD tier. The definition of a signal is the same one the card and the HOT counter use.
- đ An old registration is not a buying signal. A registration date older than six months still appears in the card's fit information, but it no longer fills the signal column or claims a reason to call right now.
- đ A website from the wrong country no longer attaches to a Finnish company. Measured: ConMet Oy of SeinĂ€joki received the website and phone number (+1 360) of the US company ConMet. A pre-supplied domain now passes the same country check as the ones Atlas finds itself: if the page's contact details are exclusively from a foreign country, the page is not attached.
- đ A company's own business ID no longer switches to a namesake. The same card claimed both "just founded 2025" and "ceased", because financial and status data were fetched for an older company with the same name. The business ID obtained from the registry is now always the starting point of enrichment; name lookup is only a fallback for companies without an ID.
- â°ïž A ceased or bankrupt company never receives a "Contact today" recommendation, and the status is not presented as a reason to call.
1.0.1038
2026-08-251.0.1038 - 2026-08-24 - "đ« Ei koskaan omalla osoitteella: ilman yhteysinfraa haku pysĂ€htyy, ei vuoda"
đ«đź Suomi
- đ« Atlas ei enÀÀ jatka omalla osoitteellasi, jos yhteysinfra puuttuu. Mitattu: yksi asennus ajoi kokonaisen haun ilman ettĂ€ se koskaan sai yhteyslistaa palvelimelta, ja ohjelma jatkoi hiljaa suoraan koneen omalla osoitteella: hakukoneet ja virallislĂ€hteet nĂ€kivĂ€t asiakkaan oman IP:n. Nyt jaeltu Atlas yrittÀÀ palvelinta kerran uudelleen, ja jos yhteyslistaa ja reittejĂ€ ei yhĂ€ ole, hakukonehaku ja virallislĂ€hteiden haku ohitetaan nĂ€kyvĂ€llĂ€ virheellĂ€ sen sijaan ettĂ€ ne ajettaisiin omalla osoitteella. Tilanne raportoituu myös palvelimelle, joten se nĂ€hdÀÀn ilman lokien pyytĂ€mistĂ€. Rekisterihaku toimii silti. Vahti
_smoke_no_own_ip_without_premium.py(20 tarkistusta).
- đ§ Haku ei enÀÀ jĂ€hmety minuutiksi juuri kun tulokset ovat valmiit. Mitattu asennetusta Atlaksesta: haun lopussa ohjelma odotti rikastusjonon tyhjenemistĂ€ tavalla, joka pysĂ€ytti koko kĂ€yttöliittymĂ€n jopa 60 sekunniksi (mitattu 59 s), ja samalla 39 kesken ollutta verkkopyyntöÀ hylkÀÀntyi. Odotus tehdÀÀn nyt taustalla: sama lopputulos, mutta ohjelma pysyy kĂ€ytettĂ€vĂ€nĂ€. Vahti
_smoke_scheduler_stop_offloop.py(4 tarkistusta).
đŹđ§ English
- đ« Atlas no longer continues on your own address when the connection infrastructure is missing. Measured: one installation ran a full hunt without ever receiving the connection list from the server, and the program silently carried on from the machine's own address: search engines and official sources saw the customer's own IP. A distributed Atlas now retries the server once, and if there is still no connection list and no routes, the search-engine step and the official-source lookup are skipped with a visible error instead of running from your own address. The situation is also reported to the server, so it is seen without asking for logs. Registry search still works. Guard
_smoke_no_own_ip_without_premium.py(20 checks). - đ§ The search no longer freezes for a minute right when the results are ready. Measured from an installed Atlas: at the end of a search the program waited for the enrichment queue to drain in a way that stopped the whole user interface for up to 60 seconds (59 s measured), and 39 in-flight network requests were discarded meanwhile. The wait now happens in the background: same outcome, but the program stays responsive. Guard
_smoke_scheduler_stop_offloop.py(4 checks).
1.0.1037
2026-08-251.0.1037 - 2026-08-24 - "đ« Ei koskaan omalla osoitteella: ilman yhteysinfraa haku pysĂ€htyy, ei vuoda"
đ«đź Suomi
- đ« Atlas ei enÀÀ jatka omalla osoitteellasi, jos yhteysinfra puuttuu. Mitattu: yksi asennus ajoi kokonaisen haun ilman ettĂ€ se koskaan sai yhteyslistaa palvelimelta, ja ohjelma jatkoi hiljaa suoraan koneen omalla osoitteella: hakukoneet ja virallislĂ€hteet nĂ€kivĂ€t asiakkaan oman IP:n. Nyt jaeltu Atlas yrittÀÀ palvelinta kerran uudelleen, ja jos yhteyslistaa ja reittejĂ€ ei yhĂ€ ole, hakukonehaku ja virallislĂ€hteiden haku ohitetaan nĂ€kyvĂ€llĂ€ virheellĂ€ sen sijaan ettĂ€ ne ajettaisiin omalla osoitteella. Tilanne raportoituu myös palvelimelle, joten se nĂ€hdÀÀn ilman lokien pyytĂ€mistĂ€. Rekisterihaku toimii silti. Vahti
_smoke_no_own_ip_without_premium.py(20 tarkistusta).
- đ§ Haku ei enÀÀ jĂ€hmety minuutiksi juuri kun tulokset ovat valmiit. Mitattu asennetusta Atlaksesta: haun lopussa ohjelma odotti rikastusjonon tyhjenemistĂ€ tavalla, joka pysĂ€ytti koko kĂ€yttöliittymĂ€n jopa 60 sekunniksi (mitattu 59 s), ja samalla 39 kesken ollutta verkkopyyntöÀ hylkÀÀntyi. Odotus tehdÀÀn nyt taustalla: sama lopputulos, mutta ohjelma pysyy kĂ€ytettĂ€vĂ€nĂ€. Vahti
_smoke_scheduler_stop_offloop.py(4 tarkistusta).
đŹđ§ English
- đ« Atlas no longer continues on your own address when the connection infrastructure is missing. Measured: one installation ran a full hunt without ever receiving the connection list from the server, and the program silently carried on from the machine's own address: search engines and official sources saw the customer's own IP. A distributed Atlas now retries the server once, and if there is still no connection list and no routes, the search-engine step and the official-source lookup are skipped with a visible error instead of running from your own address. The situation is also reported to the server, so it is seen without asking for logs. Registry search still works. Guard
_smoke_no_own_ip_without_premium.py(20 checks). - đ§ The search no longer freezes for a minute right when the results are ready. Measured from an installed Atlas: at the end of a search the program waited for the enrichment queue to drain in a way that stopped the whole user interface for up to 60 seconds (59 s measured), and 39 in-flight network requests were discarded meanwhile. The wait now happens in the background: same outcome, but the program stays responsive. Guard
_smoke_scheduler_stop_offloop.py(4 checks).
1.0.1036
2026-08-241.0.1036 - 2026-08-24 - "đ« Ei koskaan omalla osoitteella: ilman yhteysinfraa haku pysĂ€htyy, ei vuoda"
đ«đź Suomi
- đ« Atlas ei enÀÀ jatka omalla osoitteellasi, jos yhteysinfra puuttuu. Mitattu: yksi asennus ajoi kokonaisen haun ilman ettĂ€ se koskaan sai yhteyslistaa palvelimelta, ja ohjelma jatkoi hiljaa suoraan koneen omalla osoitteella: hakukoneet ja virallislĂ€hteet nĂ€kivĂ€t asiakkaan oman IP:n. Nyt jaeltu Atlas yrittÀÀ palvelinta kerran uudelleen, ja jos yhteyslistaa ja reittejĂ€ ei yhĂ€ ole, hakukonehaku ja virallislĂ€hteiden haku ohitetaan nĂ€kyvĂ€llĂ€ virheellĂ€ sen sijaan ettĂ€ ne ajettaisiin omalla osoitteella. Tilanne raportoituu myös palvelimelle, joten se nĂ€hdÀÀn ilman lokien pyytĂ€mistĂ€. Rekisterihaku toimii silti. Vahti
_smoke_no_own_ip_without_premium.py(20 tarkistusta).
- đ§ Haku ei enÀÀ jĂ€hmety minuutiksi juuri kun tulokset ovat valmiit. Mitattu asennetusta Atlaksesta: haun lopussa ohjelma odotti rikastusjonon tyhjenemistĂ€ tavalla, joka pysĂ€ytti koko kĂ€yttöliittymĂ€n jopa 60 sekunniksi (mitattu 59 s), ja samalla 39 kesken ollutta verkkopyyntöÀ hylkÀÀntyi. Odotus tehdÀÀn nyt taustalla: sama lopputulos, mutta ohjelma pysyy kĂ€ytettĂ€vĂ€nĂ€. Vahti
_smoke_scheduler_stop_offloop.py(4 tarkistusta).
đŹđ§ English
- đ« Atlas no longer continues on your own address when the connection infrastructure is missing. Measured: one installation ran a full hunt without ever receiving the connection list from the server, and the program silently carried on from the machine's own address: search engines and official sources saw the customer's own IP. A distributed Atlas now retries the server once, and if there is still no connection list and no routes, the search-engine step and the official-source lookup are skipped with a visible error instead of running from your own address. The situation is also reported to the server, so it is seen without asking for logs. Registry search still works. Guard
_smoke_no_own_ip_without_premium.py(20 checks). - đ§ The search no longer freezes for a minute right when the results are ready. Measured from an installed Atlas: at the end of a search the program waited for the enrichment queue to drain in a way that stopped the whole user interface for up to 60 seconds (59 s measured), and 39 in-flight network requests were discarded meanwhile. The wait now happens in the background: same outcome, but the program stays responsive. Guard
_smoke_scheduler_stop_offloop.py(4 checks).
1.0.1035
2026-08-241.0.1035 - 2026-08-24 - "đ« Ei koskaan omalla osoitteella: ilman yhteysinfraa haku pysĂ€htyy, ei vuoda"
đ«đź Suomi
- đ« Atlas ei enÀÀ jatka omalla osoitteellasi, jos yhteysinfra puuttuu. Mitattu: yksi asennus ajoi kokonaisen haun ilman ettĂ€ se koskaan sai yhteyslistaa palvelimelta, ja ohjelma jatkoi hiljaa suoraan koneen omalla osoitteella: hakukoneet ja virallislĂ€hteet nĂ€kivĂ€t asiakkaan oman IP:n. Nyt jaeltu Atlas yrittÀÀ palvelinta kerran uudelleen, ja jos yhteyslistaa ja reittejĂ€ ei yhĂ€ ole, hakukonehaku ja virallislĂ€hteiden haku ohitetaan nĂ€kyvĂ€llĂ€ virheellĂ€ sen sijaan ettĂ€ ne ajettaisiin omalla osoitteella. Tilanne raportoituu myös palvelimelle, joten se nĂ€hdÀÀn ilman lokien pyytĂ€mistĂ€. Rekisterihaku toimii silti. Vahti
_smoke_no_own_ip_without_premium.py(20 tarkistusta).
- đ§ Haku ei enÀÀ jĂ€hmety minuutiksi juuri kun tulokset ovat valmiit. Mitattu asennetusta Atlaksesta: haun lopussa ohjelma odotti rikastusjonon tyhjenemistĂ€ tavalla, joka pysĂ€ytti koko kĂ€yttöliittymĂ€n jopa 60 sekunniksi (mitattu 59 s), ja samalla 39 kesken ollutta verkkopyyntöÀ hylkÀÀntyi. Odotus tehdÀÀn nyt taustalla: sama lopputulos, mutta ohjelma pysyy kĂ€ytettĂ€vĂ€nĂ€. Vahti
_smoke_scheduler_stop_offloop.py(4 tarkistusta).
đŹđ§ English
- đ« Atlas no longer continues on your own address when the connection infrastructure is missing. Measured: one installation ran a full hunt without ever receiving the connection list from the server, and the program silently carried on from the machine's own address: search engines and official sources saw the customer's own IP. A distributed Atlas now retries the server once, and if there is still no connection list and no routes, the search-engine step and the official-source lookup are skipped with a visible error instead of running from your own address. The situation is also reported to the server, so it is seen without asking for logs. Registry search still works. Guard
_smoke_no_own_ip_without_premium.py(20 checks). - đ§ The search no longer freezes for a minute right when the results are ready. Measured from an installed Atlas: at the end of a search the program waited for the enrichment queue to drain in a way that stopped the whole user interface for up to 60 seconds (59 s measured), and 39 in-flight network requests were discarded meanwhile. The wait now happens in the background: same outcome, but the program stays responsive. Guard
_smoke_scheduler_stop_offloop.py(4 checks).
1.0.1034
2026-08-241.0.1034 - 2026-08-24 - "đ Liikevaihtoreitti tulee nyt palvelimelta, ei kĂ€sin"
đ«đź Suomi
- đ Asennettu Atlas ei saanut liikevaihtoreittiĂ€ automaattisesti. Vaikeille virallislĂ€hteille (asiakastieto) on oma kiertĂ€vĂ€ kotiyhteys, jotta haku nĂ€yttÀÀ tavalliselta kĂ€vijĂ€ltĂ€ eikĂ€ asiakkaan omaa osoitetta polteta. Mitattu: jaeltava ohjelma ei kanna reitin osoitetta mukanaan (tarkoituksella, turvallisuussyistĂ€), ja palvelin jakoi kĂ€ynnistyksessĂ€ vain kiinteĂ€n yhteyslistan. Reitti oli siis kĂ€ytössĂ€ vain, jos joku oli kirjoittanut osoitteen kĂ€sin Asetuksiin. Muut asennukset hakivat liikevaihdot omalla osoitteellaan. Nyt palvelin jakaa molemmat reitit tuotteittain samassa kĂ€ynnistysvastauksessa, Atlas tĂ€yttÀÀ niillĂ€ vain tyhjĂ€t kohdat (oma asetus voittaa aina), ja vÀÀrĂ€n tuotteen osoite hylĂ€tÀÀn ÀÀneen. Vaihdos ei vaadi asiakkaalta mitÀÀn. Vahti
_smoke_broker_gateways_ingest.py(21 tarkistusta).
đŹđ§ English
- đ An installed Atlas did not receive its revenue route automatically. The difficult official sources (asiakastieto) have a dedicated rotating home connection so the lookup looks like an ordinary visitor and the customer's own address is never burned. Measured: the distributed program deliberately does not carry the route address (for security), and the server handed out only the fixed connection list at startup. The route was therefore active only if someone had typed the address into Settings by hand. Every other installation fetched revenue figures from its own address. The server now serves both routes per product in the same startup response, Atlas fills only the empty slots with them (your own setting always wins), and an address of the wrong product is rejected out loud. Nothing is required from the customer. Guard
_smoke_broker_gateways_ingest.py(21 checks).
1.0.1033
2026-08-241.0.1033 - 2026-08-24 - "đ Haku ajetaan naapurimaan IP:stĂ€ eikĂ€ satunnaisesta, ja kiintioÌ ei pala tyhjÀÀn"
đ«đź Suomi
- đșïž 57 maata haki satunnaisen vieraan maan IP:stĂ€, vaikka naapuri odotti vieressĂ€. Atlas suosii saman maan yhteyttĂ€, jotta haku nĂ€yttÀÀ paikalliselta eikĂ€ laukaise "unusual traffic" -tunnistusta. Kun omaa maata ei ole saatavilla, valinta menee lĂ€himaaketjun kautta. Mitattu: ketju oli olemassa vain 32 maalle 87:stĂ€. Lopuille 57 haku sai satunnaisen IP:n. KĂ€ytĂ€nnössĂ€ itĂ€valtalainen ja sveitsilĂ€inen haku ajettiin italialaisesta IP:stĂ€ vaikka saksalainen oli vieressĂ€, portugalilainen vaikka ranskalainen odotti, ja Luxemburg, Malta, Kreikka, Meksiko, Puerto Rico, Dominikaaninen tasavalta, Uusi-Seelanti sekĂ€ koko Pohjois-Afrikka samalla tavalla. Ketju kattaa nyt kaikki 87 tuettua maata: geo-ohjattujen hakujen osuus nousi 33 prosentista 61 prosenttiin. Vanhoja, mitattuja ketjuja ei muutettu, joten jo toimivat maat eivĂ€t voi taantua. Vahti
_smoke_proxy_pool_country_aware.py(15 tarkistusta). - đłïž Joka 70. verkkopyyntö kuoli tyhjÀÀn. Mitattu vuorokauden ajalta: 1 403 712 pyynnöstĂ€ 20 063 kuoli heti, koska ne lĂ€hetettiin ulkoisen yhteyden kautta koneen omaan paikalliseen osoitteeseen, jota ulkoinen yhteys ei voi tavoittaa. Ne palasivat tyhjĂ€nĂ€ 0,00 sekunnissa ja kuluttivat kiintiötĂ€. Sama vika teki laadunvalvonnasta epĂ€luotettavaa: testi luuli mittaavansa omaa palvelintaan mutta mittasi torjuttua yhteyttĂ€. Paikallinen osoite haetaan nyt aina suoraan. Vahti
_smoke_proxy_never_for_loopback.py(38 tarkistusta). - đ° Liikevaihtotiedot haettiin vÀÀrĂ€llĂ€ yhteystuotteella. Atlaksella on kaksi ostettua yhteystuotetta eri tehtĂ€viin: kiertĂ€vĂ€ kotiyhteys hankalille virallislĂ€hteille (asiakastieto) ja kiinteĂ€ yhteys kaikelle muulle. Ne tarjoillaan samasta osoitteesta ja vain tunnus erottaa ne, eikĂ€ mikÀÀn tarkistanut kumpi oli kĂ€ytössĂ€. Mitattu: liikevaihtohaku onnistui ja tiedot irtosivat oikein, mutta liikenne laskutettiin vÀÀrĂ€ltĂ€ tilaukselta, ja hankalan lĂ€hteen varareittiĂ€ ei tosiasiassa ollut olemassa. Tuote tunnistetaan nyt koodissa, vÀÀrĂ€ yhdistelmĂ€ sanotaan ÀÀneen lokiin, ja jos molemmat asetukset osoittavat samaan paikkaan, se kerrotaan erikseen. Vahti
_smoke_gateway_product_identity.py(15 tarkistusta).
đŹđ§ English
- đșïž 57 countries searched from a random foreign IP while a neighbour was sitting right there. Atlas prefers a connection from the same country so the search looks local and does not trigger "unusual traffic" detection. When the country itself is unavailable, the choice falls back through a neighbour chain. Measured: the chain existed for only 32 countries out of 87. The other 57 got a random IP. In practice Austrian and Swiss searches ran from an Italian IP while a German one was available, Portuguese ones while a French one waited, and Luxembourg, Malta, Greece, Mexico, Puerto Rico, the Dominican Republic, New Zealand and the whole of North Africa the same way. The chain now covers all 87 supported countries: geo-routed searches rose from 33 per cent to 61 per cent. No existing measured chain was changed, so countries that already worked cannot regress. Guard
_smoke_proxy_pool_country_aware.py(15 checks). - đłïž Every 70th network request died on arrival. Measured over 24 hours: of 1 403 712 requests, 20 063 failed instantly because they were sent through the external connection to the machine's own local address, which an external connection cannot reach. They came back empty in 0.00 seconds and consumed quota. The same fault made quality control unreliable: a test believed it was measuring its own server but was measuring a rejected connection. A local address is now always fetched directly. Guard
_smoke_proxy_never_for_loopback.py(38 checks).
- đ° Revenue data was fetched through the wrong connection product. Atlas has two purchased connection products for different jobs: a rotating home connection for the difficult official sources, and a fixed one for everything else. Both are served from the same address and only the username tells them apart, and nothing verified which one was in use. Measured: the revenue lookup succeeded and the figures came out correctly, but the traffic was billed to the wrong subscription, and the fallback route for the difficult source did not actually exist. The product is now identified in code, a mismatch is stated out loud in the log, and if both settings point at the same place that is reported separately. Guard
_smoke_gateway_product_identity.py(15 checks).
1.0.1032
2026-08-241.0.1032 - 2026-08-22 - "đ„ HOT tarkoittaa taas jotain: lista ja kortti sanovat saman asian"
đ«đź Suomi
- đ„ Sama liidi oli listalla HOT ja kortilla "kylmĂ€ kontakti". Raportoit Gomee Ravintolat Oy:stĂ€: "signaali emojit tulee mut lead sanoo kylmĂ€ kontakti! mitĂ€ hemvettiĂ€!" Kortti nĂ€ytti punaisen HOT-leiman ja sen alla luki "EI RIITTĂVĂĂ NĂYTTĂĂ - KYLMĂ KONTAKTI". Mittasin oman datapankkisi (663 liidiĂ€): 470 liidiĂ€ oli HOT, ja niistĂ€ 358 (76 %) sai kortilta tuomion "ei riittĂ€vÀÀ nĂ€yttöÀ". Yksi HOT-liidi oli jopa yritys joka on lopettanut toimintansa. JUURISYY: sanalle "ostosignaali" oli kaksi eri mÀÀritelmÀÀ. Lista hyvĂ€ksyi minkĂ€ tahansa positiiviseksi merkityn havainnon ja minkĂ€ tahansa uutisen ikÀÀ katsomatta, kortti taas vaati aidon ostotarpeen. KĂ€ytĂ€nnössĂ€ HOTin teki useimmiten rivi "Rahoituskyky: tase kestÀÀ investoinnin" (522 liidillĂ€) eli maksukyky - se kertoo ettĂ€ firma pystyy ostamaan, ei ettĂ€ se aikoo ostaa. Nyt molemmat lukevat saman tuomion: HOT vaatii ostosignaalin jonka kortti pystyy myös perustelemaan. Samasta pankista korjauksen jĂ€lkeen: 83 HOT-liidiĂ€, 0 ristiriitaa. Vahti
_smoke_hot_matches_verdict.py(19 tarkistusta). - đ° NeljĂ€ vuotta vanha uutinen ei ole enÀÀ syy soittaa tĂ€nÀÀn. Mitattu: 26 liidiĂ€ oli HOT uutisesta joka oli julkaistu 2022 (esim. "Peab osti Asfaltti-System Oy:n", 4.7.2022). Sama ikĂ€sÀÀntö (enintÀÀn 180 pĂ€ivÀÀ) pĂ€tee nyt listalla ja kortilla, kuten rekisteröintipĂ€ivĂ€lle jo pĂ€tikin.
- ⥠Kaksi aitoa signaalia puuttui kortilta kokonaan. Rahoituskierros ja tuotelanseeraus (putken tunnistama tapahtuma) sekÀ liidin oma osto-aikeen signaali eivÀt nÀkyneet kortin perusteluissa lainkaan, joten ne nÀyttivÀt "puuttuvalta nÀytöltÀ" vaikka Atlas oli ne mitannut. Nyt ne nÀkyvÀt omana rivinÀÀn - ja koska lista kÀyttÀÀ samaa tuomiota, ne pitÀvÀt HOTin.
- đ·ïž Vanha tallennettu leima ei enÀÀ valehtele kortilla. Pankkiin tallennettu tier saattoi olla pĂ€iviĂ€ vanha ja eri mieltĂ€ kuin sen alla oleva tuomio. Kortin leima johdetaan nyt samalla funktiolla kuin listarivi.
đŹđ§ English
- đ„ The same lead was HOT in the list and "cold contact" on the card. You reported it on Gomee Ravintolat Oy: the card showed a red HOT badge above the verdict "NOT ENOUGH EVIDENCE - COLD CONTACT". I measured your own data bank (663 leads): 470 leads were HOT, and 358 of them (76 %) were told by the card that there was no evidence. One HOT lead was a company that has ceased trading. ROOT CAUSE: the word "buying signal" had two different definitions. The list accepted any observation marked positive and any news article regardless of age; the card required a genuine buying need. In practice what made a lead HOT was most often the line "Financial capacity: the balance sheet supports an investment" (522 leads) - that says the company *can* buy, not that it is *about to*. Both now read the same verdict: HOT requires a buying signal the card can also justify. Same bank after the fix: 83 HOT leads, 0 contradictions. Guard
_smoke_hot_matches_verdict.py(19 checks). - đ° A four-year-old news item is no longer a reason to call today. Measured: 26 leads were HOT because of news published in 2022. The same freshness rule (180 days at most) now applies in the list and on the card, as it already did for the registration date.
- ⥠Two genuine signals were missing from the card entirely. A funding round or product launch detected by the pipeline, and the lead's own buying-intent signal, never appeared in the card's reasons - so they looked like "missing evidence" even though Atlas had measured them. They now show as their own line, and because the list uses the same verdict, they keep the lead HOT.
- đ·ïž A stale stored badge no longer lies on the card. The tier stored in the bank could be days old and disagree with the verdict below it. The card's badge is now derived with the same function as the list row.
1.0.1031
2026-08-241.0.1031 - 2026-08-22 - "đ„ HOT tarkoittaa taas jotain: lista ja kortti sanovat saman asian"
đ«đź Suomi
- đ„ Sama liidi oli listalla HOT ja kortilla "kylmĂ€ kontakti". Raportoit Gomee Ravintolat Oy:stĂ€: "signaali emojit tulee mut lead sanoo kylmĂ€ kontakti! mitĂ€ hemvettiĂ€!" Kortti nĂ€ytti punaisen HOT-leiman ja sen alla luki "EI RIITTĂVĂĂ NĂYTTĂĂ - KYLMĂ KONTAKTI". Mittasin oman datapankkisi (663 liidiĂ€): 470 liidiĂ€ oli HOT, ja niistĂ€ 358 (76 %) sai kortilta tuomion "ei riittĂ€vÀÀ nĂ€yttöÀ". Yksi HOT-liidi oli jopa yritys joka on lopettanut toimintansa. JUURISYY: sanalle "ostosignaali" oli kaksi eri mÀÀritelmÀÀ. Lista hyvĂ€ksyi minkĂ€ tahansa positiiviseksi merkityn havainnon ja minkĂ€ tahansa uutisen ikÀÀ katsomatta, kortti taas vaati aidon ostotarpeen. KĂ€ytĂ€nnössĂ€ HOTin teki useimmiten rivi "Rahoituskyky: tase kestÀÀ investoinnin" (522 liidillĂ€) eli maksukyky - se kertoo ettĂ€ firma pystyy ostamaan, ei ettĂ€ se aikoo ostaa. Nyt molemmat lukevat saman tuomion: HOT vaatii ostosignaalin jonka kortti pystyy myös perustelemaan. Samasta pankista korjauksen jĂ€lkeen: 83 HOT-liidiĂ€, 0 ristiriitaa. Vahti
_smoke_hot_matches_verdict.py(19 tarkistusta). - đ° NeljĂ€ vuotta vanha uutinen ei ole enÀÀ syy soittaa tĂ€nÀÀn. Mitattu: 26 liidiĂ€ oli HOT uutisesta joka oli julkaistu 2022 (esim. "Peab osti Asfaltti-System Oy:n", 4.7.2022). Sama ikĂ€sÀÀntö (enintÀÀn 180 pĂ€ivÀÀ) pĂ€tee nyt listalla ja kortilla, kuten rekisteröintipĂ€ivĂ€lle jo pĂ€tikin.
- ⥠Kaksi aitoa signaalia puuttui kortilta kokonaan. Rahoituskierros ja tuotelanseeraus (putken tunnistama tapahtuma) sekÀ liidin oma osto-aikeen signaali eivÀt nÀkyneet kortin perusteluissa lainkaan, joten ne nÀyttivÀt "puuttuvalta nÀytöltÀ" vaikka Atlas oli ne mitannut. Nyt ne nÀkyvÀt omana rivinÀÀn - ja koska lista kÀyttÀÀ samaa tuomiota, ne pitÀvÀt HOTin.
- đ·ïž Vanha tallennettu leima ei enÀÀ valehtele kortilla. Pankkiin tallennettu tier saattoi olla pĂ€iviĂ€ vanha ja eri mieltĂ€ kuin sen alla oleva tuomio. Kortin leima johdetaan nyt samalla funktiolla kuin listarivi.
đŹđ§ English
- đ„ The same lead was HOT in the list and "cold contact" on the card. You reported it on Gomee Ravintolat Oy: the card showed a red HOT badge above the verdict "NOT ENOUGH EVIDENCE - COLD CONTACT". I measured your own data bank (663 leads): 470 leads were HOT, and 358 of them (76 %) were told by the card that there was no evidence. One HOT lead was a company that has ceased trading. ROOT CAUSE: the word "buying signal" had two different definitions. The list accepted any observation marked positive and any news article regardless of age; the card required a genuine buying need. In practice what made a lead HOT was most often the line "Financial capacity: the balance sheet supports an investment" (522 leads) - that says the company *can* buy, not that it is *about to*. Both now read the same verdict: HOT requires a buying signal the card can also justify. Same bank after the fix: 83 HOT leads, 0 contradictions. Guard
_smoke_hot_matches_verdict.py(19 checks). - đ° A four-year-old news item is no longer a reason to call today. Measured: 26 leads were HOT because of news published in 2022. The same freshness rule (180 days at most) now applies in the list and on the card, as it already did for the registration date.
- ⥠Two genuine signals were missing from the card entirely. A funding round or product launch detected by the pipeline, and the lead's own buying-intent signal, never appeared in the card's reasons - so they looked like "missing evidence" even though Atlas had measured them. They now show as their own line, and because the list uses the same verdict, they keep the lead HOT.
- đ·ïž A stale stored badge no longer lies on the card. The tier stored in the bank could be days old and disagree with the verdict below it. The card's badge is now derived with the same function as the list row.
1.0.1030
2026-08-231.0.1030 - 2026-08-22 - "đ„ HOT tarkoittaa taas jotain: lista ja kortti sanovat saman asian"
đ«đź Suomi
- đ„ Sama liidi oli listalla HOT ja kortilla "kylmĂ€ kontakti". Raportoit Gomee Ravintolat Oy:stĂ€: "signaali emojit tulee mut lead sanoo kylmĂ€ kontakti! mitĂ€ hemvettiĂ€!" Kortti nĂ€ytti punaisen HOT-leiman ja sen alla luki "EI RIITTĂVĂĂ NĂYTTĂĂ - KYLMĂ KONTAKTI". Mittasin oman datapankkisi (663 liidiĂ€): 470 liidiĂ€ oli HOT, ja niistĂ€ 358 (76 %) sai kortilta tuomion "ei riittĂ€vÀÀ nĂ€yttöÀ". Yksi HOT-liidi oli jopa yritys joka on lopettanut toimintansa. JUURISYY: sanalle "ostosignaali" oli kaksi eri mÀÀritelmÀÀ. Lista hyvĂ€ksyi minkĂ€ tahansa positiiviseksi merkityn havainnon ja minkĂ€ tahansa uutisen ikÀÀ katsomatta, kortti taas vaati aidon ostotarpeen. KĂ€ytĂ€nnössĂ€ HOTin teki useimmiten rivi "Rahoituskyky: tase kestÀÀ investoinnin" (522 liidillĂ€) eli maksukyky - se kertoo ettĂ€ firma pystyy ostamaan, ei ettĂ€ se aikoo ostaa. Nyt molemmat lukevat saman tuomion: HOT vaatii ostosignaalin jonka kortti pystyy myös perustelemaan. Samasta pankista korjauksen jĂ€lkeen: 83 HOT-liidiĂ€, 0 ristiriitaa. Vahti
_smoke_hot_matches_verdict.py(19 tarkistusta). - đ° NeljĂ€ vuotta vanha uutinen ei ole enÀÀ syy soittaa tĂ€nÀÀn. Mitattu: 26 liidiĂ€ oli HOT uutisesta joka oli julkaistu 2022 (esim. "Peab osti Asfaltti-System Oy:n", 4.7.2022). Sama ikĂ€sÀÀntö (enintÀÀn 180 pĂ€ivÀÀ) pĂ€tee nyt listalla ja kortilla, kuten rekisteröintipĂ€ivĂ€lle jo pĂ€tikin.
- ⥠Kaksi aitoa signaalia puuttui kortilta kokonaan. Rahoituskierros ja tuotelanseeraus (putken tunnistama tapahtuma) sekÀ liidin oma osto-aikeen signaali eivÀt nÀkyneet kortin perusteluissa lainkaan, joten ne nÀyttivÀt "puuttuvalta nÀytöltÀ" vaikka Atlas oli ne mitannut. Nyt ne nÀkyvÀt omana rivinÀÀn - ja koska lista kÀyttÀÀ samaa tuomiota, ne pitÀvÀt HOTin.
- đ·ïž Vanha tallennettu leima ei enÀÀ valehtele kortilla. Pankkiin tallennettu tier saattoi olla pĂ€iviĂ€ vanha ja eri mieltĂ€ kuin sen alla oleva tuomio. Kortin leima johdetaan nyt samalla funktiolla kuin listarivi.
đŹđ§ English
- đ„ The same lead was HOT in the list and "cold contact" on the card. You reported it on Gomee Ravintolat Oy: the card showed a red HOT badge above the verdict "NOT ENOUGH EVIDENCE - COLD CONTACT". I measured your own data bank (663 leads): 470 leads were HOT, and 358 of them (76 %) were told by the card that there was no evidence. One HOT lead was a company that has ceased trading. ROOT CAUSE: the word "buying signal" had two different definitions. The list accepted any observation marked positive and any news article regardless of age; the card required a genuine buying need. In practice what made a lead HOT was most often the line "Financial capacity: the balance sheet supports an investment" (522 leads) - that says the company *can* buy, not that it is *about to*. Both now read the same verdict: HOT requires a buying signal the card can also justify. Same bank after the fix: 83 HOT leads, 0 contradictions. Guard
_smoke_hot_matches_verdict.py(19 checks). - đ° A four-year-old news item is no longer a reason to call today. Measured: 26 leads were HOT because of news published in 2022. The same freshness rule (180 days at most) now applies in the list and on the card, as it already did for the registration date.
- ⥠Two genuine signals were missing from the card entirely. A funding round or product launch detected by the pipeline, and the lead's own buying-intent signal, never appeared in the card's reasons - so they looked like "missing evidence" even though Atlas had measured them. They now show as their own line, and because the list uses the same verdict, they keep the lead HOT.
- đ·ïž A stale stored badge no longer lies on the card. The tier stored in the bank could be days old and disagree with the verdict below it. The card's badge is now derived with the same function as the list row.
1.0.1029
2026-08-231.0.1029 - 2026-08-22 - "đ„ HOT tarkoittaa taas jotain: lista ja kortti sanovat saman asian"
đ«đź Suomi
- đ„ Sama liidi oli listalla HOT ja kortilla "kylmĂ€ kontakti". Raportoit Gomee Ravintolat Oy:stĂ€: "signaali emojit tulee mut lead sanoo kylmĂ€ kontakti! mitĂ€ hemvettiĂ€!" Kortti nĂ€ytti punaisen HOT-leiman ja sen alla luki "EI RIITTĂVĂĂ NĂYTTĂĂ - KYLMĂ KONTAKTI". Mittasin oman datapankkisi (663 liidiĂ€): 470 liidiĂ€ oli HOT, ja niistĂ€ 358 (76 %) sai kortilta tuomion "ei riittĂ€vÀÀ nĂ€yttöÀ". Yksi HOT-liidi oli jopa yritys joka on lopettanut toimintansa. JUURISYY: sanalle "ostosignaali" oli kaksi eri mÀÀritelmÀÀ. Lista hyvĂ€ksyi minkĂ€ tahansa positiiviseksi merkityn havainnon ja minkĂ€ tahansa uutisen ikÀÀ katsomatta, kortti taas vaati aidon ostotarpeen. KĂ€ytĂ€nnössĂ€ HOTin teki useimmiten rivi "Rahoituskyky: tase kestÀÀ investoinnin" (522 liidillĂ€) eli maksukyky - se kertoo ettĂ€ firma pystyy ostamaan, ei ettĂ€ se aikoo ostaa. Nyt molemmat lukevat saman tuomion: HOT vaatii ostosignaalin jonka kortti pystyy myös perustelemaan. Samasta pankista korjauksen jĂ€lkeen: 83 HOT-liidiĂ€, 0 ristiriitaa. Vahti
_smoke_hot_matches_verdict.py(19 tarkistusta). - đ° NeljĂ€ vuotta vanha uutinen ei ole enÀÀ syy soittaa tĂ€nÀÀn. Mitattu: 26 liidiĂ€ oli HOT uutisesta joka oli julkaistu 2022 (esim. "Peab osti Asfaltti-System Oy:n", 4.7.2022). Sama ikĂ€sÀÀntö (enintÀÀn 180 pĂ€ivÀÀ) pĂ€tee nyt listalla ja kortilla, kuten rekisteröintipĂ€ivĂ€lle jo pĂ€tikin.
- ⥠Kaksi aitoa signaalia puuttui kortilta kokonaan. Rahoituskierros ja tuotelanseeraus (putken tunnistama tapahtuma) sekÀ liidin oma osto-aikeen signaali eivÀt nÀkyneet kortin perusteluissa lainkaan, joten ne nÀyttivÀt "puuttuvalta nÀytöltÀ" vaikka Atlas oli ne mitannut. Nyt ne nÀkyvÀt omana rivinÀÀn - ja koska lista kÀyttÀÀ samaa tuomiota, ne pitÀvÀt HOTin.
- đ·ïž Vanha tallennettu leima ei enÀÀ valehtele kortilla. Pankkiin tallennettu tier saattoi olla pĂ€iviĂ€ vanha ja eri mieltĂ€ kuin sen alla oleva tuomio. Kortin leima johdetaan nyt samalla funktiolla kuin listarivi.
đŹđ§ English
- đ„ The same lead was HOT in the list and "cold contact" on the card. You reported it on Gomee Ravintolat Oy: the card showed a red HOT badge above the verdict "NOT ENOUGH EVIDENCE - COLD CONTACT". I measured your own data bank (663 leads): 470 leads were HOT, and 358 of them (76 %) were told by the card that there was no evidence. One HOT lead was a company that has ceased trading. ROOT CAUSE: the word "buying signal" had two different definitions. The list accepted any observation marked positive and any news article regardless of age; the card required a genuine buying need. In practice what made a lead HOT was most often the line "Financial capacity: the balance sheet supports an investment" (522 leads) - that says the company *can* buy, not that it is *about to*. Both now read the same verdict: HOT requires a buying signal the card can also justify. Same bank after the fix: 83 HOT leads, 0 contradictions. Guard
_smoke_hot_matches_verdict.py(19 checks). - đ° A four-year-old news item is no longer a reason to call today. Measured: 26 leads were HOT because of news published in 2022. The same freshness rule (180 days at most) now applies in the list and on the card, as it already did for the registration date.
- ⥠Two genuine signals were missing from the card entirely. A funding round or product launch detected by the pipeline, and the lead's own buying-intent signal, never appeared in the card's reasons - so they looked like "missing evidence" even though Atlas had measured them. They now show as their own line, and because the list uses the same verdict, they keep the lead HOT.
- đ·ïž A stale stored badge no longer lies on the card. The tier stored in the bank could be days old and disagree with the verdict below it. The card's badge is now derived with the same function as the list row.
1.0.1028
2026-08-221.0.1028 - 2026-08-22 - "đ„ HOT tarkoittaa taas jotain: lista ja kortti sanovat saman asian"
đ«đź Suomi
- đ„ Sama liidi oli listalla HOT ja kortilla "kylmĂ€ kontakti". Raportoit Gomee Ravintolat Oy:stĂ€: "signaali emojit tulee mut lead sanoo kylmĂ€ kontakti! mitĂ€ hemvettiĂ€!" Kortti nĂ€ytti punaisen HOT-leiman ja sen alla luki "EI RIITTĂVĂĂ NĂYTTĂĂ - KYLMĂ KONTAKTI". Mittasin oman datapankkisi (663 liidiĂ€): 470 liidiĂ€ oli HOT, ja niistĂ€ 358 (76 %) sai kortilta tuomion "ei riittĂ€vÀÀ nĂ€yttöÀ". Yksi HOT-liidi oli jopa yritys joka on lopettanut toimintansa. JUURISYY: sanalle "ostosignaali" oli kaksi eri mÀÀritelmÀÀ. Lista hyvĂ€ksyi minkĂ€ tahansa positiiviseksi merkityn havainnon ja minkĂ€ tahansa uutisen ikÀÀ katsomatta, kortti taas vaati aidon ostotarpeen. KĂ€ytĂ€nnössĂ€ HOTin teki useimmiten rivi "Rahoituskyky: tase kestÀÀ investoinnin" (522 liidillĂ€) eli maksukyky - se kertoo ettĂ€ firma pystyy ostamaan, ei ettĂ€ se aikoo ostaa. Nyt molemmat lukevat saman tuomion: HOT vaatii ostosignaalin jonka kortti pystyy myös perustelemaan. Samasta pankista korjauksen jĂ€lkeen: 83 HOT-liidiĂ€, 0 ristiriitaa. Vahti
_smoke_hot_matches_verdict.py(19 tarkistusta). - đ° NeljĂ€ vuotta vanha uutinen ei ole enÀÀ syy soittaa tĂ€nÀÀn. Mitattu: 26 liidiĂ€ oli HOT uutisesta joka oli julkaistu 2022 (esim. "Peab osti Asfaltti-System Oy:n", 4.7.2022). Sama ikĂ€sÀÀntö (enintÀÀn 180 pĂ€ivÀÀ) pĂ€tee nyt listalla ja kortilla, kuten rekisteröintipĂ€ivĂ€lle jo pĂ€tikin.
- ⥠Kaksi aitoa signaalia puuttui kortilta kokonaan. Rahoituskierros ja tuotelanseeraus (putken tunnistama tapahtuma) sekÀ liidin oma osto-aikeen signaali eivÀt nÀkyneet kortin perusteluissa lainkaan, joten ne nÀyttivÀt "puuttuvalta nÀytöltÀ" vaikka Atlas oli ne mitannut. Nyt ne nÀkyvÀt omana rivinÀÀn - ja koska lista kÀyttÀÀ samaa tuomiota, ne pitÀvÀt HOTin.
- đ·ïž Vanha tallennettu leima ei enÀÀ valehtele kortilla. Pankkiin tallennettu tier saattoi olla pĂ€iviĂ€ vanha ja eri mieltĂ€ kuin sen alla oleva tuomio. Kortin leima johdetaan nyt samalla funktiolla kuin listarivi.
đŹđ§ English
- đ„ The same lead was HOT in the list and "cold contact" on the card. You reported it on Gomee Ravintolat Oy: the card showed a red HOT badge above the verdict "NOT ENOUGH EVIDENCE - COLD CONTACT". I measured your own data bank (663 leads): 470 leads were HOT, and 358 of them (76 %) were told by the card that there was no evidence. One HOT lead was a company that has ceased trading. ROOT CAUSE: the word "buying signal" had two different definitions. The list accepted any observation marked positive and any news article regardless of age; the card required a genuine buying need. In practice what made a lead HOT was most often the line "Financial capacity: the balance sheet supports an investment" (522 leads) - that says the company *can* buy, not that it is *about to*. Both now read the same verdict: HOT requires a buying signal the card can also justify. Same bank after the fix: 83 HOT leads, 0 contradictions. Guard
_smoke_hot_matches_verdict.py(19 checks). - đ° A four-year-old news item is no longer a reason to call today. Measured: 26 leads were HOT because of news published in 2022. The same freshness rule (180 days at most) now applies in the list and on the card, as it already did for the registration date.
- ⥠Two genuine signals were missing from the card entirely. A funding round or product launch detected by the pipeline, and the lead's own buying-intent signal, never appeared in the card's reasons - so they looked like "missing evidence" even though Atlas had measured them. They now show as their own line, and because the list uses the same verdict, they keep the lead HOT.
- đ·ïž A stale stored badge no longer lies on the card. The tier stored in the bank could be days old and disagree with the verdict below it. The card's badge is now derived with the same function as the list row.
1.0.1027
2026-08-221.0.1027 - 2026-08-22 - "đșïž Rekisterin toimiala kelpaa todisteeksi, vaikka haku olisi eri kielellĂ€"
đ«đź Suomi
- đșïž Ruotsalainen kampaamo putosi listalta, vaikka rekisteri kertoi sen olevan kampaamo. Mitattu: haku "frisör" ja rekisterirvi "Salong Vivian, toimiala hairdresser" pudotettiin listaportissa syyllĂ€ "ei todistetta toimialasta". Syy: hakusana oli ruotsiksi ja rekisterin nimike englanniksi, eikĂ€ portti tuntenut niiden yhteyttĂ€. Nyt hakusanan karttakategoria (ja Ruotsissa myös ruotsinkielinen toimialanimike) kelpaa todisteeksi: "frisör" ja "peluquerĂa" tunnistavat rivin jonka toimiala on
hairdresser, "piekarnia" ja "BÀckerei" rivin jonka toimiala onbakery. Portti pitÀÀ edelleen toiseen suuntaan: leipomohaussa autokorjaamo pudotetaan yhÀ. Vahti_smoke_keyword_multilang_osm.py(45 tarkistusta).
đŹđ§ English
- đșïž A Swedish hairdresser was dropped from the list even though the registry said it is a hairdresser. Measured: the search "frisör" and the registry row "Salong Vivian, industry hairdresser" were dropped by the list gate with "no industry evidence". The reason: the keyword was Swedish and the registry label English, and the gate did not know they were the same thing. The keyword's map category (and in Sweden also the Swedish industry label) now counts as evidence: "frisör" and "peluquerĂa" recognise a row whose industry is
hairdresser, "piekarnia" and "BĂ€ckerei" a row whose industry isbakery. The gate still holds the other way: a car repair shop is still dropped from a bakery search. Guard_smoke_keyword_multilang_osm.py(45 checks).
1.0.1026
2026-08-211.0.1026 - 2026-08-22 - "đ Hae omalla kielellĂ€si: peluquerĂa, BĂ€ckerei, piekarnia"
đ«đź Suomi
- đŁïž Asiakkaan oma kieli ei osunut rekisterin toimialaan missÀÀn maassa. Mittasin palvelimen kaikki 93 rekisterikantaa: 81 maan toimialanimike on englanninkielinen karttakategoria ('restaurant' 31 949 riviĂ€, 'school' 23 230, 'hotel' 14 104, 'cafe' 14 072, 'pharmacy' 10 658, 'supermarket' 10 121, 'bakery' 5 149, 'hairdresser' 4 792). Hakusanasto tunsi vain suomen ja englannin, joten espanjalainen asiakas joka hakee "peluquerĂa", saksalainen joka hakee "BĂ€ckerei" ja puolalainen joka hakee "piekarnia" saivat nolla riviĂ€ vaikka data oli koko ajan olemassa. Ruotsin "frisör" oli vielĂ€ pahempi: se palautti yhden rivin, ja se rivi oli RAVINTOLA. Nyt sanastossa on maiden omat sanat mitatuille kategorioille (14 kategoriaa, 17 kieltĂ€, yhteensĂ€ 429 hakusanaa entisen 146 sijaan). Mitattu samasta datasta korjauksen jĂ€lkeen: ES "peluquerĂa" 0 â 12 riviĂ€ pelkkiĂ€ kampaamoita, DE "BĂ€ckerei" 0 â 12 leipomoa, PL "piekarnia" 0 â 12 leipomoa, SE "frisör" 1 vÀÀrĂ€ â 12 kampaamoa. Vahti
_smoke_keyword_multilang_osm.py(39 tarkistusta). - â Vanhat hakusanat eivĂ€t muuttuneet. Sanaston laajennus on additiivinen ja lyhyet avaimet vaativat edelleen sanarajan, joten "barber shop" on yhĂ€ kampaamo eikĂ€ baari ja turkin "otel" ei kaappaa sanaa "hotel". Verifioitu ajamalla koko sanasto vanhalla ja uudella koodilla: 1 042 hakusanaa, 0 muutosta aiemmin toimineisiin.
đŹđ§ English
- đŁïž The customer's own language did not match the registry industry in any country. I measured all 93 registry databases on the server: in 81 countries the industry label is an English map category ('restaurant' 31,949 rows, 'school' 23,230, 'hotel' 14,104, 'cafe' 14,072, 'pharmacy' 10,658, 'supermarket' 10,121, 'bakery' 5,149, 'hairdresser' 4,792). The keyword vocabulary knew only Finnish and English, so a Spanish customer searching "peluquerĂa", a German searching "BĂ€ckerei" and a Pole searching "piekarnia" got zero rows even though the data was there all along. Swedish "frisör" was worse: it returned one row, and that row was a RESTAURANT. The vocabulary now carries each country's own words for the measured categories (14 categories, 17 languages, 429 keywords in total, up from 146). Measured on the same data after the fix: ES "peluquerĂa" 0 â 12 rows of hairdressers only, DE "BĂ€ckerei" 0 â 12 bakeries, PL "piekarnia" 0 â 12 bakeries, SE "frisör" 1 wrong row â 12 hairdressers. Guard
_smoke_keyword_multilang_osm.py(39 checks). - â Existing keywords did not change. The expansion is additive and short keys still require a word boundary, so "barber shop" is still a hairdresser rather than a bar, and Turkish "otel" does not capture the word "hotel". Verified by running the whole vocabulary through the old and the new code: 1,042 keywords, 0 changes to anything that already worked.
1.0.1025
2026-08-211.0.1025 - 2026-08-22 - "đ€ Hakusanan aksentti ei enÀÀ tyhjennĂ€ listaa"
đ«đź Suomi
- â "cafĂ©" löysi 454 firmaa ja nĂ€ytti niistĂ€ nolla. Mitattu ajostasi (Keski-Suomi, hakusana "cafĂ©", 22.8. klo 01:05): skannattu 454, liidejĂ€ 0, ruutu tyhjĂ€. Rekisteri teki työnsĂ€ oikein ja tarjosi 328 kahvila- ja ravintolariviĂ€ alueelta, mutta toimialan todistusportti pudotti 497 firmaa 587:stĂ€ syyllĂ€ "ei todistetta toimialasta". Pudotettujen joukossa olivat Cafe Ester Oy ja Cafe & Trattoria Cedro Oy. JUURISYY: toimialasanastoa haettiin raakana merkkijonona, joten aksentillinen "cafĂ©" ei osunut sanaston avaimeen "cafe". Portti kytkeytyi silti pÀÀlle (hakusana tunnistettiin toimialaksi karttakategorian kautta), joten se vaati todisteen jota se ei itse osannut hakea:
resolve_registry_terms("cafĂ©", "FI")palautti tyhjĂ€n, kun sama haku ilman aksenttia palautti kahvila + ravintola. Nyt sanastohaku ajetaan ensin raakana ja vasta jos se ei osu, uudelleen aksentit taitettuna, molempiin suuntiin: "cafĂ©" löytÀÀ avaimen "cafe" ja "peluqueria" löytÀÀ avaimen "peluquerĂa". Vahti_smoke_keyword_accent_fold.py(22 tarkistusta). - đ Sama vika oli 90 maassa, ei vain Suomessa. Mittasimme koko sanaston lĂ€pi: 52 hakusanavarianttia noin 25 maassa oli tĂ€ysin kuollut samasta syystĂ€, esimerkiksi ranskan "hĂŽtel" jolla ei ollut lainkaan rekisteripolkua (nyt TOL 5510) sekĂ€ unkarin, latvian, slovakian ja koko espanjankielisen Latinalaisen Amerikan aksentilliset sanat. Korjaus tehtiin jaettuun sanastokerrokseen, joten se koskee kaikkia maita ja kaikkia hakureittejĂ€ (rekisteri, kartta-aineisto, ruotsin toimialanimikkeet, listan todistusportti) samalla kertaa.
- đ Kolme vÀÀrĂ€n firman verkkosivua ei enÀÀ pÀÀse kortille. Samasta ajosta mitattu: Atlaksen oma sivutarkistus hylkĂ€si 15 verkkotunnusta ("sivu ei vahvista omistajuutta"), mutta 3 niistĂ€ liitettiin silti liidille rekisterin omasta emit-polusta, esimerkiksi Chenxu Oy â chenxu.com joka hylĂ€ttiin klo 01:03:05 ja pÀÀtyi kortille 01:03:25. Versio 1.0.1023 lupasi ettĂ€ hylkĂ€ys estÀÀ liittĂ€misen kaikista lĂ€hteistĂ€, mutta tĂ€mĂ€ yksi polku lukee verkkotunnuksen valmiina rekisterin tai palvelimen kentĂ€stĂ€ eikĂ€ kysynyt hylkĂ€ysmuistilta. Nyt kysyy. Liidi ei katoa: se jatkaa verkkotunnuksettomana ja haku saa yrittÀÀ uudelleen, mutta toisen firman sivu ei tule kortille. Vahti
_smoke_seed_domain_identity_gate.py(20). - â Vanhat haut eivĂ€t muuttuneet. Aksenttitaitto on varapolku, ei korvaaja: raaka sanastohaku ajetaan aina ensin. Varmistettu ajamalla koko sanasto molemmilla koodeilla lĂ€pi: 1 046 hakusanaa ja 1 464 maa-hakusana-paria, 0 muutosta aiemmin toimineisiin, vain uusia osumia. Portti pitÀÀ yhĂ€: "cafĂ©"-haussa kioski, rakennusliike ja biljardifirma pudotetaan edelleen rekisterin toimialakoodin perusteella.
đŹđ§ English
- â "cafĂ©" found 454 companies and showed you zero. Measured from your run (Central Finland, keyword "cafĂ©", 22 Aug 01:05): 454 scanned, 0 leads, empty screen. The registry did its job and served 328 cafĂ© and restaurant rows for the region, but the industry proof gate dropped 497 of 587 companies with the reason "no industry evidence". Among the dropped: Cafe Ester Oy and Cafe & Trattoria Cedro Oy. ROOT CAUSE: the industry vocabulary was looked up as a raw string, so the accented "cafĂ©" never matched the vocabulary key "cafe". The gate still switched on (the keyword was recognised as an industry through the map category), so it demanded evidence it could not look up itself:
resolve_registry_terms("cafĂ©", "FI")returned empty while the same lookup without the accent returned cafĂ© + restaurant. Vocabulary lookups now run raw first and, only if nothing matches, again with accents folded, in both directions: "cafĂ©" finds the key "cafe" and "peluqueria" finds the key "peluquerĂa". Guard_smoke_keyword_accent_fold.py(22 checks). - đ The same fault existed in 90 countries, not just Finland. Measured across the whole vocabulary: 52 keyword variants in about 25 countries were completely dead for this reason, for example French "hĂŽtel" which had no registry path at all (now TOL 5510), plus accented words in Hungarian, Latvian, Slovak and across Spanish-speaking Latin America. The fix went into the shared vocabulary layer, so it covers every country and every route at once (registry, map data, Swedish industry labels, the list's proof gate).
- đ Three wrong-company websites no longer reach a card. Measured in the same run: Atlas's own page check rejected 15 domains ("the page does not confirm ownership"), yet 3 of them were still attached to a lead through the registry's own emit path, for example Chenxu Oy â chenxu.com which was rejected at 01:03:05 and reached a card at 01:03:25. Version 1.0.1023 promised that a rejection blocks the domain from every source, but this one path reads the domain ready-made from a registry or server field and never consulted the rejection memory. It does now. The lead is not lost: it continues without a website and the lookup may try again, but another company's site does not reach the card. Guard
_smoke_seed_domain_identity_gate.py(20). - â Existing searches did not change. Accent folding is a fallback, not a replacement: the raw lookup always runs first. Verified by running the entire vocabulary through both the old and the new code: 1,046 keywords and 1,464 country-keyword pairs, 0 changes to anything that already worked, only new hits. The gate still holds: in a "cafĂ©" search a kiosk, a construction firm and a billiards company are still dropped on their registry industry code.
1.0.1024
2026-08-211.0.1024 - 2026-08-21 - "đĄ Domainittoman liidin signaalit nĂ€kyvĂ€t listalla NYT, ei vasta kun riviĂ€ klikkaa"
đ«đź Suomi
- đĄ Haku teki työn, mutta lista ei kertonut sitĂ€. Raportoit ajosta (EtelĂ€-Savo, "construction firm", 21.8.): "haetaan paljon mut ei nĂ€ytetĂ€ â signaalit ja domain puuttuu listalta, vaikka liidin tiedoista ne löytyvĂ€t". JUURISYY: kun rekisteristĂ€ tullut liidi ilman verkkotunnusta rikastui (liikevaihto, pÀÀttĂ€jĂ€t, signaalit saapuivat myöhemmĂ€ssĂ€ viestissĂ€), listan pĂ€ivityssignaali oli ehdollinen "vain jos domain on" â ja domainia ei vielĂ€ ollut. Data meni muistiin ja nĂ€kyi liidin tiedoissa, mutta taulukko piirsi rivin vanhalla tyhjĂ€llĂ€ tilalla kunnes sattumalta jokin toinen, domainillinen liidi pĂ€ivittyi tai vaihdoit nĂ€kymÀÀ. Nyt jokainen rikastunut liidi pĂ€ivittÀÀ listan ja pankin heti â myös se, jonka verkkotunnus selviÀÀ vasta myöhemmin tai ei koskaan.
- đ±ïž Domainittoman rivin klikki avasi tyhjĂ€n dialogin. Sama puuttuva domain söi toisenkin polun: rivin klikkaus haki liidin tĂ€yttĂ€ dataa vain verkkotunnuksella, joten domainiton rivi rakensi dialogin pelkĂ€stĂ€ luurangosta â ei signaaleja, ei yhteystietoja â vaikka kaikki oli jo koneella. Nyt klikkaus hakee datan myös yrityksen nimellĂ€, joten dialogi nĂ€yttÀÀ saman rikkaan liidin kuin lista.
- âčïž Tooltip on luettava tummalla teemalla. Signaalisarakkeen selitekupla peri jĂ€rjestelmĂ€n tekstivĂ€rin â musta teksti mustalla pohjalla, vain ikonit nĂ€kyivĂ€t. Nyt kuplan vĂ€rit on lukittu teeman mukaisiksi koko ikkunassa. Ja jokaiselle signaali-ikonille on aina selitysrivi â ikonia, jota mikÀÀn ei selitĂ€, ei enÀÀ ole.
- đ«đ± Puutteen ikoni nĂ€yttÀÀ nyt puutteelta. Raportoit: "miksi tuol on some ikoni ja lead panel sanoo et somea ei ole!!!" Rivi nĂ€ytti đ±-ikonin, koska Atlas oli havainnut ettĂ€ firmalta *puuttuu* some â mutta ikonijonossa se nĂ€ytti samalta kuin "firmalla on some". Nyt aukkohavainnot (ei somea, ei CRM:ÀÀ, ei verkkosivuaâŠ) saavat ikonin perÀÀn â-merkin, sekĂ€ listalla ettĂ€ selityskuplassa: đ±â = somea ei löytynyt. Myyntikulma sĂ€ilyy â puute on juuri syy soittaa â mutta sitĂ€ ei enÀÀ voi lukea vÀÀrin pĂ€in.
đŹđ§ English
- đĄ The hunt did the work, but the list didn't tell you. Reported from your run (South Savo, "construction firm", 21 Aug): "lots of searching but nothing shown â signals and domain missing from the list, yet they exist in the lead details". ROOT CAUSE: when a registry-sourced lead without a website got enriched (revenue, decision makers, signals arriving in a later message), the list refresh signal was conditional on "only if a domain exists" â and there was no domain yet. The data landed in memory and showed in the lead details, but the table kept drawing the row in its old empty state until some other, domain-owning lead happened to update or you switched views. Now every enriched lead refreshes the list and the bank immediately â including the one whose website is resolved later or never.
- đ±ïž Clicking a domain-less row opened an empty dialog. The same missing domain broke a second path: the row click looked up the lead's full data by website only, so a domain-less row built the dialog from a bare skeleton â no signals, no contacts â even though everything was already on disk. The click now falls back to the company name, so the dialog shows the same rich lead as the list.
- âčïž Tooltips are readable on the dark theme. The signal column's tooltip inherited the system text color â black text on a black background, only the icons visible. Tooltip colors are now locked to the theme for the whole window, and every signal icon always has an explanation line â there is no longer an icon nothing explains.
- đ«đ± A gap icon now looks like a gap. You reported: "why is there a social icon when the lead panel says there is no social!!!" The row showed a đ± icon because Atlas had found the company *lacks* social media â but in the icon row it looked identical to "the company has social media". Gap observations (no social, no CRM, no websiteâŠ) now carry an â mark after the icon, both in the list and in the tooltip: đ±â = no social media found. The sales angle stays â the gap is exactly the reason to call â but it can no longer be read backwards.
1.0.1023
2026-08-211.0.1023 - 2026-08-21 - "đ Kortilla nĂ€kyvĂ€ verkkosivu on nyt todistettu firman omaksi, ei arvattu"
đ«đź Suomi
- đ Toisen firman verkkosivu ei enÀÀ pÀÀdy liidille. Mitattu ajostasi (Keski-Suomi, "construction company", 21.8. klo 20:42): kortti "Rakennuspalvelut J.A.P Oy" (y-tunnus 3630056-6, rekisteröity 3.6.2026) nĂ€ytti verkkosivuksi
rakennuspalvelut.fija sĂ€hköpostiksi osoitteen samassa domainissa. Se sivu on 1Rakennuspalvelut, y-tunnus 2626868-9 eli tĂ€ysin eri yritys. Sama toistui toisella liidillĂ€. JUURISYY: rekisteririvi tuo verkkotunnuksen ja sĂ€hköpostin valmiina, eikĂ€ niitĂ€ verrattu Atlaksen omaan pÀÀtökseen, joka oli hylĂ€nnyt saman verkkotunnuksen 15 sekuntia aiemmin ("sivu ei vahvista omistajuutta"). Koko ajossa hylkĂ€yksiĂ€ oli 45 ja niistĂ€ 12 pÀÀtyi silti liidille. Nyt jokainen valmiiksi annettu verkkotunnus, tuli se rekisteristĂ€ tai yrityshakemistosta, kĂ€y saman todistusportin lĂ€pi kuin Atlaksen oma haku: nimen on tĂ€smĂ€ttĂ€vĂ€ ja sivun oman sisĂ€llön on vahvistettava omistajuus, ja tuore yritys ei peri vanhan kaimansa sivustoa. Ei lĂ€pĂ€ise, ei tule kortille - eikĂ€ sen domainin sĂ€hköposti jÀÀ kortille orvoksi. Kytkin pois:ATLAS_VERIFY_SEED_DOMAIN=0. Vahti_smoke_seed_domain_identity_gate.py(17). - đ§ HylkĂ€ys jÀÀ muistiin koko ajon ajaksi. Aiemmin sama verkkotunnus saattoi tulla takaisin toista reittiĂ€ sekunteja hylkĂ€yksen jĂ€lkeen, koska pÀÀtöstĂ€ ei sĂ€ilytetty missÀÀn. Nyt kun Atlas on kerran todennut ettei sivu kuulu yritykselle, se ei kelpaa enÀÀ mistÀÀn lĂ€hteestĂ€. Kaimasuoja pitÀÀ: hylkĂ€ys koskee sitĂ€ yritystĂ€ jolle se tehtiin, ei samannimistĂ€ toista.
- đžïž Viime hetkellĂ€ varmistunut verkkosivu haetaan nyt oikeasti. Samasta ajosta: liidi leimattiin kotisivuttomaksi klo 20:42:30 ja verkkotunnus liitettiin siihen 20:42:32, kaksi sekuntia myöhĂ€ssĂ€. Sivua ei siksi haettu koskaan, ja kortti nĂ€ytti verkkosivun jonka takaa ei ollut yhtÀÀn mitattua signaalia. Nyt rekisterin verkkotunnus haetaan ja todistetaan ennen kotisivuton-pÀÀtöstĂ€, joten sivu ehtii mukaan tavalliseen sivuhakuun ja sen signaalit nĂ€kyvĂ€t listalla.
đŹđ§ English
- đ Another company's website no longer ends up on a lead. Measured from your run (Central Finland, "construction company", 21 Aug 20:42): the card for "Rakennuspalvelut J.A.P Oy" (business ID 3630056-6, registered 3 Jun 2026) showed
rakennuspalvelut.fias its website and an email on that domain. That site belongs to 1Rakennuspalvelut, business ID 2626868-9, a different company entirely. The same happened on a second lead. ROOT CAUSE: the registry row hands over a domain and an email ready-made, and nobody compared them with Atlas's own decision, which had rejected that exact domain 15 seconds earlier ("page does not confirm ownership"). Across the run there were 45 such rejections and 12 still reached a lead. Every ready-made domain, whether from the registry or a business directory, now passes the same proof gate as Atlas's own lookup: the name must match and the page's own content must confirm ownership, and a newly registered company does not inherit an older namesake's website. No proof, no website on the card, and no orphaned email from that domain either. Kill switch:ATLAS_VERIFY_SEED_DOMAIN=0. Guard_smoke_seed_domain_identity_gate.py(17). - đ§ A rejection is remembered for the rest of the run. The same domain could previously come back through another route seconds after being rejected, because the decision was never stored. Once Atlas has established that a site does not belong to a company, it is no longer accepted from any source. The namesake protection holds: the rejection applies to the company it was made for, not to another company with a similar name.
- đžïž A website confirmed at the last moment is now actually fetched. From the same run: a lead was marked as having no website at 20:42:30 and the domain was attached at 20:42:32, two seconds too late. The page was therefore never fetched, and the card showed a website with no measured signals behind it. The registry domain is now fetched and proven before the no-website decision, so the page makes it into the normal crawl and its signals appear on the list.
1.0.1022
2026-08-211.0.1022 - 2026-08-21 - "đ·ïž Listalta nĂ€kee yhdellĂ€ silmĂ€yksellĂ€ KAIKKI firman signaalit, ei enÀÀ yhtĂ€"
đ«đź Suomi
- đ·ïž Signaalisarake nĂ€yttÀÀ nyt kaikki mitatut signaalit ikoneina. Mitattu omasta datapankistasi (663 liidiĂ€ oikeista ajoista): Atlas löytÀÀ keskimÀÀrin 4,6 signaalia per firma (jakauma 0 - 8: 218 firmalla neljĂ€, 134:llĂ€ viisi, 101:llĂ€ kuusi, 63:lla seitsemĂ€n, 18:lla kahdeksan). Listalla niistĂ€ nĂ€kyi yksi. JUURISYY oli kaksi perĂ€kkĂ€istĂ€ katkaisua nĂ€yttövaiheessa: yhteinen arvio sĂ€ilytti vain kolme vahvinta perustelua (563 firmalla 663:sta katko osui), ja sarake nĂ€ytti niistĂ€ ensimmĂ€isen. YhteensĂ€ 2 415 mitattua signaalia 657 firmalta jĂ€i listalta nĂ€kymĂ€ttĂ€ vaikka ne oli jo laskettu. Nyt rivillĂ€ on kaikkien havaintojen ikonit painojĂ€rjestyksessĂ€ (raha, pÀÀttĂ€jĂ€, ajoitus, tarve, tavoitettavuus, sopivuus) ja niiden perĂ€ssĂ€ vahvin havainto tekstinĂ€, kuten ennenkin. Ikonin pÀÀlle viemĂ€llĂ€ saa koko listan auki: jokainen havainto omalla rivillÀÀn ja sen ikĂ€. Sama rivi kertoo yhĂ€ totuuden myös silloin kun ostosignaalia ei ole: ikonit kertovat mitĂ€ firmasta tiedetÀÀn, teksti sanoo suoraan ettei syytĂ€ soittaa juuri nyt löytynyt. MitÀÀn ei laskettu lisÀÀ, joten lista ei hidastu: samat havainnot olivat jo muistissa, ne vain heitettiin pois ennen nĂ€yttĂ€mistĂ€. Vahti
_smoke_signal_icons_all_in_column.py(16).
đŹđ§ English
- đ·ïž The signal column now shows every measured signal as an icon. Measured from your own data bank (663 leads from real runs): Atlas finds 4.6 signals per company on average (range 0 - 8: four for 218 companies, five for 134, six for 101, seven for 63, eight for 18). The list showed one. ROOT CAUSE was two consecutive truncations at display time: the shared verdict kept only the three strongest reasons (the cap hit 563 of 663 companies), and the column rendered the first of those. In total 2,415 measured signals across 657 companies never reached the list even though they had already been computed. The row now carries the icons of every observation in weight order (money, decision maker, timing, need, reachability, fit) followed by the strongest observation as text, as before. Hovering the cell opens the full list: every observation on its own line with its age. The row still tells the truth when there is no buying signal: the icons say what is known about the company, the text says plainly that no reason to call today was found. Nothing extra is computed, so the list does not slow down: the observations were already in memory and were simply discarded before display. Guard
_smoke_signal_icons_all_in_column.py(16).
1.0.1021
2026-08-211.0.1021 - 2026-08-21 - "đïž Rekisterifirman kotisivu etsitÀÀn ennen kuin sanotaan ettei sitĂ€ ole"
đ«đź Suomi
- đïž "Verkkotunnusta ei löytynyt" oli monelle rekisterifirmalle vale. Esimerkki ajostasi: Pohjolan Talotekniikka Oy (Sotkamo, 3595579-8) merkittiin kotisivuttomaksi, vaikka
pohjolantalotekniikkaoy.fivastaa HTTP 200:lla (77 kB) ja on hakukoneen ykköstulos yrityksen nimellĂ€. JUURISYY: rekisteristĂ€ poimitut yritykset ohjautuvat nopeaan rikastusjonoon, jossa ei ollut verkkotunnuksen selvitystĂ€ lainkaan, joten rivi meni suoraan "ei kotisivua" -haaraan. Lokitodiste: kyseiselle yritykselle 0 kpl selvitysrivejĂ€; kunnollinen ketju (nimivariantit, karttadata, hakukone, yrityshakemistot) eli vain toisella polulla, joka kĂ€ynnistyi vasta 20 sekuntia liidin nĂ€yttĂ€misen jĂ€lkeen. Datapankissa 423/3398 liidiĂ€ (12 %) oli ilman verkkotunnusta. Nyt jokaiselle rekisteriliidille tehdÀÀn selvitys ennen kuin vĂ€itetÀÀn mitÀÀn, katto 9 sekuntia per yritys, ja tulos jÀÀ muistiin. Kun sivua ei aidosti ole (uudet mikroyritykset, mitattu otoksesta 13/14) rivi kertoo edelleen rehellisesti ettei sitĂ€ löytynyt, mutta nyt asia on myös tarkistettu. Kytkin pois:ATLAS_ENRICH_RESOLVE_DOMAIN=0. Vahti_smoke_registry_lead_domain_resolve.py(10). - đ·ïž Yhtiömuoto kuuluu joskus verkkotunnukseen. Nimivariantit riisuivat aina "oy", "ab", "ltd" ja vastaavat pois, joten juuri sitĂ€ muotoa jolla Pohjolan Talotekniikka Oy:n sivu löytyy (
...talotekniikkaoy.fi) ei kokeiltu kertaakaan. Mitattu pankin nimistÀ: 1/60 yrityksestÀ ratkeaa vain tÀllÀ variantilla. Nyt yhtiömuodon sÀilyttÀvÀ ehdokas kokeillaan lisÀnÀ, paljas nimi pysyy edelleen ensimmÀisenÀ, ja muoto tulee aina nimen perÀÀn: Latviassa, Liettuassa ja Ukrainassa yhtiömuoto on nimen edessÀ, eikÀ sitÀ sÀÀntöÀ saa rikkoa. SisÀllön tarkistus ja kaimaportti varmistavat osuman ennen hyvÀksyntÀÀ, joten vÀÀrÀÀ yritystÀ ei poimita. Vahti_smoke_slug_legal_form_candidate.py(15).
đŹđ§ English
- đïž "No website found" was false for many registry companies. From your run: Pohjolan Talotekniikka Oy (Sotkamo, business ID 3595579-8) was marked as having no website, while
pohjolantalotekniikkaoy.fianswers HTTP 200 (77 kB) and is the top search result for the company name. ROOT CAUSE: companies taken from the registry go into the fast enrichment queue, and that queue had no domain resolution step at all, so the row fell straight through to the "no website" branch. Log evidence: zero resolution attempts for that company; the proper chain (name variants, map data, search engine, business directories) only existed on the other path, which started 20 seconds after the lead was already shown. In the data bank 423 of 3398 leads (12 %) had no domain. Every registry lead is now resolved before anything is claimed, capped at 9 seconds per company, and the result is remembered. When there genuinely is no site (new micro companies, measured 13 of 14 in a sample) the row still says so honestly, but now it has actually been checked. Kill switch:ATLAS_ENRICH_RESOLVE_DOMAIN=0. Guard_smoke_registry_lead_domain_resolve.py(10). - đ·ïž The legal form sometimes belongs in the domain. Name variants always stripped "oy", "ab", "ltd" and the like, so the exact form that finds this company's site (
...talotekniikkaoy.fi) was never tried. Measured across bank names: 1 in 60 companies resolves only through that variant. The legal-form-preserving candidate is now tried as an addition, the bare name stays first, and the form always goes at the end of the name: in Latvia, Lithuania and Ukraine the legal form comes first and that rule must not be broken. Content verification and the namesake gate confirm the hit before it is accepted, so a same-name company is not picked up. Guard_smoke_slug_legal_form_candidate.py(15).
1.0.1020
2026-08-211.0.1020 - 2026-08-21 - "đ§ Haku ei enÀÀ jÀÀdy: yksi kuollut verkkotunnus pysĂ€ytti koko ajon 11 sekunniksi"
đ«đź Suomi
- đ§ Kuollut verkkotunnus jÀÀdytti koko haun. Mitattu ajostasi (Kymenlaakso 21.8. 09:26): haku pysĂ€htyi 10,5 sekunniksi kesken kaiken, ja lokissa syy oli
ghost https://rakennusrak-heman.fi/rekrytointi. Tuota verkkotunnusta ei ole olemassa â ja nimipalvelu vastaa "ei löydy" vasta 11,0 sekunnin kuluttua (mitattu 9/9 nimeĂ€, 11,00â11,05 s). KĂ€ytetty HTTP-kirjasto selvittÀÀ nimen samassa sĂ€ikeessĂ€ jossa koko haku pyörii, joten sen odotuksen ajan mikÀÀn muu ei edennyt: aikakatkot myöhĂ€styivĂ€t, valmiit sivut jĂ€ivĂ€t kĂ€sittelemĂ€ttĂ€ ja kĂ€yttöliittymĂ€ nĂ€ytti jumittuneelta. Mitattu kolmella ajolla: 12 tuntematonta nimeĂ€ suoralla yhteydellĂ€ = 10,1 s tĂ€yttĂ€ jÀÀtymistĂ€; samat nimet proxyn lĂ€pi = 0,00 s (proxy selvittÀÀ nimen puolestamme); reitittĂ€mĂ€ttömĂ€t IP-osoitteet = 0,00 s (ei nimipalvelua). Nyt Atlas selvittÀÀ nimen itse taustasĂ€ikeessĂ€ ennen kuin antaa osoitteen kirjastolle: haku jatkuu keskeytyksettĂ€, ja olematon verkkotunnus tunnistetaan kertaalleen ja muistetaan. Hidas mutta toimiva nimipalvelu ei koskaan pudota pyyntöÀ. Kill-switchATLAS_PRERESOLVE_DNS=0. Vahti_smoke_dns_preresolve_offloop.py(12). - đŹ Miksi tĂ€tĂ€ jahdattiin kahdesti turhaan. Jumivahti nĂ€ytti 6.8. ja 20.8. syylliseksi HTTP-kirjaston sisuksia (
socket_action,_pop_future), ja molemmilla kerroilla korjaus tehtiin sinne. Mittasin ne kutsut nyt:_pop_futurekesti 0,000 s 72 kutsussa, sekĂ€ suoraan ettĂ€ proxyn lĂ€pi. Syy harhaan: kun haun sĂ€ie pysĂ€ytetÀÀn, se pysĂ€htyy siihen kohtaan jossa se sattuu olemaan â ja se on aina HTTP-kirjaston kuumin kohta. Todistin sen kokeella: kun rinnalle laitettiin tĂ€ysin eri työtĂ€ tekevĂ€ sĂ€ie, vahti syytti tĂ€smĂ€lleen samaa riviĂ€. Vahti kertoo nyt myös mikĂ€ muu sĂ€ie oli ajossa, joten seuraava korjaus osuu oikeaan paikkaan. Vahti_smoke_loop_lag_names_gil_thread.py(8).
đŹđ§ English
- đ§ One dead domain froze the whole hunt. Measured from your run (21 Aug 09:26): the hunt stopped dead for 10.5 seconds, and the log named
ghost https://rakennusrak-heman.fi/rekrytointi. That domain does not exist, and the name server takes 11.0 seconds to say so (measured, 9/9 names, 11.00â11.05 s). The HTTP library resolves names on the same thread the whole hunt runs on, so nothing else progressed while it waited: timeouts fired late, fetched pages sat unprocessed, and the UI looked stuck. Measured three ways: 12 unknown names over a direct connection = 10.1 s of full freeze; the same names through the proxy = 0.00 s (the proxy resolves for us); unroutable IPs = 0.00 s (no DNS at all). Atlas now resolves the name itself on a background thread before handing the address to the library: the hunt keeps running, and a non-existent domain is identified once and remembered. A slow-but-working name server never drops a request. Kill switchATLAS_PRERESOLVE_DNS=0. Guard_smoke_dns_preresolve_offloop.py(12). - đŹ Why this was chased twice without success. The stall watchdog blamed the HTTP library's internals on 6 Aug and 20 Aug, and both fixes went there. Those calls are now measured: 0.000 s across 72 calls, direct and proxied. The reason for the false lead: a stalled thread stops wherever it happens to be, which is always the HTTP library's hottest frame. Proven by experiment â with an unrelated busy thread running alongside, the watchdog accused exactly the same line. The watchdog now also reports which other thread was running, so the next fix lands in the right place. Guard
_smoke_loop_lag_names_gil_thread.py(8).
1.0.1019
2026-08-211.0.1019 - 2026-08-21 - "đ Investointisignaali listalle asti · rekisterin toimialakoodi pelastaa 80 rakennusfirmaa · referenssilista ei ole investointi"
đ«đź Suomi
- đ Investointi- ja seisokkisignaali nĂ€kyy nyt LISTALLA, ei vain kortin alalaidassa. Mitattu ajostasi (Kymenlaakso, "construction firm", 21.8. klo 9:26): sama kortti kertoi kaksi eri asiaa â alalaidassa luki todiste "đ Investointi, laajennus tai seisokki (sivun oma teksti)", mutta OSTOTARVE-lohko sanoi "Ei ostosignaalia juuri nyt · Atlas tarkisti 17 signaalityyppiĂ€ eikĂ€ löytĂ€nyt syytĂ€ soittaa" ja listan signaalisarakkeessa luki "Sivustolla ei jĂ€lkeĂ€ CRM:stĂ€". JUURISYY: sivusignaalien liput ja todistelause (
html_signals) eivĂ€t kulkeneet emitin lĂ€pi GUI:lle eivĂ€tkĂ€ pankkiin â vain nĂ€ytettĂ€vĂ€ rivi kulki. Listan sarake ja paneelin ostotarvelohko lukevat samaa jaettua totuutta, joka ei siis koskaan nĂ€hnyt todistetta. Nyt todiste kulkee, ja lisĂ€ksi se rakennetaan tarvittaessa takaisin signaalirivistĂ€, joten myös pankista ladattu vanha rivi kertoo saman. Vahti_smoke_industrial_signal_reaches_list.py(23). - đ Referenssilista ei ole investointi. Kaikki kolme đ-osumaa koko ajossa tulivat urakoitsijan OMALTA referenssisivulta ("Meyer hotelli- ja ravintola saneeraus, liiketilat vesivahingon korjaus, Haminan kaupunki koulun vesikattoâŠ" / "Rakennuttaja: Yksityinen tilaaja Rakennustyyppi: Mökki Laji: Saneeraus"). Ne kertovat mitĂ€ firma on tehnyt MUILLE, eivĂ€t omasta investoinnista. Tunnistin hylkÀÀ nyt ikkunan jossa on tilaajakenttĂ€ ("Rakennuttaja:", "Laji:", "Urakkamuoto") tai kolme eri työlajia perĂ€kkĂ€in = luettelo. Aidot sĂ€ilyvĂ€t mitatusti: Kilpilahden huoltoseisokki, Scanfilin tehdasinvestointi ja Aspocomp lĂ€pĂ€isevĂ€t yhĂ€ (44 tarkistusta vihreĂ€nĂ€).
- đïž Rekisterin toimialakoodi pelastaa 80 rakennusfirmaa. Samassa ajossa 218 pudotusta syyllĂ€ "ei toimialatodistetta" â PRH:sta varmennettuna 80 niistĂ€ oli TOL 41/42/43 eli aitoja rakennusalan yrityksiĂ€ (Kotkan Saneeraus ja Urakointi, Kymenlaakson kattomestarit, Kouvolan Laatoitus ja Muuraus, Tepi-Timpuri, Teline Abdo, Domus CLTâŠ). LĂ€pi pÀÀsi kĂ€ytĂ€nnössĂ€ vain firma jonka NIMESSĂ luki "rakennus". JUURISYY: rekisteririvin kaksi eri faktaa â toimialakoodi ja toimialan nimi â litistettiin yhdeksi kentĂ€ksi, joten toimialaportti ei nĂ€hnyt virallista koodia ja putosi nimen tekstihakuun. Nyt koodi kulkee porttiin asti: 41000 pitÀÀ, 56111 (ravintola) ja 68320 (isĂ€nnöinti) putoavat yhĂ€. Vahti
_smoke_registry_seed_carries_industry_code.py(12). - đ„ Rivin oma mitattu fakta voittaa yleishavainnon. Utin Rakennus Oy (liikevaihto 13,2 MâŹ, kasvu +84 %) nĂ€ytti sarakkeessa "Sivustolla ei jĂ€lkeĂ€ CRM:stĂ€" â joka on pk-yrityksen normaalitila ja toistui rivi toisensa jĂ€lkeen. KĂ€rki ratkeaa nyt todisteen painolla, joten mitattu talousluku ohittaa yleishavainnon. Havainto nĂ€kyy yhĂ€ kortilla; todistettu ostotarve voittaa yhĂ€ kaiken.
- đ§č Todistelause ei ala roskamerkillĂ€. Kortilla luki "} Meyer hotelli- ja ravintola saneerausâŠ" â HTML-purun jĂ€ttĂ€mĂ€ rakennemerkki siivotaan nyt lauseen molemmista pĂ€istĂ€.
đŹđ§ English
- đ The investment / shutdown signal now reaches the LIST, not just the bottom of the card. Measured from your run (Kymenlaakso, "construction firm", 21 Aug 09:26): the same card said two different things â the evidence "đ Investment, expansion or shutdown (the site's own text)" was visible at the bottom, while the BUYING NEED block said "No buying signal right now · Atlas checked 17 signal types and found no reason to call" and the list's signal column read "No trace of a CRM on the site". ROOT CAUSE: the site-signal flags and evidence sentence (
html_signals) did not survive the emit to the GUI or the bank â only the displayable row did. The list column and the panel's need block read the same shared verdict, which therefore never saw the evidence. The evidence now travels, and is reconstructed from the signal row when needed, so a row loaded from the bank tells the same story. Guard_smoke_industrial_signal_reaches_list.py(23). - đ A reference list is not an investment. All three đ hits in the entire run came from the contractor's OWN reference page â describing what the company has done for OTHERS, not its own investment. The detector now rejects a window containing a client field ("Rakennuttaja:", "Laji:", "Urakkamuoto") or three different work types in a row (= a listing). Genuine ones still fire, measured: the Kilpilahti maintenance shutdown, Scanfil's factory investment and Aspocomp all pass (44 checks green).
- đïž The registry industry code saves 80 construction companies. The same run dropped 218 companies for "no industry evidence" â verified against the Finnish business register, 80 of them were NACE 41/42/43, real construction companies. In practice only companies with "rakennus" (construction) in their NAME survived. ROOT CAUSE: the registry row's two separate facts â industry code and industry name â were flattened into one field, so the industry gate never saw the official code and fell back to matching the company name. The code now reaches the gate: 41000 is kept, 56111 (restaurant) and 68320 (property management) are still dropped. Guard
_smoke_registry_seed_carries_industry_code.py(12). - đ„ A row's own measured fact beats a generic observation. Utin Rakennus Oy (revenue âŹ13.2M, +84 % growth) showed "No trace of a CRM on the site" â the normal state of a small business, repeated row after row. The lead reason is now decided by evidence weight, so the measured financial fact outranks the generic observation. The observation is still shown on the card; a proven buying need still outranks everything.
- đ§č The evidence sentence no longer starts with a stray character. The card read "} Meyer hotel and restaurant renovationâŠ"; leftover HTML structure characters are now trimmed from both ends.
1.0.1018
2026-08-201.0.1018 - 2026-08-20 - "đ§âđŒ Rekry-ilmoitukset listalle · tyky- ja referenssisivut mukaan signaaleihin · paneeli puhuu suomea"
đ«đź Suomi
- đ§âđŒ Rekry-ilmoitukset nĂ€kyvĂ€t nyt ilman syvĂ€kaivuuta. Kansallinen työpaikkarajapinta (Suomessa Työmarkkinatori, lisĂ€ksi Ruotsi/Norja/Saksa) oli ohjelmassa jo valmiina, mutta sitĂ€ kutsuttiin VAIN ⥠SyvĂ€kaivuu -napista ja ghost-polulta. Mitattu elĂ€vĂ€stĂ€ ajosta: 192 liidiĂ€, 0 riviĂ€ "JobIntel" koko lokissa. Nyt sama lĂ€hde ajetaan soft-kierroksella muiden lĂ€hteiden rinnalla, y-tunnus mukana (identiteetti todistetaan rekisteritunnuksella, ei nimiarvauksella). Mitattu 20.8.: Servica Oy 6 avointa ilmoitusta, Barona Rakennus 32, ja jokainen todiste on klikattava linkki. Kill-switch
ATLAS_SOFT_JOB_INTEL=0. Vahti_smoke_soft_job_intel_wired.py(21). - đ Tyky- ja henkilöstösivut löytyvĂ€t vihdoin. Sivusignaalien poimintalista tunsi sponsorointi-, kumppani-, vastuullisuus- ja uutissivut, mutta EI sivuja joilla henkilöstöelĂ€mykset oikeasti kerrotaan. Mitattu 11 suomalaiselta rakennusalan sivustolta: *tyopaikkana* 9, *kulttuuri* 5, *henkilöstö* 3, tyohyvinvointi / tyhy / tyky 0. Tyky-sisĂ€ltö ei siis ole koskaan sivulla nimeltĂ€ "tyky" vaan "Työpaikkana X", "MeillĂ€ töissĂ€", "Henkilöstö" tai "Kulttuuri". NĂ€mĂ€ lisĂ€ttiin, samoin referenssit (korpuksen 3. yleisin signaalilinkki, 55 osumaa 8 sivustolla) joka ruokkii kortin đ referenssihavaintoa. Rakennusalan ansa sĂ€ilyy:
/urakointija/urakateivĂ€t edelleenkÀÀn kelpaa "ura"-sivuksi. Vahti_smoke_signal_pages_soft_crawl.py(27). - đ«đź Liidipaneeli puhuu suomea. "SELVĂ KIPUSIGNAALI HAVAITTU" -lohkon myyntikulma tuli ulos kovakoodattuna englantina keskellĂ€ suomenkielistĂ€ korttia (*"Gorho Visuals Oy publishes content but basic SEO tags are missingâŠ"*). Kaikki 14 lausetta ovat nyt kÀÀnnösten takana (fi/en/ru) ja englanti sĂ€ilyy varakielenĂ€. Vahti
_smoke_oppwhy_i18n.py(37) kaataa buildin jos englanti yritetÀÀn palauttaa.
đŹđ§ English
- đ§âđŒ Job postings now show without deep enrich. The national job API (Työmarkkinatori in Finland, plus SE/NO/DE) was already in the product but was only called from the ⥠Deep Enrich button and the ghost path: a live run of 192 leads produced zero "JobIntel" lines. It now runs in the soft round alongside the other sources, with the business ID passed through so identity is proven by registry number rather than name matching. Measured 20 Aug: Servica Oy 6 open positions, Barona Rakennus 32, each with a clickable source link. Kill switch
ATLAS_SOFT_JOB_INTEL=0. Guard_smoke_soft_job_intel_wired.py(21). - đ Staff-experience and reference pages are finally picked up. The signal-page picker knew sponsorship, partner, sustainability and news pages but not the pages where staff experiences are actually described. Measured across 11 Finnish construction sites: *tyopaikkana* 9, *kulttuuri* 5, *henkilöstö* 3, tyohyvinvointi / tyhy / tyky 0. Those pages plus references (the corpus's third most common signal link, 55 hits on 8 sites) are now followed. The construction trap still holds:
/urakointiand/urakatare not "career" pages. Guard_smoke_signal_pages_soft_crawl.py(27). - đ«đź The lead panel speaks the user's language. The sales angle in the "CLEAR PAIN SIGNAL" block was hardcoded English inside an otherwise Finnish card. All 14 sentences now come from the translation layer (fi/en/ru) with English as fallback. Guard
_smoke_oppwhy_i18n.py(37).
1.0.1017
2026-08-201.0.1017 - 2026-08-20 - "đ§âđŒ Rekry-ilmoitukset listalle · tyky- ja referenssisivut mukaan signaaleihin · paneeli puhuu suomea"
đ«đź Suomi
- đ§âđŒ Rekry-ilmoitukset nĂ€kyvĂ€t nyt ilman syvĂ€kaivuuta. Kansallinen työpaikkarajapinta (Suomessa Työmarkkinatori, lisĂ€ksi Ruotsi/Norja/Saksa) oli ohjelmassa jo valmiina, mutta sitĂ€ kutsuttiin VAIN ⥠SyvĂ€kaivuu -napista ja ghost-polulta. Mitattu elĂ€vĂ€stĂ€ ajosta: 192 liidiĂ€, 0 riviĂ€ "JobIntel" koko lokissa. Nyt sama lĂ€hde ajetaan soft-kierroksella muiden lĂ€hteiden rinnalla, y-tunnus mukana (identiteetti todistetaan rekisteritunnuksella, ei nimiarvauksella). Mitattu 20.8.: Servica Oy 6 avointa ilmoitusta, Barona Rakennus 32, ja jokainen todiste on klikattava linkki. Kill-switch
ATLAS_SOFT_JOB_INTEL=0. Vahti_smoke_soft_job_intel_wired.py(21). - đ Tyky- ja henkilöstösivut löytyvĂ€t vihdoin. Sivusignaalien poimintalista tunsi sponsorointi-, kumppani-, vastuullisuus- ja uutissivut, mutta EI sivuja joilla henkilöstöelĂ€mykset oikeasti kerrotaan. Mitattu 11 suomalaiselta rakennusalan sivustolta: *tyopaikkana* 9, *kulttuuri* 5, *henkilöstö* 3, tyohyvinvointi / tyhy / tyky 0. Tyky-sisĂ€ltö ei siis ole koskaan sivulla nimeltĂ€ "tyky" vaan "Työpaikkana X", "MeillĂ€ töissĂ€", "Henkilöstö" tai "Kulttuuri". NĂ€mĂ€ lisĂ€ttiin, samoin referenssit (korpuksen 3. yleisin signaalilinkki, 55 osumaa 8 sivustolla) joka ruokkii kortin đ referenssihavaintoa. Rakennusalan ansa sĂ€ilyy:
/urakointija/urakateivĂ€t edelleenkÀÀn kelpaa "ura"-sivuksi. Vahti_smoke_signal_pages_soft_crawl.py(27). - đ«đź Liidipaneeli puhuu suomea. "SELVĂ KIPUSIGNAALI HAVAITTU" -lohkon myyntikulma tuli ulos kovakoodattuna englantina keskellĂ€ suomenkielistĂ€ korttia (*"Gorho Visuals Oy publishes content but basic SEO tags are missingâŠ"*). Kaikki 14 lausetta ovat nyt kÀÀnnösten takana (fi/en/ru) ja englanti sĂ€ilyy varakielenĂ€. Vahti
_smoke_oppwhy_i18n.py(37) kaataa buildin jos englanti yritetÀÀn palauttaa.
đŹđ§ English
- đ§âđŒ Job postings now show without deep enrich. The national job API (Työmarkkinatori in Finland, plus SE/NO/DE) was already in the product but was only called from the ⥠Deep Enrich button and the ghost path: a live run of 192 leads produced zero "JobIntel" lines. It now runs in the soft round alongside the other sources, with the business ID passed through so identity is proven by registry number rather than name matching. Measured 20 Aug: Servica Oy 6 open positions, Barona Rakennus 32, each with a clickable source link. Kill switch
ATLAS_SOFT_JOB_INTEL=0. Guard_smoke_soft_job_intel_wired.py(21). - đ Staff-experience and reference pages are finally picked up. The signal-page picker knew sponsorship, partner, sustainability and news pages but not the pages where staff experiences are actually described. Measured across 11 Finnish construction sites: *tyopaikkana* 9, *kulttuuri* 5, *henkilöstö* 3, tyohyvinvointi / tyhy / tyky 0. Those pages plus references (the corpus's third most common signal link, 55 hits on 8 sites) are now followed. The construction trap still holds:
/urakointiand/urakatare not "career" pages. Guard_smoke_signal_pages_soft_crawl.py(27). - đ«đź The lead panel speaks the user's language. The sales angle in the "CLEAR PAIN SIGNAL" block was hardcoded English inside an otherwise Finnish card. All 14 sentences now come from the translation layer (fi/en/ru) with English as fallback. Guard
_smoke_oppwhy_i18n.py(37).
1.0.1016
2026-08-201.0.1016 - 2026-08-20 - "đ§âđŒ Rekry-ilmoitukset listalle · tyky- ja referenssisivut mukaan signaaleihin · paneeli puhuu suomea"
đ«đź Suomi
- đ§âđŒ Rekry-ilmoitukset nĂ€kyvĂ€t nyt ilman syvĂ€kaivuuta. Kansallinen työpaikkarajapinta (Suomessa Työmarkkinatori, lisĂ€ksi Ruotsi/Norja/Saksa) oli ohjelmassa jo valmiina, mutta sitĂ€ kutsuttiin VAIN ⥠SyvĂ€kaivuu -napista ja ghost-polulta. Mitattu elĂ€vĂ€stĂ€ ajosta: 192 liidiĂ€, 0 riviĂ€ "JobIntel" koko lokissa. Nyt sama lĂ€hde ajetaan soft-kierroksella muiden lĂ€hteiden rinnalla, y-tunnus mukana (identiteetti todistetaan rekisteritunnuksella, ei nimiarvauksella). Mitattu 20.8.: Servica Oy 6 avointa ilmoitusta, Barona Rakennus 32, ja jokainen todiste on klikattava linkki. Kill-switch
ATLAS_SOFT_JOB_INTEL=0. Vahti_smoke_soft_job_intel_wired.py(21). - đ Tyky- ja henkilöstösivut löytyvĂ€t vihdoin. Sivusignaalien poimintalista tunsi sponsorointi-, kumppani-, vastuullisuus- ja uutissivut, mutta EI sivuja joilla henkilöstöelĂ€mykset oikeasti kerrotaan. Mitattu 11 suomalaiselta rakennusalan sivustolta: *tyopaikkana* 9, *kulttuuri* 5, *henkilöstö* 3, tyohyvinvointi / tyhy / tyky 0. Tyky-sisĂ€ltö ei siis ole koskaan sivulla nimeltĂ€ "tyky" vaan "Työpaikkana X", "MeillĂ€ töissĂ€", "Henkilöstö" tai "Kulttuuri". NĂ€mĂ€ lisĂ€ttiin, samoin referenssit (korpuksen 3. yleisin signaalilinkki, 55 osumaa 8 sivustolla) joka ruokkii kortin đ referenssihavaintoa. Rakennusalan ansa sĂ€ilyy:
/urakointija/urakateivĂ€t edelleenkÀÀn kelpaa "ura"-sivuksi. Vahti_smoke_signal_pages_soft_crawl.py(27). - đ«đź Liidipaneeli puhuu suomea. "SELVĂ KIPUSIGNAALI HAVAITTU" -lohkon myyntikulma tuli ulos kovakoodattuna englantina keskellĂ€ suomenkielistĂ€ korttia (*"Gorho Visuals Oy publishes content but basic SEO tags are missingâŠ"*). Kaikki 14 lausetta ovat nyt kÀÀnnösten takana (fi/en/ru) ja englanti sĂ€ilyy varakielenĂ€. Vahti
_smoke_oppwhy_i18n.py(37) kaataa buildin jos englanti yritetÀÀn palauttaa.
đŹđ§ English
- đ§âđŒ Job postings now show without deep enrich. The national job API (Työmarkkinatori in Finland, plus SE/NO/DE) was already in the product but was only called from the ⥠Deep Enrich button and the ghost path: a live run of 192 leads produced zero "JobIntel" lines. It now runs in the soft round alongside the other sources, with the business ID passed through so identity is proven by registry number rather than name matching. Measured 20 Aug: Servica Oy 6 open positions, Barona Rakennus 32, each with a clickable source link. Kill switch
ATLAS_SOFT_JOB_INTEL=0. Guard_smoke_soft_job_intel_wired.py(21). - đ Staff-experience and reference pages are finally picked up. The signal-page picker knew sponsorship, partner, sustainability and news pages but not the pages where staff experiences are actually described. Measured across 11 Finnish construction sites: *tyopaikkana* 9, *kulttuuri* 5, *henkilöstö* 3, tyohyvinvointi / tyhy / tyky 0. Those pages plus references (the corpus's third most common signal link, 55 hits on 8 sites) are now followed. The construction trap still holds:
/urakointiand/urakatare not "career" pages. Guard_smoke_signal_pages_soft_crawl.py(27). - đ«đź The lead panel speaks the user's language. The sales angle in the "CLEAR PAIN SIGNAL" block was hardcoded English inside an otherwise Finnish card. All 14 sentences now come from the translation layer (fi/en/ru) with English as fallback. Guard
_smoke_oppwhy_i18n.py(37).
1.0.1015
2026-08-201.0.1015 - 2026-08-20 - "đ§ Yksi firma = yksi rivi: haamukaksoset pois listalta · rekisteröintipĂ€ivĂ€ ei ole ostosignaali"
đ«đź Suomi
- đ§ Sama firma ei enÀÀ nĂ€y listalla kahdesti. Mitattu ajostasi (EtelĂ€-Pohjanmaa, mainostoimistot): Pauli Laakso Oy, Sivuverstas Oy, Usvavuori Creative Oy, Printti Labra Oy ja Somementori Oy olivat listalla kaksi kertaa, ylempi rikastettuna ("YLIHĂRMĂ, FI · Suora- ja ulkomainonta · HOT") ja alempi tyhjĂ€nĂ€ haamurivinĂ€ ("YLIHĂRMà · â · â · COLD · ei ostosignaalia"). JUURISYY: liidin avain oli "verkkotunnus TAI nimi". Rekisterifirma saapuu ensin ilman verkkotunnusta (avain = nimi) ja kun verkkotunnus myöhemmin ratkeaa, sama firma tallentui UUDELLA avaimella (avain = verkkotunnus). Kaksi avainta, kaksi riviĂ€. Nyt haamu sulautetaan rikastettuun riviin (rekisteridata siirtyy mukana) ja sen rivi poistetaan, molempiin suuntiin: haamu ensin tai rekisterierĂ€ jĂ€ljessĂ€. Kaimasuoja: eri Y-tunnus, eri kaupunki tai eri rekisteröintipĂ€ivĂ€ = eri firma, niitĂ€ ei yhdistetĂ€ koskaan.
- đ Rekisterifirman toimiala ja maa eivĂ€t enÀÀ katoa. Discovery-rivi rakennettiin tyhjĂ€stĂ€ ja pudotti rekisterin toimialan, maan, maakunnan ja osoitteen. Siksi puolet riveistĂ€ nĂ€ytti "SEINĂJOKI · â" vaikka rekisteri kertoi "SEINĂJOKI, FI · Mainostoimistot". Sama koski pankkia, exporttia ja laskureita, jotka nĂ€kivĂ€t saman firman kahtena.
- đ RekisteröintipĂ€ivĂ€ ei ole ostosignaali puolen vuoden jĂ€lkeen. Sarakkeessa luki 7 rivillĂ€ 13:sta "Rekisteröity 2025-02-07 · 18 kk sitten". Mitattu syy: rekisteröinnin paino oli 88 miinus kuukaudet (18 kk = 70) eli se voitti jokaisen mitatun sivuhavainnon (rekrysivu 60, aukko 48, referenssit 38). Nyt tuore rekisteröinti (alle 180 pv) on yhĂ€ aito "miksi nyt" (uusi firma valitsee toimittajansa), vanhempi on sopivuustieto: se nĂ€kyy yhĂ€ rivillĂ€ ja kortilla, mutta ei ohita sivustolta mitattua havaintoa eikĂ€ kelpaa yksin ostotarpeen todisteeksi.
- Vahti:
_smoke_one_row_per_company.py(31), jaettu kerroslead_identity.py.
đŹđ§ English
- đ§ One company, one row. Measured from your run (Southern Ostrobothnia, ad agencies): five companies appeared twice, once enriched ("YLIHĂRMĂ, FI · direct advertising · HOT") and once as an empty ghost row ("YLIHĂRMà · â · â · COLD · no buying signal"). ROOT CAUSE: the lead key was "domain OR name". A registry company arrives first without a domain (key = name), and when the domain is later resolved the same company is stored under a NEW key (key = domain). Two keys, two rows. The ghost is now merged into the enriched row (its registry data carried over) and its row removed, in both directions. Namesake guard: a different business ID, city or registration date means a different company and is never merged.
- đ Registry industry and country no longer lost. The discovery row was built from scratch and dropped the registry industry, country, region and address, which is why half the rows read "SEINĂJOKI · â" while the registry said "SEINĂJOKI, FI · Advertising agencies". The same duplicate also reached the bank, the export and the counters.
- đ A registration date is not a buying signal after six months. 7 of 13 rows said "Registered 2025-02-07 · 18 mo ago" because the registration fact weighed 88 minus months (70 at 18 months) and outranked every measured site observation (careers page 60, gap 48, case studies 38). A fresh registration (under 180 days) is still a real "why now"; an older one is fit context: still shown, but it no longer outranks measured evidence and no longer counts alone as proof of buying need.
- Guard:
_smoke_one_row_per_company.py(31), shared layerlead_identity.py.
1.0.1014
2026-08-201.0.1014 - 2026-08-20 - "đ§Ÿ Sivuhavainnot takaisin signaalisarakkeeseen: referenssit, palveluntarjoaja, verkkopanostus, rekry"
đ«đź Suomi
- đ§Ÿ "SIGNAALI & MIKSI NYT" ei enÀÀ tyhjĂ€. Mitattu ajostasi (Kanta-HĂ€me, talonrakentaminen): sivustotunnistin löysi liideiltĂ€ aidot havainnot (referenssit, palveluntarjoaja, analytiikka+CTA, tech-stack), mutta sarake nosti nĂ€kyviin VAIN neljĂ€ nichetyyppiĂ€ (đ investointi, đ€ sponsorointi, đ tyhy, đ urheilu) â ne eivĂ€t osu rakennusfirmaan, joten sarakkeeseen jĂ€i vain "ei jĂ€lkeĂ€ CRM:stĂ€" / "ei ostosignaalia". Nyt sarakkeeseen nousevat MYĂS mitatut havainnot: đ§âđŒ ura-/rekrysivu (kasvun "miksi nyt"), đ referenssit, đ€ palveluntarjoaja, đ panostaa verkkoon, đ°ïž vanhentunut sivu. Kaikki todiste firman omalta sivulta â ei arvausta.
- âïž Totuus sĂ€ilyy. NĂ€mĂ€ ovat "keitĂ€ he ovat" -kontekstia (fit), eivĂ€t valheellinen "osta nyt" -vĂ€ite: OSTOTARVE-lohko erottaa yhĂ€ aidon signaalin (uutinen/rekry/rahoitus â "lĂ€hesty nyt") pelkĂ€stĂ€ sivustohavainnosta. TyhjĂ€ sivu ei tuota valeosumaa.
- Vahti:
_smoke_site_evidence_signals_column.py.
đŹđ§ English
- đ§Ÿ The "SIGNAL & WHY NOW" column is no longer empty. Measured from your run (house construction): the site detector found real observations (case studies, service-provider, analytics+CTA, tech stack), but the column surfaced only four niche types (đ investment, đ€ sponsorship, đ staff experiences, đ sports) â none of which fit a construction firm, so it fell back to "no CRM" / "no buying signal". Now the column also surfaces the measured observations: đ§âđŒ careers/hiring page (a growth "why now"), đ case studies, đ€ service provider, đ invests in web, đ°ïž outdated site. All evidence from the company's own site â no guessing.
- âïž Truth preserved. These are "who they are" context (fit), not a false "buy now" claim: the BUYING-NEED block still separates a real signal (news/hiring/funding â "approach now") from a mere site observation. An empty site produces no false match.
- Guard:
_smoke_site_evidence_signals_column.py.
1.0.1013
2026-08-201.0.1013 - 2026-08-20 - "đ Rekisterifirmat saavat kotisivunsa takaisin: domain-haku ei enÀÀ hajoa toisessa haussa"
đ«đź Suomi
- đ "Verkkotunnusta ei löytynyt" korjattu. Mitattu ajostasi (Kanta-HĂ€me, mainostoimistot): ~12 oikeaa firmaa joilla on selvĂ€ kotisivu (esim. BearLion Oy â bearlion.fi) merkittiin "ei domainia" â matala prioriteetti, ei kontaktia. JUURISYY: kotisivun arvaus (nimi â nimi.fi + DNS) kĂ€ytti sisĂ€istĂ€ lukkoa joka oli sidottu EDELLISEN haun moottoriin. Kun ajat saman session TOISEN haun, lukko oli "vÀÀrĂ€ssĂ€ moottorissa" â jokainen DNS-arvaus kaatui hiljaa â domain jĂ€i tyhjĂ€ksi JOKAISELLE rekisterifirmalle. Nyt lukko sidotaan aina kĂ€ynnissĂ€ olevaan hakuun â domain löytyy 1., 2. ja n:nnessĂ€ haussa. Sama vika oli korjattu jo rikastuksen pÀÀlukolle (27.7.); nĂ€mĂ€ kaksi resolve-lukkoa jĂ€ivĂ€t korjaamatta.
- đïž Hiljainen niely poistettu samasta kohdasta. Arvausvirhe niellyt ÀÀnettömĂ€sti (0 lokiriviĂ€) â vika oli nĂ€kymĂ€tön. Nyt normaali DNS-miss ja odottamaton virhe (esim. lukko-ongelma) eritellÀÀn; jĂ€lkimmĂ€inen lokitetaan.
- Vahti:
_smoke_resolve_sem_per_loop.py(BearLion Oy kahdella perĂ€kkĂ€isellĂ€ haulla â bearlion.fi molemmilla).
đŹđ§ English
- đ "No domain found" fixed. Measured from your run (Kanta-HĂ€me ad agencies): ~12 real companies with obvious websites (e.g. BearLion Oy â bearlion.fi) were flagged "no domain" â low priority, no contact. ROOT CAUSE: the domain guesser (name â name.fi + DNS) used an internal lock bound to the PREVIOUS hunt's event loop. On the 2nd hunt of a session the lock was "on the wrong loop" â every DNS guess failed silently â domain stayed empty for EVERY registry company. The lock is now bound to the running hunt â domains resolve on the 1st, 2nd and Nth hunt. The same bug was already fixed for the main enrichment lock (Jul 27); these two resolve locks were missed.
- đïž Silent swallow removed at the same spot. A guess error was swallowed silently (0 log lines) so the bug was invisible. Normal DNS misses and unexpected errors (e.g. lock issues) are now separated; the latter is logged.
- Guard:
_smoke_resolve_sem_per_loop.py.
1.0.1012
2026-08-201.0.1012 - 2026-08-20 - "đš Signaalit takaisin listalle + haku ei enÀÀ jÀÀdy: SERP-jĂ€sennys ja curl-siivous pois event loopista"
đ«đź Suomi
- đš Sivustohavainnot nĂ€kyvĂ€t taas signaaleina. Ylikorjasin aiemman "signaali on liian vĂ€ljĂ€" -palautteen: lista alkoi lukea "ei ostosignaalia" MYĂS niille liideille joille soft-rikastus oli löytĂ€nyt aidon havainnon (ei CRM:ÀÀ, digiaukko, heikko verkkojalanjĂ€lki). Ne OVAT liidin myyntikulma, eivĂ€t tyhjÀÀ. Nyt sarake nĂ€yttÀÀ havainnon jĂ€lleen; "ei ostosignaalia" lukee VAIN kun mitÀÀn ei löytynyt. Paneelin OSTOTARVE-lohko pitÀÀ yhĂ€ eron aidon signaalin (uutinen/rekry/rahoitus â "lĂ€hesty nyt") ja pelkĂ€n sivustohavainnon vĂ€lillĂ€.
- â±ïž Haku ei enÀÀ "jÀÀdy" isojen sivujen kohdalla. Mitattu ajostasi (15:59): hakukoneiden vastausten HTML-jĂ€sennys (BeautifulSoup) ajettiin samassa sĂ€ikeessĂ€ kuin muu työ â iso Marginalia-sivu blokkasi koko haun 2 sekunniksi kerrallaan. Nyt jĂ€sennys ajetaan omassa sĂ€ikeessÀÀn (nopeampi lxml-jĂ€sennin) yhdeksĂ€ssĂ€ hakukoneessa â haku pysyy responsiivisena isollakin vastauksella. Tulos on identtinen, vain nopeampi.
- đ Curl-yhteyksien siivous ei enÀÀ tuki looppia. Isossa ajossa (800 liidiĂ€) curl_cffi:n sisĂ€inen yhteydensiivous kasautui ja nyki looppia 1,5â3 s. Rajattu samanaikaisten curl-pyyntöjen mÀÀrĂ€ niin ettei siivous kasva jumipisteeseen â puree vain purskeessa, terve ajo ennallaan.
- Vahdit:
_smoke_serp_soup_offload.py,_smoke_curl_inflight_cap.py.
đŹđ§ English
- đš Site observations show as signals again. An over-correction made the list read "no buying signal" even for leads where enrichment had found a real observation (no CRM, gaps, weak online footprint) â those are the sales angle, not nothing. The column shows the observation again; "no buying signal" appears only when nothing was found. The panel still separates a real signal (news/hiring/funding â "approach now") from a mere site observation.
- â±ïž The hunt no longer stalls on large pages. Search-engine HTML parsing (BeautifulSoup) ran on the event loop; a large Marginalia page blocked the whole hunt for ~2s at a time. Parsing now runs in its own thread (faster lxml parser) across nine engines â identical results, no stalls.
- đ Curl connection cleanup no longer clogs the loop. In a big run curl_cffi's internal cleanup piled up and stalled the loop 1.5â3s. Concurrent curl requests are now capped so cleanup stays cheap â only bites during bursts.
- Guards:
_smoke_serp_soup_offload.py,_smoke_curl_inflight_cap.py.
1.0.1011
2026-08-201.0.1011 - 2026-08-20 - "â Proxy-first lukittu + đ§ Atlas oppii ja jakaa: host-rungit, toimialapolut, anonyymi yhteisö-KB"
đ«đź Suomi
- â Proxy-first on nyt rakenteellinen sÀÀntö, ei asetus. Build KAATUU jos jakeluversiolta puuttuvat gateway-osoitteet â versiota jossa asiakkaan oma IP hakisi taloussivut ei voi enÀÀ syntetyĂ€ vahingossa. Tietoinen ohitus vaatii erillisen lipun ja tulostaa varoituksen isolla. Vahti valvoo lisĂ€ksi ettĂ€ gateway-reititys ja taloushostien lista pysyvĂ€t koodissa.
- â±ïž Haku ei enÀÀ "jÀÀdy" isojen sivujen kohdalla. Mitattu tĂ€mĂ€n aamun ajosta: sivuston laatuanalyysi (SPA-tunnistus) ajoi raskaita tekstihakuja jopa megatavun kokoisille sivuille kesken haun â 15 kertaa 1,5â2,8 sekunnin nykimistĂ€. Sama työ tehdÀÀn nyt jaetulla lineaarisella siivouksella ja laskenta lopetetaan heti kun vastaus on selvillĂ€: pahin mitattu sivu (782 kt) kĂ€sitellÀÀn nyt 16 millisekunnissa. Tunnistustarkkuus ei muuttunut â SPA-kuori tunnistetaan yhĂ€, sisĂ€ltösivu ei leimaudu vÀÀrin.
- Vahdit:
_smoke_gateway_product_split.py(uusi I8) ja_smoke_hotpath_regex_perf.py(uusi crawl-quality-osio).
đŹđ§ English
- â Proxy-first is now a structural rule, not a setting. The build ABORTS if a distribution is missing the gateway URLs â a version where the customer's own IP would fetch financial pages can no longer be produced by accident. A conscious override requires a separate flag and prints a loud warning.
- â±ïž The hunt no longer stutters on large pages. Measured from this morning's run: the site-quality analysis ran heavy text scans over pages up to a megabyte in the middle of the hunt â 15 stalls of 1.5â2.8 seconds. The same work now uses the shared linear stripper with early-exit counting: the worst measured page (782 KB) is handled in 16 ms. Detection accuracy is unchanged.
- Guards:
_smoke_gateway_product_split.py(new I8) and_smoke_hotpath_regex_perf.py(new crawl-quality section).
đ«đź Suomi (đșïž toimialakohtainen polkuĂ€ly â idea B)
- đșïž Rikastus oppii per toimiala mistĂ€ data löytyy. Alasivuvalinta tunsi vain toimiala-agnostisen sanaston (kontakti/tiimi + sponsorointi/uutiset), joten rakennusfirman /referenssit ja /projektit â juuri se sivu jossa on todiste toteutuneista ja tulevista hankkeista â jĂ€ivĂ€t hakematta vaikka etusivu linkitti niihin. Nyt Atlas oppii ajoista mitkĂ€ kotisivulta linkitetyt polunpÀÀt tuottavat dataa kullekin toimialalle, ja nostaa ne ehdokkaiksi (max 2, vain jos etusivu linkittÀÀ â ei sokkoarvausta).
- đ Ei arvattua sanastoa â mitattu tai opittu. SÀÀntösi mukaisesti karttaa ei baketa kĂ€sin: se lĂ€htee tyhjĂ€nĂ€ (cold-startissa nolla vaikutusta) ja tĂ€yttyy oikeista ajoista, tai seed tuotetaan
tools/probes/_industry_path_mine.py:llĂ€ oikeasta korpuksesta (ATLAS_PATH_INTEL_SEED). Uusi/harvinainen toimiala ei ylisovita yhdestĂ€ osumasta (vaatii â„3 nĂ€ytettĂ€). - Toimiala luetaan crawl-hetkellĂ€ (rekisterin toimiala ensin, hakusana varalle). Kill-switch
ATLAS_PATH_INTEL=0. Vahti:_smoke_path_intel.py(15 tarkistusta).
đŹđ§ English (đșïž industry-aware path intelligence â idea B)
- đșïž Enrichment learns per industry where the data lives. Subpage selection knew only an industry-agnostic vocabulary (contact/team + sponsorship/news), so a construction firm's /referenssit and /projektit â the very page carrying proof of completed and upcoming projects â went unfetched even when the homepage linked to them. Atlas now learns from runs which homepage-linked path-heads yield data for each industry and pulls them in (max 2, only if linked â no blind guessing).
- đ No guessed vocabulary â measured or learned. Per your rule the map is not hand-baked: it ships empty (zero effect at cold start) and fills from real runs, or a seed is generated by
tools/probes/_industry_path_mine.pyfrom a real corpus (ATLAS_PATH_INTEL_SEED). A new/rare industry does not overfit from a single hit (needs â„3 samples). - Industry is read at crawl time (registry industry first, keyword fallback). Kill-switch
ATLAS_PATH_INTEL=0. Guard:_smoke_path_intel.py.
đ«đź Suomi (đ jaettu host-muisti â idea A)
- đ§ Rikastuscrawlin fetcher lukee nyt saman opitun host-muistin kuin master-transformer. Aiemmin ne olivat kaksi erillistĂ€ aivoa: master-transformer oppi per host mikĂ€ taktiikka avaa sen ja sĂ€ilytti tiedon levylle, mutta
hybrid_fetcher(joka hakee liidien etusivut, yhteystiedot, tiimisivut) valitsi rungin kuolleella selain-ajan heuristiikalla eikĂ€ oppinut mitÀÀn pysyvÀÀ. Nyt se kysyyhost_fetch_hint()-vihjeen ja aloittaa oikealta rungilta ensiyrityksellĂ€. - đ©č Korjattu inversio: vaikeimmiksi TIEDETYT hostit saivat HEIKOIMMAN rungin ensin. Vanha koodi merkkasi kaikki pohjoismaiset TLD:t (.fi/.se/.noâŠ) ja "kovat" hostit tier 3:ksi â koska selain on poistettu, ne putosivat tier 1:een = paljas httpx ilman TLS-impersonointia = taattu 403 + bottisormenjĂ€lki asiakkaan omalla IP:llĂ€, ja vasta sitten curl_cffi. Nyt tunnetusti raskas host aloittaa suoraan curl-impersonoinnista, eikĂ€ paljasta itseÀÀn turhalla oma-IP-yrityksellĂ€.
- ⥠Kotimarkkina (.fi) ei enÀÀ maksa turhaa curl-hidastusta. Pohjoismainen-TLD-oletus oli selain-ajan perua ja ristiriidassa 15.8. mitatun kanssa (JS-kuoria vain 2,7 % / n=1324). Tuntematon
.fi-host kulkee nyt nopean httpx-polun ( tikkaat nostaa curl:iin vasta jos se feilaa), ja per-host-vihje nappaa aidosti kovat hostit yksitellen. - đ Rikastus opettaa takaisin â verkostohyöty kĂ€ynnistyy. Rikastus osuu tuhansiin yritysten etusivuihin joita SERP-polku ei koskaan nĂ€e. Nyt jokainen osuma/epĂ€onnistuminen kirjautuu jaettuun muistiin (omaan
ext-lohkoon, joka ei saastuta master-transformerin mitattuja SERP-taktiikkatilastoja): 3 epĂ€onnistumista ilman yhtÀÀn onnistumista â host merkitÀÀn "aloita raskaalla + fail-fast", ja ensimmĂ€inen onnistuminen nollaa sen. - Vahti:
_smoke_shared_host_memory_hint.pyâ tuntematonâneutraali, kuratoĂtu raskasâtier2, ext-loserâtier2, tuntematon Nordicâtier1 (inversio poissa), ext ei vuoda taktiikkatilastoihin, loopback/varatut hostit ohittuvat.
đŹđ§ English
- đ§ The enrichment fetcher now reads the same learned host memory as the master transformer. They used to be two separate brains: the master transformer learned per host which tactic opens it and persisted that to disk, but
hybrid_fetcher(which fetches leads' homepages, contact and team pages) picked its tier with dead browser-era heuristics and learned nothing durable. It now consults ahost_fetch_hint()and starts on the right rung on the first attempt. - đ©č Fixed an inversion where the hosts KNOWN to be hardest got the WEAKEST rung first. The old code tagged all Nordic TLDs (.fi/.se/.noâŠ) and "tough" hosts as tier 3 â since the browser is gone they demoted to tier 1 = plain httpx with no TLS impersonation = a guaranteed 403 plus a bot fingerprint on the customer's own IP, only then curl_cffi. A known-heavy host now starts straight on curl impersonation and never exposes itself with a wasted own-IP attempt.
- ⥠The home market (.fi) no longer pays a needless curl slowdown. The Nordic-TLD assumption was browser-era and contradicted the 15 Aug measurement (JS shells only 2.7% / n=1324). An unknown
.fihost now takes the fast httpx path (the ladder escalates to curl only on failure), and the per-host hint catches the genuinely hard hosts individually. - đ Enrichment teaches back â the network effect starts. Enrichment hits thousands of company homepages the SERP path never sees. Every success/failure now writes to the shared memory (in its own
extblock that does not pollute the transformer's measured SERP tactic stats): 3 failures with zero successes â the host is marked "start heavy + fail-fast," and the first success clears it. - Guard:
_smoke_shared_host_memory_hint.py.
đ«đź Suomi (đ jaettu anonyymi yhteisö-KB â idea C, network effect)
- đ Yhden asiakkaan oppi hyödyttÀÀ muita â ilman ettĂ€ kohdelista vuotaa. Ideat A ja B oppivat host-rungit ja toimialapolut, mutta oppi eli vain yhdellĂ€ koneella. Nyt oppi on jaettavaa: toimialaâpolku (esim. "rakennus â /referenssit") jaetaan tĂ€ysin, koska se ei sisĂ€llĂ€ yhtÀÀn hostia/domainia/nimeĂ€ â nolla yksityisyyskustannusta, ja tuore asennus saa rakennuksen oikeat alasivut heti yhteisöstĂ€ ilman omaa oppia.
- đ Host-jako on tiukan portin takana. Host on asiakkaan kohde, joten hostâtaktiikka jaetaan vain (a) erillisellĂ€ opt-inilla (oletus pois), (b) konservatiivisella infra-allowlistilla (vain julkiset jaetut hostit: hakukoneet/hakemistot/rekisterit â tuntematon ei koskaan) ja (c) k-anonymiteetillĂ€: host pÀÀsee yhteisö-KB:hen vain jos vĂ€hintÀÀn K eri asennusta nĂ€ki sen. Asiakkaan uniikki liidi ei koskaan tĂ€ytĂ€ K:ta; jaettu infra tĂ€yttÀÀ. Myrkytyssuoja: yhden asennuksen data ei voi dominoida.
- đ€ Ei mitÀÀn verkkoon ilman tietoista pÀÀtöstĂ€. Kaikki on tiedostopohjaista: contribution kirjoitetaan tiedostoon jonka voi tarkastaa ennen jakoa, ja
tools/probes/_kb_aggregate.pykokoaa asennukset yhteisö-seediksi offline. Palvelinsync on erillinen opt-in-vaihe. Vahti:_smoke_shared_kb.py(15 tarkistusta â testaa turvaominaisuudet, ei vain toimintaa).
đŹđ§ English (đ shared anonymous community KB â idea C, network effect)
- đ One customer's learning helps the others â without leaking the target list. Ideas A and B learn host rungs and industry paths, but the learning lived on one machine. It is now shareable: industryâpath (e.g. "construction â /referenssit") is shared fully because it contains no host/domain/name â zero privacy cost, and a fresh install gets construction's right subpages from the community immediately.
- đ Host sharing sits behind a strict gate. A host is the customer's target, so hostâtactic is shared only with (a) an explicit opt-in (off by default), (b) a conservative infrastructure allowlist (only public shared hosts â search engines, directories, registries; unknown never), and (c) k-anonymity: a host enters the community KB only if at least K distinct installs observed it. A customer's unique lead never meets K; shared infrastructure does. Poisoning is capped so no single install dominates.
- đ€ Nothing leaves the machine without a conscious decision. Everything is file-based: a contribution is written to a reviewable file, and
tools/probes/_kb_aggregate.pymerges installs into a community seed offline. Server sync is a separate opt-in. Guard:_smoke_shared_kb.py.
1.0.1010
2026-08-201.0.1010 - 2026-08-20 - "â Proxy-first lukittu pysyvĂ€sti + haku ei enÀÀ nyi isoilla sivuilla"
đ«đź Suomi
- â Proxy-first on nyt rakenteellinen sÀÀntö, ei asetus. Build KAATUU jos jakeluversiolta puuttuvat gateway-osoitteet â versiota jossa asiakkaan oma IP hakisi taloussivut ei voi enÀÀ syntetyĂ€ vahingossa. Tietoinen ohitus vaatii erillisen lipun ja tulostaa varoituksen isolla. Vahti valvoo lisĂ€ksi ettĂ€ gateway-reititys ja taloushostien lista pysyvĂ€t koodissa.
- â±ïž Haku ei enÀÀ "jÀÀdy" isojen sivujen kohdalla. Mitattu tĂ€mĂ€n aamun ajosta: sivuston laatuanalyysi (SPA-tunnistus) ajoi raskaita tekstihakuja jopa megatavun kokoisille sivuille kesken haun â 15 kertaa 1,5â2,8 sekunnin nykimistĂ€. Sama työ tehdÀÀn nyt jaetulla lineaarisella siivouksella ja laskenta lopetetaan heti kun vastaus on selvillĂ€: pahin mitattu sivu (782 kt) kĂ€sitellÀÀn nyt 16 millisekunnissa. Tunnistustarkkuus ei muuttunut â SPA-kuori tunnistetaan yhĂ€, sisĂ€ltösivu ei leimaudu vÀÀrin.
- Vahdit:
_smoke_gateway_product_split.py(uusi I8) ja_smoke_hotpath_regex_perf.py(uusi crawl-quality-osio).
đŹđ§ English
- â Proxy-first is now a structural rule, not a setting. The build ABORTS if a distribution is missing the gateway URLs â a version where the customer's own IP would fetch financial pages can no longer be produced by accident. A conscious override requires a separate flag and prints a loud warning.
- â±ïž The hunt no longer stutters on large pages. Measured from this morning's run: the site-quality analysis ran heavy text scans over pages up to a megabyte in the middle of the hunt â 15 stalls of 1.5â2.8 seconds. The same work now uses the shared linear stripper with early-exit counting: the worst measured page (782 KB) is handled in 16 ms. Detection accuracy is unchanged.
- Guards:
_smoke_gateway_product_split.py(new I8) and_smoke_hotpath_regex_perf.py(new crawl-quality section).
1.0.1009
2026-08-201.0.1009 - 2026-08-20 - "đ Proxytuotteet oikeisiin töihin: rotating hoitaa hankalat, static bulkin â asiakkaan oma IP ei pala"
đ«đź Suomi
- đĄïž Asiakkaan oma IP ei enÀÀ hae taloussivuja. Mitattu aukko: gateway-osoitteet olivat vain kehityskoneen tiedostossa eikĂ€ build vienyt niitĂ€ asennuksiin â asiakkaan kone haki asiakastieto/kauppalehti-sivut OMALLA IP:llÀÀn kunnes se meni estoon. Nyt osoitteet kulkevat buildin mukana (samalla kurilla kuin proxy-tunnukset: tyhjĂ€ ei koskaan yliaja koneen omaa asetusta, PROD-jakelu pitÀÀ ne palvelimella).
- đ Kaksi maksettua tuotetta, kaksi tehtĂ€vÀÀ â kuten ne on ostettu: *Rotating Residential* (80 M IP:tĂ€, 1 GB/kk) hoitaa hankalimmat talouslĂ€hteet, *Static Residential* (1000 GB/kk) muun datan. Jako on hostikohtainen mitatusta syystĂ€: kauppalehden sivu on ~740 kt â kaikki talousliikenne rotatingissa olisi polttanut 1 GB:n kiintiön viikossa ja liikevaihdot olisivat lakanneet. Nyt asiakastieto (~90 kt/sivu) kulkee rotatingin kautta, kauppalehti ja kevyet lĂ€hteet staticin â ja kun ensisijainen reitti epĂ€onnistuu, uudelleenyritys nousee aina rotatingiin ("pelastusrengas"). Jos vain toinen tuote on annettu, sitĂ€ kĂ€ytetÀÀn kaikkeen: oma IP on aina viimeinen vaihtoehto, ei ensimmĂ€inen.
- âïž Asetuksissa molemmat kentĂ€t: "Residential-proxy (rotating)" bulkille ja uusi "Rotating-proxy (taloustiedot)" hankalille â ja lokista nĂ€kee nyt MIKĂ pÀÀtepiste haun teki (salasana ei tulostu), joten vÀÀrin kytketty tuote nĂ€kyy ensimmĂ€isestĂ€ rivistĂ€.
- Vahti:
_smoke_gateway_product_split.py(I1âI7).
đŹđ§ English
- đĄïž The customer's own IP no longer fetches financial pages. Measured gap: the gateway URLs lived only in a dev-machine file and were never shipped â installed copies fetched asiakastieto/kauppalehti with the customer's own IP until it got blocked. The URLs now ship with the build (same discipline as the proxy credentials: an empty bake never overrides a machine's own setting, PROD distribution keeps them server-side).
- đ Two paid products, two jobs â as purchased: *Rotating Residential* (80M IPs, 1 GB/mo) handles the hardest financial sources, *Static Residential* (1000 GB/mo) everything else. The split is per host for a measured reason: a kauppalehti page is ~740 KB â routing all financial traffic through rotating would burn the 1 GB quota in a week. asiakastieto (~90 KB/page) goes through rotating, kauppalehti and light sources through static â and any retry escalates to rotating. With only one product configured it is used for everything: your own IP is always the last resort.
- âïž Both fields in Settings, and the log now names WHICH endpoint served each fetch (password never printed).
- Guard:
_smoke_gateway_product_split.py(I1âI7).
1.0.1008
2026-08-201.0.1008 - 2026-08-20 - "đ«đź Hakuasetukset suomeksi: 60 esiasetusta kÀÀnnetty, ei enÀÀ HUNT-sanaa"
đ«đź Suomi
- đ Hakuasetukset-dialogi puhuu kĂ€yttĂ€jĂ€n kieltĂ€. Kaikkien neljĂ€n tilan (BUYER, MARKET, SELLER, GOLDMINE) esiasetukset luettelivat nimet ja kuvaukset englanniksi vaikka kĂ€yttöliittymĂ€n kieli on suomi â "Outbound Agencies", "Manufacturing Companies", "Commercial Blind Spots". Nyt kaikki 60 esiasetusta ovat suomeksi nimiĂ€ ja kuvauksia myöten (Outbound-toimistot, Teollisuus ja valmistus, Kaupalliset katvealueet, VastaperustetutâŠ). Hakusana ei kÀÀnny â se on se mitĂ€ oikeasti haetaan, ja sen muuttaminen muuttaisi tuloksen. Pikahakusirut ovat samoin oikeita hakusanoja, joten ne nĂ€kyvĂ€t sellaisinaan.
- ⥠"HUNT" ei enÀÀ vilku suomen seassa. Kartan ohje neuvoi painamaan HUNT-nappia, mutta nappi lukee HAE. Kaikki suomenkieliset tekstit puhuvat nyt HAKU-sanastolla ("paina HAE koko maalle", "Rajaa haun tuloksetâŠ").
- đ§č Esiasetuksen roskasuodattimet menevĂ€t nyt oikeasti hakuun. Jokainen esiasetus tuo mukanaan miinussanat (gov, news, blog, wikipediaâŠ), mutta ne pyyhkiytyivĂ€t matkalla: HAE luki miinussanat vain hakukentĂ€stĂ€, ja esiasetus asettaa kenttÀÀn vain hakusanan â joten yksikÀÀn suodatin ei pÀÀtynyt hakupyyntöön. Nyt ne sĂ€ilyvĂ€t sille hakusanalle jolle ne kuuluvat; jos kirjoitat omat miinussanat, ne voittavat, ja hakusanan vaihtaminen ei perĂ€ vanhoja suodattimia.
- Vahti:
_smoke_presets_finnish_ui.pyâ valvoo ettĂ€ jokaisella esiasetuksella on kÀÀnnös, ettĂ€ hakusana sĂ€ilyy ennallaan ja ettei suomen taulussa lue HUNT.
đŹđ§ English
- đ The search presets dialog speaks the user's language. All four modes (BUYER, MARKET, SELLER, GOLDMINE) listed preset names and descriptions in English regardless of the selected UI language. All 60 presets are now translated, names and descriptions alike. The search keyword is never translated â it is what actually gets searched, and changing it would change the result. The quick-search chips are real keywords too, so they stay as they are.
- ⥠No stray "HUNT" in a Finnish UI. The map hint told the user to press HUNT while the button reads HAE. Finnish strings now use the same word as the button.
- đ§č Preset noise filters now actually reach the search. Every preset carries negative keywords (gov, news, blog, wikipediaâŠ), but they were wiped on the way: HUNT read negatives only from the search field, and a preset fills that field with the keyword alone â so no filter ever reached the request. They now survive for the keyword they belong to; your own typed negatives win, and changing the keyword does not inherit old filters.
- Guard:
_smoke_presets_finnish_ui.pyâ checks every preset has a translation, that the keyword is untouched, and that no Finnish string says HUNT.
1.0.1006
2026-08-191.0.1006 - 2026-08-20 - "âïž Proxy ja Hilma-avain asetuksiin: maksettu kaista kĂ€yttöön ilman ympĂ€ristömuuttujia"
đ«đź Suomi
- âïž Asetuksissa on nyt kohta "DatalĂ€hteet ja yhteydet". Rotating-residential-proxyn osoite ja Hilman API-avain voi vihdoin asettaa ohjelmasta â aiemmin ne piti antaa ympĂ€ristömuuttujana tai kirjoittaa asetustiedostoon kĂ€sin, joten asennetussa ohjelmassa maksettu proxy jĂ€i kĂ€yttĂ€mĂ€ttĂ€ ja liikevaihtohaku meni suoraan estĂ€vĂ€n suojauksen lĂ€pi. Molemmat kentĂ€t ovat salasanamaskattuja ja arvot pysyvĂ€t omalla koneella. YmpĂ€ristömuuttuja voittaa yhĂ€, jos sellainen on asetettu.
- Proxy on edelleen varareitti, ei oikotie: suora haku menee aina ensin, ja proxya kĂ€ytetÀÀn vasta kun suora palasi tyhjĂ€nĂ€ â kaista riittÀÀ tuhansiin firmoihin kuukaudessa.
- Vahti:
_smoke_settings_proxy_hilma_fields.py.
đŹđ§ English
- âïž Settings now has a "Data sources and connections" section. The rotating residential proxy URL and the Hilma API key can finally be set inside the app â previously they had to come from an environment variable or be hand-written into the settings file, so an installed copy left the paid proxy unused and revenue lookups ran straight into the blocking protection. Both fields are password-masked and stay on your own machine. An environment variable still wins when one is set.
- The proxy remains a fallback, not a shortcut: the direct request always goes first and the proxy is used only when direct came back empty â the bandwidth covers thousands of companies per month.
- Guard:
_smoke_settings_proxy_hilma_fields.py.
1.0.1005
2026-08-191.0.1005 - 2026-08-19 - "đ§Ÿ Taloustiedot tulevat perille: y-tunnus ensin, maksettu proxy kĂ€yttöön, sektorin paine signaaliksi"
đ«đź Suomi
- đ§Ÿ Y-tunnus ratkaistaan ENSIN â ja se sĂ€ilyy. SyvĂ€kaivuussa y-tunnus haettiin talouslĂ€hteen sisĂ€llĂ€ saman aikakaton alla kuin itse haku ja sivun renderöinti: kun lĂ€hde aikakatkoi, jo ratkaistu tunnus katosi sen mukana ja kortille jĂ€i "ei rekisterissĂ€". Mitattu esimerkki: firma on kaupparekisterissĂ€ aputoiminimenĂ€ (y-tunnus löytyy PRH:sta sekunnissa), mutta liidille jĂ€i tyhjĂ€ kenttĂ€ eikĂ€ liikevaihtoa haettu koskaan. Nyt tunnus ratkaistaan omana vaiheenaan ja tallennetaan heti, jolloin talouslĂ€hteet saavat suoran osoitteen. Mitattu jĂ€lkeen samalle firmalle: liikevaihto 124 000 ⏠(2025, +14,8 %), tulos, omavaraisuus, henkilöstö ja kaksi pÀÀttĂ€jÀÀ â 10 sekunnissa.
- đ Maksettu rotating-residential-proxy saadaan vihdoin kĂ€yttöön. Gateway luki vain ympĂ€ristömuuttujaa, joten asennetussa ohjelmassa ei ollut mitÀÀn paikkaa mihin proxyn osoitteen laittaa â ja liikevaihtohaku meni suoraan Cloudflaren seinÀÀn. Nyt osoite kelpaa myös asetustiedostosta (
residential_proxy_url/financials_proxy_url/ maakohtainenfinancials_proxy_url_fi), ympĂ€ristömuuttuja voittaa yhĂ€. Proxy on edelleen VARAREITTI: suora haku on ensisijainen, gateway laukeaa vasta kun suora palasi tyhjĂ€nĂ€ â kaista riittÀÀ. - đŻ Toimialan markkinapaine nĂ€kyy nyt liidin signaalina. Palvelin palauttaa maalle painesignaaleja (Suomi 47, Intia 5), mutta ne kulkivat vain narratiivina â liidin signaalilista jĂ€i tyhjĂ€ksi eikĂ€ pisteytys nĂ€hnyt niitĂ€. Nyt signaali merkitÀÀn liidille vain kun se on aidosti sen oman toimialan paine; kansallinen makrouutinen ei muutu firman signaaliksi.
- Vahti:
_smoke_signals_financials_reach_lead.py.
đŹđ§ English
- đ§Ÿ The business ID is resolved FIRST â and it survives. Deep enrich resolved it inside the financial source under the same deadline as the fetch and page rendering, so a timeout took the already-resolved ID with it and the card claimed "not in the register". Measured case: the company is registered under an auxiliary trade name (PRH returns the ID in under a second), yet the lead kept an empty field and revenue was never fetched. The ID is now resolved as its own step and stored immediately, giving the financial sources a direct URL. Measured after, same company: revenue âŹ124,000 (2025, +14.8%), profit, equity ratio, headcount and two decision makers â in 10 seconds.
- đ The paid rotating residential proxy is finally usable. The gateway read an environment variable only, so an installed copy had nowhere to put the proxy URL and revenue lookups went straight into Cloudflare. The address is now also read from the settings file (
residential_proxy_url/financials_proxy_url/ country-specificfinancials_proxy_url_fi); the environment variable still wins. It remains a fallback: direct first, gateway only when direct came back empty â bandwidth holds. - đŻ Sector market pressure now reaches the lead as a signal. The server returns pressure clusters per country (Finland 47, India 5) but they travelled as narrative only, leaving the lead's signal list empty and invisible to scoring. A cluster is now recorded on the lead only when it genuinely belongs to that company's sector; national macro news never becomes a company signal.
- Guard:
_smoke_signals_financials_reach_lead.py.
1.0.1004
2026-08-191.0.1004 - 2026-08-19 - "đ§Ÿ Kortti kertoo totuuden: ei tekaistua varoitusta, ei vierasta numeroa, strategia suomeksi"
đ«đź Suomi
- â ïž "Toinen nĂ€istĂ€ on varoitus" â kumpi? Yhteenvetolause varoitti kertomatta mistĂ€, ja laukaisijana oli usein "Sivustolla ei jĂ€lkeĂ€ CRM:stĂ€" eli juuri se syy jonka takia firmaan kannattaa soittaa. Nyt asiakkaan kipu (aukko, ei CRM:ÀÀ) ja riski myyjĂ€lle (tappio, laskeva liikevaihto, konkurssiuhka) ovat eri asioita: kipu ei enÀÀ nĂ€y varoitusvĂ€rillĂ€ eikĂ€ tuota varoituslausetta, ja kun varoitus on aito, se kerrotaan nimeltĂ€ ("varoitus on: Liikevaihto 120 k⏠· tulos -60 %").
- đ«„ "Signaali ja miksi nyt on todella vĂ€ljĂ€." Listassa luki 30 rivillĂ€ 35:stĂ€ sama "Sivustolla ei jĂ€lkeĂ€ CRM:stĂ€". Se on pk-yrityksen normaalitila, ei syy soittaa juuri nyt. Sivustohavainnot eivĂ€t enÀÀ kelpaa ostotarpeen todisteeksi eivĂ€tkĂ€ nouse MIKSI NYT -sarakkeeseen: kun oikeaa signaalia ei ole, sarakkeessa lukee "ei ostosignaalia" ja kortin pÀÀtös on EI RIITTĂVĂĂ NĂYTTĂĂ. Uutinen, rekry todistelinkillĂ€, rahoitus, investointi, hankintailmoitus tai tuore rekisteröinti nostaa liidin edelleen normaalisti. Myös "LĂHESTY NYT" vaatii nyt nĂ€ytön â pelkkĂ€ tavoitettavuus (pÀÀttĂ€jĂ€ + varmennettu sĂ€hköposti) ei enÀÀ riitĂ€ siihen sanaan.
- đ«đź SyvĂ€kaivuun strategialohko puhuu suomea. OUTREACH-STRATEGIA luki kokonaan englanniksi (Founder-direct outreach · direct consultative · CTA: 15min call · DM verified email). KentĂ€t ovat koneluettavia arvoja; nyt paneeli kÀÀntÀÀ ne kĂ€yttöliittymĂ€n kielelle â arkkityyppi, kulma, seuraava teko, sĂ€vy, kiireellisyys, kanava, CTA ja jokainen perustelu (66 uutta kÀÀnnöstĂ€).
- âïž Vieras numero ei jÀÀ kortille. Kun liidillĂ€ on numero jonka lĂ€hde on todistettu (firman oma sivu, rekisteri, oma syöte), lĂ€hteetön ylimÀÀrĂ€inen numero pudotetaan. Jos todistettua numeroa ei ole, entinen linja pĂ€tee: numero nĂ€kyy epĂ€varmana eikĂ€ katoa â yksikÀÀn liidi ei menetĂ€ ainoaa numeroaan.
- đ§Ÿ Aikakatkaisu ei enÀÀ valehtele rekisteristĂ€. Kun talouslĂ€hde ei ehtinyt vastata, kortille tuli "ei rekisterissĂ€" â vĂ€ite firmasta, ja pysyvĂ€. Mitattu aikakatkaisu nĂ€kyy nyt omana tilanaan (lĂ€hde ei vastannut), jolloin luvut voidaan hakea uudelleen.
- Vahdit:
_smoke_verdict_caution_named.py,_smoke_panel_truth_2026_08_19.py.
đŹđ§ English
- â ïž "One of these is a warning" â which one? The summary warned without saying what, and the trigger was usually "No CRM fingerprint on the website" â the very reason to call. Customer pain (gaps, no CRM) and risk to the seller (losses, declining revenue, insolvency) are now separate: pain is no longer painted as a warning, and a real warning is named in the sentence.
- đ«„ "Signal and why-now is far too vague." 30 of 35 rows showed the same "No CRM fingerprint". Site observations no longer count as proof of a buying need and no longer fill the WHY NOW column: with no real signal the column says "no buying signal" and the verdict reads NOT ENOUGH EVIDENCE. News, hiring with a source link, funding, investment, a tender or a fresh registration still lift a lead. "APPROACH NOW" also requires evidence now â reachability alone no longer earns that word.
- đ Deep-enrich strategy block speaks the UI language. The OUTREACH STRATEGY block was English-only; machine values are now translated at display time (archetype, pitch, next action, tone, urgency, channel, CTA and every reason).
- âïž No stray phone numbers. When a lead has a phone with a proven source, an extra unsourced number is dropped. With no proven number the previous policy stands: the number stays, marked unverified.
- đ§Ÿ A timeout no longer claims "not in the register". A measured source timeout is its own state, so the figures can be fetched again.
- Guards:
_smoke_verdict_caution_named.py,_smoke_panel_truth_2026_08_19.py.
1.0.1003
2026-08-191.0.1003 - 2026-08-19 - "đ Firman oma yhteystietosivu talteen · ei keksittyjĂ€ numeroita · uutissignaalit englanninkielisille markkinoille"
đ«đź Suomi
- đ PÀÀttĂ€jien omat sĂ€hköpostit ja numerot löytyvĂ€t nyt sieltĂ€ missĂ€ ne ovat. SyvĂ€kaivuu arvasi yhteystietopolkuja (/yhteystiedot, /contactâŠ) ja ohitti sen linkin joka sivulla oikeasti on â esim. âOta yhteyttĂ€â â /ota-yhteytta, jolla oli kolmen pÀÀttĂ€jĂ€n omat osoitteet ja puhelinnumerot. Nyt sivun OMAT yhteystieto- ja tiimilinkit tunnistetaan maan omasta polkusanastosta (FI /ota-yhteytta · IN /get-in-touch · EE /kontakt · ES /contacto), ja arvatuissa poluissa maan natiivit tulevat ennen englantia (aiemmin
[:6]-viipale pudotti ne kokonaan). Mitattu jeemedia.fi: ennen 3 pÀÀttĂ€jÀÀ ilman osoitetta â nyt nimi + titteli + oma osoite jokaiselle. - âïž Etusivun numerot eivĂ€t enÀÀ katoa â eikĂ€ keksittyjĂ€ tule. Etusivun haku kaatui hiljaa jos proxy missasi (â 0 puhelinta, ei kuvausta): nyt suora varareitti. Ja numeropoiminta kĂ€yttÀÀ samaa validoitua maakohtaista tunnistinta kuin haku â aiemmin sivun tilasto â4 343 865 ajoneuvoaâ pÀÀtyi puhelinnumeroksi ja syrjĂ€ytti firman aidon numeron.
- đ« Toisen firman osoite ei pÀÀdy kortille. Hakemiston (finder.fi) hakutulossivulta poimittu sĂ€hköposti, puhelin ja osoite sidotaan nyt firman omaan tuloskorttiin â naapuririvin âjulia@toinenfirma.comâ ei enÀÀ liimaudu liidiin, eikĂ€ se jÀÀ myöskÀÀn liidin ensisijaiseksi osoitteeksi (portti siivosi ennen vain listan, ei kortin pÀÀosoitetta).
- đ âVerkkosivua ei löytynytâ ei jÀÀ enÀÀ kortille kun sivu on jo löytynyt ja crawlattu (tunnistus toimi vain englanniksi, nyt kaikilla kĂ€yttöliittymĂ€kielillĂ€).
- đ° Uutissignaalit englanninkielisille markkinoille (Intia, USA, UK, AustraliaâŠ). Mitattu Intian ajosta: 155 liidiĂ€, joista 149:llĂ€ nolla signaalia â palvelimen uutiskorpus (158 lĂ€hdettĂ€) on pohjoismainen eikĂ€ sisĂ€llĂ€ intialaisia yrityksiĂ€, ja uutissanasto oli kĂ€ytĂ€nnössĂ€ suomea. Nyt: korpuskate mitataan ajossa (0 osumaa 15 firmasta â maa merkitÀÀn katteettomaksi) ja uutiset haetaan taustalla firman omalla nimellĂ€, ja englanninkielinen sanasto on mitattu 91 oikean otsikon korpusta vastaan: osumat 3/91 â 28/91, 0 vÀÀrÀÀ. Uudet luokat nimitys (âAppointed CEOâ, âappoints⊠as ChiefâŠâ) ja julkaisu (âlaunchesâ, âunveilsâ), ja negatiivinen otsikko (âshares fallâ, âdirector resignsâ, âjob cutsâ) ei voi muuttua ostosignaaliksi. Signaali kirjataan per uutinen, ei koko firmalle.
- Vahdit:
_smoke_own_contact_page_harvest.py(I1âI7),_smoke_news_signals_en_markets.py(I1âI7).
đŹđ§ English
- đ Decision makersâ own emails and phones are found where they actually are. Deep enrich used to guess contact paths and skip the link the site really has â e.g. âContact usâ â /ota-yhteytta, which listed three decision makers with their own addresses and phone numbers. The siteâs OWN contact/team links are now recognised from the countryâs path vocabulary (FI /ota-yhteytta · IN /get-in-touch · EE /kontakt · ES /contacto), and among guessed paths the native ones come before English (a
[:6]slice used to drop them entirely). Measured on jeemedia.fi: 3 decision makers with no address â name + title + own address for each. - âïž Homepage numbers no longer disappear â and invented ones no longer appear. The homepage fetch failed silently when the proxy missed (0 phones, no description); there is now a direct fallback. Phone extraction uses the same validated country-specific detector as the hunt â previously a page statistic (â4,343,865 vehiclesâ) became a phone number and pushed out a real one.
- đ« Another companyâs address never lands on the card. Email, phone and street address scraped from a directory search page are now bound to the companyâs own result card, and a foreign address can no longer remain the leadâs primary email.
- đ âNo website foundâ no longer sticks on a lead whose site was just crawled (the claim was only recognised in English; now in every UI language).
- đ° News signals for English-speaking markets (India, US, UK, AustraliaâŠ). Measured on the India run: 155 leads, 149 with zero signals â the server news corpus (158 sources) is Nordic and contains no Indian companies, and the news vocabulary was effectively Finnish. Now corpus coverage is measured during the run (0 hits from 15 companies â country marked uncovered) and news is fetched in the background by the companyâs own name; the English vocabulary was measured against a corpus of 91 real headlines: 3/91 â 28/91 matches, 0 false positives. New classes leadership (âAppointed CEOâ) and launch (âlaunchesâ, âunveilsâ); a negative headline (âshares fallâ, âdirector resignsâ, âjob cutsâ) can never become a buying signal. Signals are recorded per article, not for the whole company.
- Guards:
_smoke_own_contact_page_harvest.py(I1âI7),_smoke_news_signals_en_markets.py(I1âI7).
1.0.1002
2026-08-191.0.1002 - 2026-08-19 - "đïž Julkiset rakennushankkeet liideiksi · toimialatodiste nĂ€kyviin · tehdashaku mitattu e2e"
đ«đź Suomi
- đïž Julkiset hankkeet â liideiksi (Hilma kunnolla): TARVE TODETTU -nappi nĂ€yttÀÀ nyt myös kansalliset hankintailmoitukset (Hilma/Hansel) â rakennusurakat alaluokittain (koulu, pĂ€ivĂ€koti, uudisrakennus, peruskorjaus, toimitila, infraâŠ), huntin maakuntaan rajattuna, rivillĂ€ đ alue, đ¶ arvo ja kuvaus. Uusi â Liideiksi / Tuo kaikki liideiksi: hankintayksikkö (kunta, hyvinvointialue, kiinteistöyhtiöâŠ) ratkaistaan rekisteristĂ€ Y-tunnuksella, rikastetaan kuten nimihaku (kotisivu, kontaktit) ja nousee listalle HOT-liidinĂ€ jonka OSTOTARVE = itse ilmoitus (otsikko · mÀÀrĂ€aika · arvo · virallinen linkki). Sama ostaja useassa ilmoituksessa = yksi liidi. Mitattu 19.8.: Pohjois-Pohjanmaa 30 pv â 15 rakennushanketta (Oulun Hintan laajennus 50 M⏠pÀÀurakoitsija, Iilaakso Micropolis 3 + tuotantolaitos KVR 5 MâŹ, Oulaisten monitoimitalo KVRâŠ). Hilma-avain: Asetukset/config
hilma_api_keytai env. Vahdit_smoke_need_verified.py(75),_smoke_tender_leads.py(20). - đ·ïž Toimialatodiste nĂ€kyviin: paneelin "miksi kelpuutettu" -lohko nĂ€yttÀÀ rivin *Toimialatodiste: rekisteri TOL 25620 / sivu luokiteltu manufacturing / sana 'konepaja'* â sama syy jonka portti pÀÀtti. Rekisterin toimialakoodi kulkee nyt listalle ja pankkiin asti (industry_code).
- đ Tehdashaku mitattu pÀÀstĂ€ pÀÀhĂ€n (oikea haku, 6 min): blippiportti pudotti 480 toimialan ulkopuolista hakutulosta ennen rikastusta, 12 pudotettiin emitissĂ€, listalle 32 joista 30 toimialatodisteella (konepajat, metallituotteet, tehtaat); rekisterikoodin poikkeama pudottaa nyt ennen tekstisÀÀntöÀ, toimialan sana nimessĂ€ ei ole todiste tapahtuma-/kulttuuri-/matkailupaikalle (KonepajannĂ€yttĂ€mö, Lucky Factory), ja konepaja-/tehdassanasto laajeni (levytyö, koneistus, betoni, terĂ€s, CNC, paahtimoâŠ) jotta aidot tehtaat (Betset, KJ Steel, Lujabetoni) eivĂ€t putoa. Vahti
_smoke_tehdas_uusimaa_live_e2e.py(--live). - â±ïž PÀÀ-loopin jumit pois: DNS-resolverin Windows-rekisteriluku joka firmalle (3,9 s) ja palautetiedoston luku joka pisteytyksessĂ€ (1,5 s) â molemmat vĂ€limuistiin. Haku ei enÀÀ tunnu jÀÀtyvĂ€n niissĂ€ kohdissa.
đŹđ§ English
- đïž Public projects â leads (Hilma done properly): the NEED VERIFIED button now also lists Finnish national procurement notices (Hilma/Hansel) â construction contracts by subclass (school, daycare, new build, renovation, premises, infraâŠ), limited to the hunt's region, each row with đ region, đ¶ value and description. New â As lead / Import all as leads: the contracting authority (municipality, wellbeing county, property companyâŠ) is resolved from the registry by business ID, enriched like a name lookup (website, contacts) and listed as a HOT lead whose BUYING NEED = the notice itself (title · deadline · value · official link). One buyer with several notices = one lead. Measured 19 Aug: Northern Ostrobothnia, 30 days â 15 construction projects. Hilma key: Settings/config
hilma_api_keyor env. Guards_smoke_need_verified.py(75),_smoke_tender_leads.py(20). - đ·ïž Industry evidence shown: the panel's "why qualified" block shows *Industry evidence: registry TOL 25620 / site classified manufacturing / word 'konepaja'* â the same reason the gate decided. The registry industry code now travels to the list and the bank.
- đ Factory search measured end to end (real hunt, 6 min): the blip gate dropped 480 off-industry hits before enrichment, 12 at emit, 32 listed of which 30 with industry evidence; registry-code mismatch now drops before the text rule, an industry word in the name is not evidence for event/culture/travel venues, and the factory vocabulary widened (sheet metal, machining, concrete, steel, CNC, roasteryâŠ) so real factories are not lost. Guard
_smoke_tehdas_uusimaa_live_e2e.py(--live). - â±ïž Main-loop stalls removed: DNS resolver reading the Windows registry per company (3.9 s) and the feedback file read per scoring (1.5 s) are cached.
1.0.1001
2026-08-191.0.1001 - 2026-08-19 - "đïž Julkiset rakennushankkeet liideiksi · toimialatodiste nĂ€kyviin · tehdashaku mitattu e2e"
đ«đź Suomi
- đïž Julkiset hankkeet â liideiksi (Hilma kunnolla): TARVE TODETTU -nappi nĂ€yttÀÀ nyt myös kansalliset hankintailmoitukset (Hilma/Hansel) â rakennusurakat alaluokittain (koulu, pĂ€ivĂ€koti, uudisrakennus, peruskorjaus, toimitila, infraâŠ), huntin maakuntaan rajattuna, rivillĂ€ đ alue, đ¶ arvo ja kuvaus. Uusi â Liideiksi / Tuo kaikki liideiksi: hankintayksikkö (kunta, hyvinvointialue, kiinteistöyhtiöâŠ) ratkaistaan rekisteristĂ€ Y-tunnuksella, rikastetaan kuten nimihaku (kotisivu, kontaktit) ja nousee listalle HOT-liidinĂ€ jonka OSTOTARVE = itse ilmoitus (otsikko · mÀÀrĂ€aika · arvo · virallinen linkki). Sama ostaja useassa ilmoituksessa = yksi liidi. Mitattu 19.8.: Pohjois-Pohjanmaa 30 pv â 15 rakennushanketta (Oulun Hintan laajennus 50 M⏠pÀÀurakoitsija, Iilaakso Micropolis 3 + tuotantolaitos KVR 5 MâŹ, Oulaisten monitoimitalo KVRâŠ). Hilma-avain: Asetukset/config
hilma_api_keytai env. Vahdit_smoke_need_verified.py(75),_smoke_tender_leads.py(20). - đ·ïž Toimialatodiste nĂ€kyviin: paneelin "miksi kelpuutettu" -lohko nĂ€yttÀÀ rivin *Toimialatodiste: rekisteri TOL 25620 / sivu luokiteltu manufacturing / sana 'konepaja'* â sama syy jonka portti pÀÀtti. Rekisterin toimialakoodi kulkee nyt listalle ja pankkiin asti (industry_code).
- đ Tehdashaku mitattu pÀÀstĂ€ pÀÀhĂ€n (oikea haku, 6 min): blippiportti pudotti 480 toimialan ulkopuolista hakutulosta ennen rikastusta, 12 pudotettiin emitissĂ€, listalle 32 joista 30 toimialatodisteella (konepajat, metallituotteet, tehtaat); rekisterikoodin poikkeama pudottaa nyt ennen tekstisÀÀntöÀ, toimialan sana nimessĂ€ ei ole todiste tapahtuma-/kulttuuri-/matkailupaikalle (KonepajannĂ€yttĂ€mö, Lucky Factory), ja konepaja-/tehdassanasto laajeni (levytyö, koneistus, betoni, terĂ€s, CNC, paahtimoâŠ) jotta aidot tehtaat (Betset, KJ Steel, Lujabetoni) eivĂ€t putoa. Vahti
_smoke_tehdas_uusimaa_live_e2e.py(--live). - â±ïž PÀÀ-loopin jumit pois: DNS-resolverin Windows-rekisteriluku joka firmalle (3,9 s) ja palautetiedoston luku joka pisteytyksessĂ€ (1,5 s) â molemmat vĂ€limuistiin. Haku ei enÀÀ tunnu jÀÀtyvĂ€n niissĂ€ kohdissa.
đŹđ§ English
- đïž Public projects â leads (Hilma done properly): the NEED VERIFIED button now also lists Finnish national procurement notices (Hilma/Hansel) â construction contracts by subclass (school, daycare, new build, renovation, premises, infraâŠ), limited to the hunt's region, each row with đ region, đ¶ value and description. New â As lead / Import all as leads: the contracting authority (municipality, wellbeing county, property companyâŠ) is resolved from the registry by business ID, enriched like a name lookup (website, contacts) and listed as a HOT lead whose BUYING NEED = the notice itself (title · deadline · value · official link). One buyer with several notices = one lead. Measured 19 Aug: Northern Ostrobothnia, 30 days â 15 construction projects. Hilma key: Settings/config
hilma_api_keyor env. Guards_smoke_need_verified.py(75),_smoke_tender_leads.py(20). - đ·ïž Industry evidence shown: the panel's "why qualified" block shows *Industry evidence: registry TOL 25620 / site classified manufacturing / word 'konepaja'* â the same reason the gate decided. The registry industry code now travels to the list and the bank.
- đ Factory search measured end to end (real hunt, 6 min): the blip gate dropped 480 off-industry hits before enrichment, 12 at emit, 32 listed of which 30 with industry evidence; registry-code mismatch now drops before the text rule, an industry word in the name is not evidence for event/culture/travel venues, and the factory vocabulary widened (sheet metal, machining, concrete, steel, CNC, roasteryâŠ) so real factories are not lost. Guard
_smoke_tehdas_uusimaa_live_e2e.py(--live). - â±ïž Main-loop stalls removed: DNS resolver reading the Windows registry per company (3.9 s) and the feedback file read per scoring (1.5 s) are cached.
1.0.1000
2026-08-191.0.1000 - 2026-08-19 - "đ Tehdashaku kuntoon: roska pois ennen rikastusta · ostotarve ensin · hakurajaukset · testit ennen buildia"
đ«đź Suomi
- TĂ€mĂ€ paketti on juhlanumero 1000 â ja se syntyi huonosta demosta. 19.8. Porvoon Maske Oy:n demossa "tehdas"-haku tĂ€ytti listan mainostoimistoilla, ravintoloilla ja tilitoimistolla, rikastus kului roskaan, paneeli ei kertonut miksi kontaktoida ja toimintonapit olivat kahden ruudullisen rullauksen pÀÀssĂ€. Kaikki alla oleva on mitattu sen ajon lokista ja korjattu samana pĂ€ivĂ€nĂ€. TĂ€stĂ€ eteenpĂ€in jokainen build menee koko vahtisarjan (1 022 vahtia) ja master-tarkastuksen lĂ€pi ennen pakkaamista â ei poikkeuksia.
- đșïž Aluehaku kunnioittaa maakuntaa myös rekisteriadapterissa (19.8., mitattu Kymenlaakso/"tehdas"-ajosta): PRH-rivien kaupunki luettiin vÀÀrĂ€stĂ€ kentĂ€stĂ€ (aina tyhjĂ€) eikĂ€ maakuntaa voitu rajata, ja maakuntapyyntö tĂ€yttyi koko Suomen nimihaulla â Uusimaan firmoja Kymenlaakso-hakuun. Nyt kaupunki luetaan oikein, maakunta kysytÀÀn kunnittain (Kouvola, Kotka, HaminaâŠ) eikĂ€ koko-Suomen tĂ€yttöÀ tehdĂ€ kun alue on valittu. LisĂ€ksi hakusana joka ei nimeĂ€ tunnettua toimialaa ("tehdas") menee rekisteriin sellaisenaan â ei enÀÀ geneeristĂ€ mainostoimisto/markkinointi/konsultointi-listaa (+323 vÀÀrĂ€n alan riviĂ€ samassa ajossa). Vahti
_smoke_adapter_terms_stay_in_keyword.py(11). - đ Uusi signaali: investointi / laajennus / seisokki (19.8., pĂ€ivitetty 999-pakettiin): teollisuuden kunnossapito-, rakennus- ja kiinteistöhuoltoyrityksen ostaja on laitos joka juuri nyt investoi, laajentaa, rakentaa tai valmistautuu seisokkiin â ja kertoo sen omalla sivullaan. Atlas lukee nyt firman OMAN uutis-/tiedotesivun (/ajankohtaista, /uutiset, /news, /tiedotteet, /investoinnit) samassa passissa kuin pÀÀttĂ€jĂ€t ja kontaktit, ja kun sivulla lukee esimerkiksi "Investoimme 12 miljoonaa euroa uuteen tuotantolinjaan Porvoon tehtaalla" tai "Jalostamon huoltoseisokki kevÀÀllĂ€ 2027", liidi saa đ-rivin ja paneeli nĂ€yttÀÀ sivun oman lauseen todisteena (lĂ€hde = firman domain). Signaali lasketaan ostosignaaliksi (voi nostaa HOT-tasolle). Sanasto fi/en/sv/no/da/de. Ei laukea urakoitsijalle joka MYY seisokkitöitĂ€ ("toteutamme seisokkeja asiakkaillemme", palvelulista "Seisokkityöt"), markkinointipuheelle ("investoimme osaamiseen"), verkkosivu-uudistukselle, rahoituskierrokselle eikĂ€ asianajotoimiston uutiselle asiakkaan hankkeesta â mitattu 19.8. 29 teollisuuden uutissivulla + 43 kontrollisivulla (kontrolli 2/43, molemmat rakennusyhtiöiden omia hankeuutisia). Signaalisivubudjetti 2 â 3 sivua/firma, jotta uutissivu ei syö sponsorointi-/kumppanisivua. Vahti
_smoke_industrial_project_signal.py(36). - đ§ Teollisuuden ostajasanasto rekisterihakuun (19.8.): hakusanat kemianteollisuus, lÀÀketeollisuus, jalostamo, paperitehdas/-teollisuus, sellutehdas, puunjalostus, voimalaitos, kaivos, terĂ€stehdas, valimo, betonielementti/-teollisuus, valmisbetoni, sementti, lasitehdas, satama, telakka kÀÀntyvĂ€t nyt viralliseksi toimialakoodiksi (TOL/NACE 20, 21, 192, 17, 1711, 16, 351, 07, 241, 245, 2361/236, 2363, 2351, 231, 5222, 3011) â yritysrekisteri osallistuu hakuun eikĂ€ jÀÀ pelkĂ€n hakukoneen varaan; sama koodi toimii kaikissa NACE-maissa (englanti/ruotsi mukana: chemical industry, paper mill, refinery, power plant, shipyard, betongelementâŠ). Samalla kolme vÀÀrÀÀ substring-osumaa pois: 'kunnossapitopalvelut' meni catering-koodiin (562, sanan sisĂ€llĂ€ 'pitopalvelu'), 'kiinteistöhuolto' kiinteistönvĂ€litykseen (68 â nyt 8110 kiinteistönhoito), 'maarakennus' talonrakentamiseen (41 â nyt 431), 'pharmaceutical' apteekkiin (4773 â 21). Uudet: kunnossapito/teollisuuden kunnossapito â 33 (koneiden korjaus, huolto ja asennus), konehuolto 3312, kiinteistöpalvelut 811, vaihtolava 3811, kuljetukset 49. Sanat jotka eivĂ€t ole toimiala (seisokki, tulityö, HSE) pysyvĂ€t rehellisesti hakukonehakuna â seisokki tulee đ-signaalina ostajan omalta sivulta. Mitattu: 806 vanhaa avainta ennallaan, uudet koodit tarkistettu elĂ€vĂ€stĂ€ rekisteristĂ€ (Porvoo: 2361 â Betonipeikot, 3312 â ATT Konehuolto, 351 â DrĂ€gsby Vattenkraft). Vahti
_smoke_industrial_buyer_vocab.py(72). - đ§Ÿ Liidipaneelin nappirivi rivittyy (19.8.): paneelin alalaidan toimintorivi (Kopioi sĂ€hköpostit · LĂ€hetĂ€ sĂ€hköposti · LĂ€hetĂ€ WhatsApp · MyyntitiivistelmĂ€ · Asiakas vastasi · Sulje · ⥠SyvĂ€kaivuu) ei enÀÀ leikkaudu paneelin oikean reunan yli kapeammalla ikkunalla â napit rivittyvĂ€t seuraavalle riville ja SyvĂ€kaivuu on aina nĂ€kyvissĂ€ ja klikattavissa. Vahti
_smoke_flow_layout_wraps.py. - đ§č Tehdashaku ei nosta tilitoimistoa eikĂ€ julkista sektoria (19.8.): hakusanalla *tehdas* listalle tuli tilitoimisto (luokitin tunsi vain sanan "tilitoimisto", ei "taloushallinto/kirjanpito/palkanlaskenta/tilipalvelu" â epĂ€varma luokitus ei pudottanut) sekĂ€ hyvinvointialue, elĂ€keliitto, ammattiliitto, ammattikorkeakoulu ja kaupunki. Luokitin osaa nyt suomen ja ruotsin taloushallintosanaston ja tehtaan oman sanaston (konepaja, tuotantolaitos, valmistamme), ja julkinen/jĂ€rjestö/oppilaitos tunnistetaan domainista (hyvinvointialue, *liitto.fi, *amk.fi, yliopisto, seurakunta) ja nimestĂ€ (" ry", ammattiopisto, sÀÀtiö). Vahti
_smoke_tehdas_hunt_junk_gate.py(22). - đ Toimialasanan haku pysyy toimialassa (19.8.): kun hakusana nimeÀÀ toimialan (tehdas, konepaja, kemianteollisuus, rakennusliike, isĂ€nnöitsijĂ€, tilitoimisto, ravintolaâŠ), hakukonekyselyt ovat nyt muotoa "tehdas Helsinki", "tehdas yritys Espoo", "Oy tehdas Vantaa" + rekisterisanaston synonyymit (tehdas â konepaja, metallituote). Aiemmin sama haku rakensi 62 ostajakyselyĂ€ tyyliin "tehdas toimisto Helsinki", "tehdas agency", "tehdas palvelu", "markkinointitoimisto helsinki", "mainostoimisto suomi", "digimarkkinointi yritys", "myyntipÀÀllikkö Helsinki", "site:clutch.co tehdas" ja "paras tehdas palvelu oyj ota yhteyttĂ€" â ja listalle tuli mainostoimistoja, ravintoloita, museo ja tilitoimistoja. Tuote- ja toimistosanat (crm, saas, outbound agency, markkinointitoimisto, software company) sĂ€ilyttĂ€vĂ€t vanhan ostajalogiikan. Vahti
_smoke_buyer_queries_industry_noun.py(27). - đïž Hakurajaukset: liikevaihto ja yrityksen ikĂ€ (19.8.): Asetukset â Hakurajaukset â liikevaihto vĂ€hintÀÀn/enintÀÀn (MâŹ) ja yrityksen ikĂ€ vĂ€hintÀÀn/enintÀÀn (vuotta). Rajaus tarkistetaan virallisista luvuista: ikĂ€ jo rekisterivaiheessa (firmat jotka eivĂ€t kelpaa eivĂ€t edes mene rikastukseen â haku nopeutuu), liikevaihto tilinpÀÀtöksestĂ€ ennen listalle nostoa. Tuntematon luku ei ole nolla eikĂ€ ÀÀretön: liidi pidetÀÀn ja merkitÀÀn ("liikevaihto ei tiedossa"), ellei ruksaa "Pudota liidit joiden liikevaihto tai ikĂ€ ei ole tiedossa". Ei koske Goldminea eikĂ€ nimellĂ€ haettua firmaa. Vahti
_smoke_hunt_filters_revenue_age.py(25). - đ Toimialatodiste ennen listaa (19.8.): kun hakusana nimeÀÀ toimialan (tehdas, konepaja, rakennusliike, isĂ€nnöitsijĂ€, tilitoimistoâŠ), liidi nousee listalle vain jos siitĂ€ on todiste: rekisterin toimialakoodi kuuluu hakusanan toimialaan, sivun luokitus on sama toimiala, tai hakusana/rekisterisynonyymi/toimialan sana löytyy liidin tekstistĂ€. Mediatoimisto, ravintola, museo tai tilitoimisto ei pÀÀse tehdashakuun, tuli se mistĂ€ kanavasta tahansa. Pudotus kirjataan lokiin syineen. Ei koske Goldminea eikĂ€ nimihakua. Vahti
_smoke_industry_evidence_gate.py(24). Samalla: hakurajauksen huomautus ("liikevaihto ei tiedossa") nĂ€kyy paneelissa, ja hakurajoittimen semaforit ovat nyt per ajo (lokissa 26Ă "bound to a different event loop" â rajoitin ei pitĂ€nyt toisessa ajossa). - đŻ Liidipaneeli: OSTOTARVE ensin, tai rehellisesti "ei nĂ€yttöÀ" (19.8.): ATLAS SANOO -lohko jakautuu nyt kahteen: OSTOTARVE â MIKSI NYT (sivun oma investointi-/seisokkiuutinen đ, uutinen, rekrytointi, rahoitus, sponsorointi, henkilöstöelĂ€mykset â todiste + lĂ€hde) ja SOPIVUUS â KEITĂ HE OVAT (liikevaihto, toimiala, ikĂ€, pÀÀttĂ€jĂ€). Sivusignaalit (đ ym.) olivat aiemmin vain "Kaikki signaalit" -listassa kaukana alhaalla; nyt ne ovat perustelujen kĂ€rjessĂ€ ja listan "miksi nyt" -sarakkeessa. Kun ostotarvetta ei löydy, paneeli sanoo sen ÀÀneen oranssilla â "Ei nĂ€yttöÀ ostotarpeesta juuri nyt: Atlas tarkisti 17 signaalityyppiĂ€âŠ" â ja pÀÀtös on EI RIITTĂVĂĂ NĂYTTĂĂ â KYLMĂ KONTAKTI, ei enÀÀ "kannattaa lĂ€hestyĂ€". Ristiriitainen "ei erityisiĂ€ kipusignaaleja" -rivi poistuu kun ostotarvefakta on. Toimintonapit (LĂ€hetĂ€ sĂ€hköposti · WhatsApp · MyyntitiivistelmĂ€ · Asiakas vastasi · Sulje · ⥠SyvĂ€kaivuu) ovat nyt kiinteĂ€ssĂ€ palkissa paneelin alareunassa â ei rullausta 2 000 px:n pÀÀhĂ€n. Vahti
_smoke_verdict_need_first.py(21). - đ Roska ei enÀÀ blipiksi eikĂ€ rikastukseen (19.8. 14:34 -ajosta): toimialatodiste tarkistetaan jo hakutuloksesta (otsikko, snippet, nimi, rekisterikoodi) ennen kuin firmasta tehdÀÀn blippi â Asunto Oy, isĂ€nnöintitoimisto, leikkipuisto tai arkkitehtitoimisto ei pÀÀse tehdashaussa kartalle, listalle eikĂ€ vie rikastusaikaa. Pudotus nĂ€kyy lokissa OFF_INDUSTRY-syyllĂ€.
- đïž Hakurajaus HUNT-palkissa (demon asiakaspyyntö): Rajaus-nappi yrityskoko-napin vieressĂ€ â liikevaihto vĂ€hintÀÀn/enintÀÀn (MâŹ), yrityksen ikĂ€ vĂ€hintÀÀn/enintÀÀn (v), "pudota tuntemattomat". Rajaus kulkee haun mukana (ei riipu asetustiedostosta), nĂ€kyy napissa (đïž 1MâŹâ50M⏠· â„5v) ja HUD:ssa ajon alussa, ja sĂ€ilyy seuraaviin hakuihin. Sama rajaus löytyy myös Asetuksista.
đŹđ§ English
- This package is milestone 1000 â and it was born from a bad demo. On 19 Aug, in the Porvoon Maske Oy demo, a "tehdas" (factory) search filled the list with ad agencies, restaurants and an accounting firm, enrichment time went to junk, the panel did not say why to contact and the action buttons were two screens of scrolling away. Everything below was measured from that run's log and fixed the same day. From now on every build passes the full guard suite (1,022 guards) and the master check before packaging â no exceptions.
- đșïž Region hunts respect the region in the registry adapter too (19 Aug, measured on a Kymenlaakso/"tehdas" run): PRH rows had their city read from the wrong field (always empty) so region filtering could not act, and a region request was topped up with a whole-country name search â Uusimaa companies in a Kymenlaakso hunt. City is now read correctly, a region is queried per municipality (Kouvola, Kotka, HaminaâŠ) and no whole-country top-up happens when a region is selected. A keyword that names no known industry ("tehdas") now goes to the registry as-is â no generic agency/marketing/consulting term list (+323 off-industry rows in the same run). Guard
_smoke_adapter_terms_stay_in_keyword.py(11). - đ New signal: investment / expansion / shutdown (19 Aug, added to the 999 package): the buyer of an industrial maintenance, construction or facility-services company is a plant that is investing, expanding, building or preparing a shutdown right now â and says so on its own site. Atlas now reads the company's OWN news/press page (/news, /ajankohtaista, /press, /investments) in the same pass as decision-makers and contacts; when the page says e.g. "We are investing EUR 40 million in a new plant in Kotka" or "annual maintenance shutdown in September", the lead gets a đ row and the panel shows the page's own sentence as evidence (source = the company domain). Counts as a buying signal (can lift the lead to HOT). Vocabulary fi/en/sv/no/da/de. Does not fire for a contractor that SELLS shutdown work, marketing puffery, website relaunches, funding rounds or a law firm's news about a client's project â measured on 29 industrial news pages + 43 control pages (control 2/43, both construction companies' own project news). Signal-page budget 2 â 3 per company so the news page never displaces the sponsorship/partners page. Guard
_smoke_industrial_project_signal.py(36). - đ§ Industrial buyer vocabulary for the registry search (19 Aug): keywords such as chemical industry, pharmaceutical, refinery, paper mill, pulp mill, wood industry, power plant, mining company, steel mill, foundry, precast concrete / concrete products, ready-mix, cement, glass plant, harbour, shipyard (and their Finnish/Swedish forms) now translate to the official industry code (NACE 20, 21, 192, 17, 1711, 16, 351, 07, 241, 245, 2361/236, 2363, 2351, 231, 5222, 3011) so the company registry takes part in the search instead of leaving it to search engines alone; the same code works in every NACE country. Three wrong substring hits removed: 'kunnossapitopalvelut' (maintenance services) resolved to catering (562), 'kiinteistöhuolto' (facility maintenance) to real-estate brokerage (68 â now 8110), 'maarakennus' (earthworks) to building construction (41 â now 431), 'pharmaceutical' to pharmacy retail (4773 â 21). New: industrial maintenance â 33, machine service 3312, facility services 811, skip-container service 3811. Words that are not an industry (shutdown, hot work, HSE) honestly stay search-engine only â shutdowns arrive as the đ signal from the buyer's own page. Measured: all 806 existing keys unchanged, new codes verified against the live registry. Guard
_smoke_industrial_buyer_vocab.py(72). - đ§Ÿ Lead panel button row wraps (19 Aug): the action row at the bottom of the panel (Copy emails · Send email · Send WhatsApp · Sales brief · Customer replied · Close · ⥠Deep dive) no longer gets clipped past the panel's right edge in a narrower window â buttons wrap to the next line and Deep dive is always visible and clickable. Guard
_smoke_flow_layout_wraps.py. - đ§č Factory search no longer lists accounting firms or the public sector (19 Aug): a search for *tehdas* (factory) surfaced an accounting office (the classifier knew only "tilitoimisto", not "taloushallinto/kirjanpito/palkanlaskenta/tilipalvelu" â low-confidence classification was not dropped) plus a wellbeing-services county, pension/trade unions, a university of applied sciences and a town. The classifier now knows Finnish/Swedish accounting vocabulary and factory self-description (konepaja, tuotantolaitos, valmistamme), and public/association/school entities are recognised from the domain (hyvinvointialue, *liitto.fi, *amk.fi, yliopisto, seurakunta) and the name (" ry", ammattiopisto, sÀÀtiö). Guard
_smoke_tehdas_hunt_junk_gate.py(22). - đ Industry-word searches stay in the industry (19 Aug): when the keyword names an industry (factory, machine shop, chemical industry, construction company, property manager, accounting firm, restaurantâŠ), the search-engine queries are now "tehdas Helsinki", "tehdas yritys Espoo", "Oy tehdas Vantaa" plus registry-vocabulary synonyms (tehdas â konepaja, metallituote). Previously the same search built 62 buyer queries such as "tehdas toimisto Helsinki", "tehdas agency", "marketing agency helsinki", "advertising agency finland", "sales manager Helsinki", "site:clutch.co tehdas" and swarm variants â and the list filled with ad agencies, restaurants, a museum and accounting firms. Product and agency keywords (crm, saas, outbound agency, marketing agency, software company) keep the old buyer logic. Guard
_smoke_buyer_queries_industry_noun.py(27). - đïž Search limits: revenue and company age (19 Aug): Settings â Search limits â revenue at least/at most (MâŹ) and company age at least/at most (years). Checked against official figures: age already at the registry stage (firms that don't qualify never enter enrichment â faster hunts), revenue from financial statements before the lead is listed. Unknown is neither zero nor infinite: the lead is kept and marked ("revenue unknown") unless "Drop leads whose revenue or age is unknown" is ticked. Does not apply to Goldmine or name lookups. Guard
_smoke_hunt_filters_revenue_age.py(25). - đ Industry evidence before listing (19 Aug): when the keyword names an industry (factory, machine shop, construction company, property manager, accounting firmâŠ), a lead is listed only with evidence: the registry industry code belongs to that industry, the site classifies as that industry, or the keyword/registry synonym/industry vocabulary appears in the lead's text. A media agency, restaurant, museum or accounting firm cannot enter a factory search from any channel. Drops are logged with the reason. Not applied to Goldmine or name lookups. Guard
_smoke_industry_evidence_gate.py(24). Also: the search-limit note ("revenue unknown") is shown in the panel, and the search limiter's semaphores are now per run (log showed 26Ă "bound to a different event loop" â limiter did not hold in a second run). - đŻ Lead panel: BUYING NEED first, or honestly "no evidence" (19 Aug): the WHAT ATLAS SAYS block now splits into BUYING NEED â WHY NOW (the site's own investment/shutdown news đ, news, hiring, funding, sponsorship, staff experiences â evidence + source) and FIT â WHO THEY ARE (revenue, industry, age, decision maker). Site signals (đ etc.) used to sit only in the "All signals" list far below; now they lead the reasons and the list's "why now" column. When no buying need is found the panel says so in orange â "No evidence of a buying need right now: Atlas checked 17 signal typesâŠ" â and the decision reads NOT ENOUGH EVIDENCE â COLD CONTACT, no longer "worth approaching". The contradictory "no specific pain signals" line disappears when a buying-need fact exists. Action buttons (Send email · WhatsApp · Sales brief · They replied · Close · ⥠Deep dive) now live in a fixed bar at the bottom of the panel â no scrolling 2,000 px down. Guard
_smoke_verdict_need_first.py(21). - đ Junk no longer becomes a blip or gets enriched (from the 14:34 run on 19 Aug): the industry evidence is checked already on the search hit (title, snippet, name, registry code) before a company becomes a blip â a housing company, property manager, play centre or architect office cannot reach the map, the list or the enrichment queue in a factory search. Drops are logged with the OFF_INDUSTRY reason.
- đïž Search limits in the HUNT bar (customer request from the demo): a Limits button next to the company-size button â revenue at least/at most (MâŹ), company age at least/at most (years), "drop unknown". The limit travels with the hunt (independent of the settings file), shows in the button (đïž 1MâŹâ50M⏠· â„5y) and in the HUD at run start, and persists for the next hunts. The same limit is also in Settings.
1.0.999
2026-08-181.0.999 - 2026-08-18 - "đ Tutka pois â tilalle maapallo: maa â maakunta â liidit nastoina"
đ«đź Suomi
- Tutka on korvattu maapallolla. KeskinĂ€kymĂ€ssĂ€ pyörii nyt koko maapallo, jolla kaikki 90 tuettua maata nĂ€kyvĂ€t (muut himmeinĂ€). Klikkaa maata â pallo lentÀÀ sen pÀÀlle niin lĂ€heltĂ€, ettĂ€ maakunnat/osavaltiot nĂ€kyvĂ€t nimineen; klikkaa maakuntaa (esim. Pirkanmaa) â koko maakunta tĂ€yttÀÀ ruudun; paina HUNT â liidit ilmestyvĂ€t kartalle nastoina kaupunkiensa kohdalle (Tampereen firmat parveilevat Tampereen ympĂ€rillĂ€, Nokian omat Nokialla). HOT sykkii, sĂ€hköposti/pÀÀttĂ€jĂ€ nĂ€kyvĂ€t vĂ€reinĂ€ kuten ennen, syvĂ€rikastuvalla pyörii rengas, nastaa klikkaamalla aukeaa liidi.
- Valikot ja pallo ovat sama totuus: pallolta klikattu maa/alue asettuu maa- ja aluevalikkoon, valikon vaihto lennĂ€ttÀÀ pallon perĂ€ssĂ€. HUNT kĂ€yttÀÀ valikoita tĂ€smĂ€lleen kuten ennenkin. Murupolku (đ MAAILMA âș Suomi âș Pirkanmaa), oikea klikki tai Esc palaa askeleen taaksepĂ€in; rulla zoomaa, raahaus pyörittÀÀ.
- Kartta on oikea: Natural Earth -rajat (177 maata, 4 596 aluetta, public domain) tulevat ohjelman mukana (2,2 MB pakattuna). Sovelluksen 843 hakualuetta 92 maassa mĂ€pĂ€ttiin karttapaloihin mittaamalla: 841/843 sai rajan, kaikki 843 sijainnin. MĂ€ppĂ€ys todennetaan alueen kaupungeilla ennen hyvĂ€ksymistĂ€ â GeoNamesin "11" ei enÀÀ tarkoita Aude-departementtia kun haetaan Ăle-de-Francea, Milanon kaima Umbriassa ei vedĂ€ Umbriaa Lombardiaan, Greater London = 33 boroughia, Ahvenanmaa = 16 kuntaa.
- Ei keksittyĂ€ sijaintia: nasta menee kartalle vain kun liidin kaupunki tiedetÀÀn (city_db). Ilman kaupunkia liidi nĂ€kyy vasemman alakulman "đ ei sijaintia: N" -lokerossa (silti klikattavissa) ja hyppÀÀ kartalle heti kun rikastus tuo kaupungin.
- Kevyt: kartta piirretÀÀn vĂ€limuistiin kun kamera on paikallaan â yksi ruutu 2 ms, koko kartan uudelleenpiirto 12â21 ms (mitattu). Alueiden mĂ€ppĂ€ys lasketaan taustasĂ€ikeessĂ€, ei jÀÀdytĂ€ kĂ€yttöliittymÀÀ.
- Dist-kierrokset 988â990 (Jessen kokeilut): (1) exessĂ€ numpy on rikki (paketissa 0 .pyd:tĂ€) â pallo jĂ€i "Ladataan karttaaâŠ" â pallo on nyt numpy-vapaa; (2) "maailma ei ole sininen pallo" â oikean nĂ€köinen maapallo (meri, maat, varjostus, ilmakehĂ€); (3) "pallot menee alakulmaan, ei siihen osavaltioon" â kaupungiton liidi menee alueen keskelle onttona nastana ("kaupunki ei tiedossa"), lokeroon vain jos aluettakaan ei tiedetĂ€; lisĂ€ksi ohjelman mukana kulkee 0,7 MB:n kaupunki-indeksi (245 maata, 33 275 kaupunkia), joten nasta löytÀÀ kaupungin vaikka iso cities.db-komponentti puuttuisi; (4) "ihan karttana ei vĂ€rilĂ€ntti" â maakuntatasolla piirretÀÀn jĂ€rvet ja joet (Natural Earth 10m), kaupungit pisteinĂ€ ja nimineen, naapurialueiden nimet, valittu alue kultareunalla â kartta, ei vĂ€rilĂ€ntti.
- đ Osoite â oikea paikka (Jesse: "osalla leedeistĂ€ on osoite missĂ€ ne on"): nastan sijainti tarkentuu portaittain: liidin oma koordinaatti (OSM/rekisteri) tai katuosoite geokoodattuna (Nominatim taustasĂ€ikeessĂ€, 1 pyyntö/s, pysyvĂ€ vĂ€limuisti, 429-katkaisin, hyvĂ€ksytÀÀn vain ajon maan sisĂ€ltĂ€) â tarkka piste ("neulan kĂ€rki" nastassa, hover nĂ€yttÀÀ osoitteen); ilman osoitetta kaupungin kohdalle; ilman kaupunkia jonnekin lÀÀnin sisĂ€lle (deterministinen piste alueen polygonissa, ontto nasta). Kun syvĂ€rikastus tuo osoitteen, nasta siirtyy oikeaan paikkaan.
- đ FANTOMIAJO #3 (Jesse: "markkinointitoimisto/EtelĂ€-Savo â peruutus â construction company â tuli mainostoimistoja"): peruttu ajo jĂ€tti rikastusjonon (EnrichmentScheduler, oma sĂ€ie: 65 EtelĂ€-Savon rekisterifirmaa) elĂ€mÀÀn; uusi ajo nollasi peruutuslipun ja otti saman jonon kĂ€yttöön â edellisen haun firmat valuivat uuteen listaan sekunti ajon alusta. Nyt peruutus abortoi jonon (jono hylĂ€tÀÀn, kesken olevien tulokset eivĂ€t emitoidu, ei blokkaa), uusi ajo ei koskaan peri edellisen scheduleria, ja rekisteri-/OSM-siemenet saavat hakusanaleiman â StaleRun-portti pudottaa vanhan haun liidit vaikka jokin muu polku vuotaisi. Vahti
_smoke_scheduler_abort_no_phantom.py. - đ SERP-portti per event loop: samasta v990-lokista löytyi 24Ă "Semaphore is bound to a different event loop" â MultiSearchin yhteinen navigointisemafori sitoutui ensimmĂ€iseen looppiin, ja soft-rikastuksen/talousloopin SERP-haut (pÀÀttĂ€jĂ€haku, nimihaku, signaaliprobet) kaatuivat hiljaa. Portti on nyt looppikohtainen (sama 3:n rinnakkaisuusraja). Vahti
_smoke_nav_gate_per_loop.py. - đŻ Nimiosuma (Jesse: "etsin brĂ€ndi nimellĂ€ ei löydĂ€ vaikka se on olemassa"): haku "restaurant gianni" / Viro löysi gianni.ee:n (Kimiko-rekisterin brĂ€ndinimi â OsaĂŒhing Lavora, 2 puhelinta, liikevaihto âŹ2,1M) mutta COLD 20 hukkui 150 rekisteriravintolan sekaan listan pohjalle. Nyt hakusanan brĂ€nditoken (ei toimiala-, yleis- eikĂ€ kaupunkisana) verrataan liidin domainiin/nimeen: osuma nostaa rivin listan kĂ€rkeen đŻ-merkillĂ€, kirjoittaa lokiin "Nimiosuma: Gianni (gianni.ee)", jĂ€rjestÀÀ taulussa ykköseksi ja korostaa nastan kartalla kultarenkaalla + nimellĂ€. Pisteet eivĂ€t muutu. Vahti
_smoke_brand_hit.py. - đ PelkkĂ€ nimi = nimihaku (Jesse: "jos laittaa hakuun pelkĂ€n nimen, se hakee vaan sillĂ€ nimellĂ€, ei kaikkea muuta sinne sekaan"): kun hakusana on pelkkĂ€ nimi (ei toimiala-, yleis- eikĂ€ kaupunkisanaa) ja maan rekisteri tuntee nimen, ajo tekee VAIN nimihaun (resolvoi sen firman + rekisterin nimiosumat) eikĂ€ kĂ€ynnistĂ€ avainsanaputkea, joka rakentaisi kaupunki kerrallaan SERP-kyselyt ja tĂ€yttĂ€isi listan sekalaisella saaliilla. LisĂ€ksi toimialasana + brĂ€ndi ("restaurant gianni", "mainostoimisto sireeni"): jos maan rekisteri tuntee brĂ€nditokenin firmana, ajo on nimihaku sillĂ€ nimellĂ€ (toimialasana on vain kuvaus) â "restaurant gianni" hakee Giannin, ei 150 ravintolaa. Jos rekisteri ei tunne nimeĂ€, ajetaan toimialahaku ja đŻ-nimiosuma nostaa mahdollisen osuman kĂ€rkeen. Goldmine ei muutu; tuntematon nimi â avainsanaputki kuten ennen.
- Kartan viimeistely (Jesse: "miksi osa maista on nÀin, vaikka Suomi/Viro on siistit"): aluerajat piirretÀÀn tarkemmasta datasta (0,005°, pienet alueet kuten Peking eivÀt nÀytÀ sahalaidalta), alueen nimi ankkuroidaan alueen OMAN polygonin sisÀlle (rengasmainen Brandenburg/Hebei ei enÀÀ laita nimeÀÀn Berliinin/Pekingin pÀÀlle), naapurialueet saavat kartan nÀköiset vaihtelevat sÀvyt ja mÀppÀÀmÀttömÀt provinssit (esim. Hebei, Tianjin) nimensÀ himmeÀnÀ.
- Kartta myös sisĂ€maassa (Jesse: "Suomessa maakunta = kartta, Kiinassa vĂ€rilĂ€ntti â kuinka monessa maassa sama ongelma? ei saa!"): maakuntanĂ€kymÀÀn lisĂ€tty pÀÀtiet (Natural Earth 10m, 41 236 tietĂ€) ja taajama-alueet (11 878), kaupunki-indeksi syvennetty 500 â 1 500 kaupunkiin/maa (51 397 kaupunkia). Mitattu 366 aluetta 92 maassa: jokaisessa alueessa on karttasisĂ€ltöÀ (vesistöt/tiet/taajamat/kaupungit); ainoat ohuet ovat kaupunkikokoiset alueet (Malta, Bahrain, Ajman, Beirut), joissa nĂ€kymĂ€ nĂ€yttÀÀ silti ympĂ€röivĂ€n kartan.
- Nimihaun nĂ€yttönimi = brĂ€ndi (Jesse: "gianni-haku antoi vÀÀrĂ€n nimen mutta oikean websiten, deep korjasi"): kun kĂ€yttĂ€jĂ€ hakee brĂ€ndillĂ€ ja rekisteri antaa virallisen nimen (OsaĂŒhing Lavora, brĂ€ndi Gianni), liidin nimi on nyt heti Gianni ja virallinen nimi jÀÀ legal_name-kenttÀÀn â sama brĂ€ndisuoja kuin hunt-polulla; ei tarvitse odottaa deepiĂ€.
- Kaikki muu (lista, paneeli, pankki, laskurit, syvĂ€rikastus) ennallaan â uusi nĂ€kymĂ€ toteuttaa tĂ€smĂ€lleen vanhan tutkan rajapinnan. Uusi vahti
_smoke_globe_view.py(46 tarkistusta: geodata, alue-mĂ€ppĂ€ys, tutkasopimus, sijaintirehellisyys, piirtobudjetti, klikkaus â alue).
đŹđ§ English
- The radar has been replaced by a globe. The centre view is now a rotating Earth showing all 90 supported countries. Click a country â the globe flies in until its regions/states are visible with names; click a region (e.g. Pirkanmaa) â it fills the screen; press HUNT â leads drop onto the map as pins at their cities (Tampere companies swarm around Tampere). HOT pulses, e-mail/decision-maker colours are unchanged, deep-enriching pins get a spinning ring, clicking a pin opens the lead.
- Menus and globe are one truth: a country/region clicked on the globe sets the country and region menus; changing a menu flies the globe. HUNT uses the menus exactly as before. Breadcrumb (đ WORLD âș Finland âș Pirkanmaa), right-click or Esc goes back one level; wheel zooms, drag rotates.
- Real geography: Natural Earth boundaries (177 countries, 4 596 admin-1 areas, public domain) ship with the app (2.2 MB gz). The app's 843 hunt regions in 92 countries were mapped to polygons by measurement: 841/843 got a boundary, all 843 a location; every mapping is validated with the region's own cities before it is accepted.
- No invented locations: a pin lands on the map only when the lead's city is known; otherwise the lead sits in a "đ no location: N" tray (still clickable) and jumps onto the map as soon as enrichment brings the city.
- Light: the map layer is cached while the camera is still â 2 ms per frame, 12â21 ms for a full redraw (measured); region mapping runs in a background thread.
- Dist rounds 988â990: globe made numpy-free (the exe's numpy is broken â map never loaded); realistic Earth look; leads without a city are pinned hollow at the centre of their region ("city unknown") instead of a corner tray; a bundled 0.7 MB city index (245 countries, 33 275 cities) locates pins even without the big cities.db component; region view now draws lakes, rivers, cities with names and neighbouring regions â a map, not a colour blob.
- đ Address â exact spot: pin precision improves in steps â lead's own coordinate or street address geocoded (Nominatim in a background thread, 1 req/s, persistent cache, 429 breaker, accepted only inside the hunt country) â exact point (pin shows a needle tip, hover shows the address); no address â city; no city â a deterministic spot inside the region (hollow pin). When deep enrichment brings the address, the pin moves to the right place.
- đ Phantom run #3: a cancelled hunt left its enrichment queue (EnrichmentScheduler thread with 65 registry firms) alive; the next hunt reset the cancel flag and reused the same queue â the previous keyword's companies leaked into the new list. Cancel now aborts the queue (drop pending, suppress in-flight results, non-blocking), a new run never inherits the previous scheduler, and registry/OSM seeds carry the keyword stamp so the StaleRun gate drops old-run leads on any path.
- đ SERP gate per event loop: the shared navigation semaphore bound itself to the first loop; SERP calls from the soft-enrich/financials loops (decision-maker search, name lookup, signal probes) failed silently with "bound to a different event loop" (24Ă in one log). The gate is now per loop with the same concurrency cap.
- đŻ Name match: when a keyword token names a company (not an industry/generic/city word), the matching lead is pinned to the top of the feed with đŻ, logged, sorted first in the table and highlighted on the map â scores unchanged.
- đ Bare name = name lookup: a keyword that is only a name (no industry/generic/city word) and is known to the country registry runs the company lookup only â no keyword pipeline flooding the list. Industry keywords behave as before; goldmine unchanged.
- Map inland too: region view now draws major roads (41 236) and urban areas (11 878) from Natural Earth; the bundled city index goes 500 â 1 500 per country. Measured over 366 regions in 92 countries: every region shows map content.
- Everything else (list, panel, vault, counters, deep enrich) untouched â the new view implements the old radar's exact interface. New guard
_smoke_globe_view.py(46 checks).
1.0.998
2026-08-181.0.998 - 2026-08-18 - "đ Tutka pois â tilalle maapallo: maa â maakunta â liidit nastoina"
đ«đź Suomi
- Tutka on korvattu maapallolla. KeskinĂ€kymĂ€ssĂ€ pyörii nyt koko maapallo, jolla kaikki 90 tuettua maata nĂ€kyvĂ€t (muut himmeinĂ€). Klikkaa maata â pallo lentÀÀ sen pÀÀlle niin lĂ€heltĂ€, ettĂ€ maakunnat/osavaltiot nĂ€kyvĂ€t nimineen; klikkaa maakuntaa (esim. Pirkanmaa) â koko maakunta tĂ€yttÀÀ ruudun; paina HUNT â liidit ilmestyvĂ€t kartalle nastoina kaupunkiensa kohdalle (Tampereen firmat parveilevat Tampereen ympĂ€rillĂ€, Nokian omat Nokialla). HOT sykkii, sĂ€hköposti/pÀÀttĂ€jĂ€ nĂ€kyvĂ€t vĂ€reinĂ€ kuten ennen, syvĂ€rikastuvalla pyörii rengas, nastaa klikkaamalla aukeaa liidi.
- Valikot ja pallo ovat sama totuus: pallolta klikattu maa/alue asettuu maa- ja aluevalikkoon, valikon vaihto lennĂ€ttÀÀ pallon perĂ€ssĂ€. HUNT kĂ€yttÀÀ valikoita tĂ€smĂ€lleen kuten ennenkin. Murupolku (đ MAAILMA âș Suomi âș Pirkanmaa), oikea klikki tai Esc palaa askeleen taaksepĂ€in; rulla zoomaa, raahaus pyörittÀÀ.
- Kartta on oikea: Natural Earth -rajat (177 maata, 4 596 aluetta, public domain) tulevat ohjelman mukana (2,2 MB pakattuna). Sovelluksen 843 hakualuetta 92 maassa mĂ€pĂ€ttiin karttapaloihin mittaamalla: 841/843 sai rajan, kaikki 843 sijainnin. MĂ€ppĂ€ys todennetaan alueen kaupungeilla ennen hyvĂ€ksymistĂ€ â GeoNamesin "11" ei enÀÀ tarkoita Aude-departementtia kun haetaan Ăle-de-Francea, Milanon kaima Umbriassa ei vedĂ€ Umbriaa Lombardiaan, Greater London = 33 boroughia, Ahvenanmaa = 16 kuntaa.
- Ei keksittyĂ€ sijaintia: nasta menee kartalle vain kun liidin kaupunki tiedetÀÀn (city_db). Ilman kaupunkia liidi nĂ€kyy vasemman alakulman "đ ei sijaintia: N" -lokerossa (silti klikattavissa) ja hyppÀÀ kartalle heti kun rikastus tuo kaupungin.
- Kevyt: kartta piirretÀÀn vĂ€limuistiin kun kamera on paikallaan â yksi ruutu 2 ms, koko kartan uudelleenpiirto 12â21 ms (mitattu). Alueiden mĂ€ppĂ€ys lasketaan taustasĂ€ikeessĂ€, ei jÀÀdytĂ€ kĂ€yttöliittymÀÀ.
- Dist-kierrokset 988â990 (Jessen kokeilut): (1) exessĂ€ numpy on rikki (paketissa 0 .pyd:tĂ€) â pallo jĂ€i "Ladataan karttaaâŠ" â pallo on nyt numpy-vapaa; (2) "maailma ei ole sininen pallo" â oikean nĂ€köinen maapallo (meri, maat, varjostus, ilmakehĂ€); (3) "pallot menee alakulmaan, ei siihen osavaltioon" â kaupungiton liidi menee alueen keskelle onttona nastana ("kaupunki ei tiedossa"), lokeroon vain jos aluettakaan ei tiedetĂ€; lisĂ€ksi ohjelman mukana kulkee 0,7 MB:n kaupunki-indeksi (245 maata, 33 275 kaupunkia), joten nasta löytÀÀ kaupungin vaikka iso cities.db-komponentti puuttuisi; (4) "ihan karttana ei vĂ€rilĂ€ntti" â maakuntatasolla piirretÀÀn jĂ€rvet ja joet (Natural Earth 10m), kaupungit pisteinĂ€ ja nimineen, naapurialueiden nimet, valittu alue kultareunalla â kartta, ei vĂ€rilĂ€ntti.
- đ Osoite â oikea paikka (Jesse: "osalla leedeistĂ€ on osoite missĂ€ ne on"): nastan sijainti tarkentuu portaittain: liidin oma koordinaatti (OSM/rekisteri) tai katuosoite geokoodattuna (Nominatim taustasĂ€ikeessĂ€, 1 pyyntö/s, pysyvĂ€ vĂ€limuisti, 429-katkaisin, hyvĂ€ksytÀÀn vain ajon maan sisĂ€ltĂ€) â tarkka piste ("neulan kĂ€rki" nastassa, hover nĂ€yttÀÀ osoitteen); ilman osoitetta kaupungin kohdalle; ilman kaupunkia jonnekin lÀÀnin sisĂ€lle (deterministinen piste alueen polygonissa, ontto nasta). Kun syvĂ€rikastus tuo osoitteen, nasta siirtyy oikeaan paikkaan.
- đ FANTOMIAJO #3 (Jesse: "markkinointitoimisto/EtelĂ€-Savo â peruutus â construction company â tuli mainostoimistoja"): peruttu ajo jĂ€tti rikastusjonon (EnrichmentScheduler, oma sĂ€ie: 65 EtelĂ€-Savon rekisterifirmaa) elĂ€mÀÀn; uusi ajo nollasi peruutuslipun ja otti saman jonon kĂ€yttöön â edellisen haun firmat valuivat uuteen listaan sekunti ajon alusta. Nyt peruutus abortoi jonon (jono hylĂ€tÀÀn, kesken olevien tulokset eivĂ€t emitoidu, ei blokkaa), uusi ajo ei koskaan peri edellisen scheduleria, ja rekisteri-/OSM-siemenet saavat hakusanaleiman â StaleRun-portti pudottaa vanhan haun liidit vaikka jokin muu polku vuotaisi. Vahti
_smoke_scheduler_abort_no_phantom.py. - đ SERP-portti per event loop: samasta v990-lokista löytyi 24Ă "Semaphore is bound to a different event loop" â MultiSearchin yhteinen navigointisemafori sitoutui ensimmĂ€iseen looppiin, ja soft-rikastuksen/talousloopin SERP-haut (pÀÀttĂ€jĂ€haku, nimihaku, signaaliprobet) kaatuivat hiljaa. Portti on nyt looppikohtainen (sama 3:n rinnakkaisuusraja). Vahti
_smoke_nav_gate_per_loop.py. - đŻ Nimiosuma (Jesse: "etsin brĂ€ndi nimellĂ€ ei löydĂ€ vaikka se on olemassa"): haku "restaurant gianni" / Viro löysi gianni.ee:n (Kimiko-rekisterin brĂ€ndinimi â OsaĂŒhing Lavora, 2 puhelinta, liikevaihto âŹ2,1M) mutta COLD 20 hukkui 150 rekisteriravintolan sekaan listan pohjalle. Nyt hakusanan brĂ€nditoken (ei toimiala-, yleis- eikĂ€ kaupunkisana) verrataan liidin domainiin/nimeen: osuma nostaa rivin listan kĂ€rkeen đŻ-merkillĂ€, kirjoittaa lokiin "Nimiosuma: Gianni (gianni.ee)", jĂ€rjestÀÀ taulussa ykköseksi ja korostaa nastan kartalla kultarenkaalla + nimellĂ€. Pisteet eivĂ€t muutu. Vahti
_smoke_brand_hit.py. - đ PelkkĂ€ nimi = nimihaku (Jesse: "jos laittaa hakuun pelkĂ€n nimen, se hakee vaan sillĂ€ nimellĂ€, ei kaikkea muuta sinne sekaan"): kun hakusana on pelkkĂ€ nimi (ei toimiala-, yleis- eikĂ€ kaupunkisanaa) ja maan rekisteri tuntee nimen, ajo tekee VAIN nimihaun (resolvoi sen firman + rekisterin nimiosumat) eikĂ€ kĂ€ynnistĂ€ avainsanaputkea, joka rakentaisi kaupunki kerrallaan SERP-kyselyt ja tĂ€yttĂ€isi listan sekalaisella saaliilla. LisĂ€ksi toimialasana + brĂ€ndi ("restaurant gianni", "mainostoimisto sireeni"): jos maan rekisteri tuntee brĂ€nditokenin firmana, ajo on nimihaku sillĂ€ nimellĂ€ (toimialasana on vain kuvaus) â "restaurant gianni" hakee Giannin, ei 150 ravintolaa. Jos rekisteri ei tunne nimeĂ€, ajetaan toimialahaku ja đŻ-nimiosuma nostaa mahdollisen osuman kĂ€rkeen. Goldmine ei muutu; tuntematon nimi â avainsanaputki kuten ennen.
- Kartan viimeistely (Jesse: "miksi osa maista on nÀin, vaikka Suomi/Viro on siistit"): aluerajat piirretÀÀn tarkemmasta datasta (0,005°, pienet alueet kuten Peking eivÀt nÀytÀ sahalaidalta), alueen nimi ankkuroidaan alueen OMAN polygonin sisÀlle (rengasmainen Brandenburg/Hebei ei enÀÀ laita nimeÀÀn Berliinin/Pekingin pÀÀlle), naapurialueet saavat kartan nÀköiset vaihtelevat sÀvyt ja mÀppÀÀmÀttömÀt provinssit (esim. Hebei, Tianjin) nimensÀ himmeÀnÀ.
- Kartta myös sisĂ€maassa (Jesse: "Suomessa maakunta = kartta, Kiinassa vĂ€rilĂ€ntti â kuinka monessa maassa sama ongelma? ei saa!"): maakuntanĂ€kymÀÀn lisĂ€tty pÀÀtiet (Natural Earth 10m, 41 236 tietĂ€) ja taajama-alueet (11 878), kaupunki-indeksi syvennetty 500 â 1 500 kaupunkiin/maa (51 397 kaupunkia). Mitattu 366 aluetta 92 maassa: jokaisessa alueessa on karttasisĂ€ltöÀ (vesistöt/tiet/taajamat/kaupungit); ainoat ohuet ovat kaupunkikokoiset alueet (Malta, Bahrain, Ajman, Beirut), joissa nĂ€kymĂ€ nĂ€yttÀÀ silti ympĂ€röivĂ€n kartan.
- Kaikki muu (lista, paneeli, pankki, laskurit, syvĂ€rikastus) ennallaan â uusi nĂ€kymĂ€ toteuttaa tĂ€smĂ€lleen vanhan tutkan rajapinnan. Uusi vahti
_smoke_globe_view.py(46 tarkistusta: geodata, alue-mĂ€ppĂ€ys, tutkasopimus, sijaintirehellisyys, piirtobudjetti, klikkaus â alue).
đŹđ§ English
- The radar has been replaced by a globe. The centre view is now a rotating Earth showing all 90 supported countries. Click a country â the globe flies in until its regions/states are visible with names; click a region (e.g. Pirkanmaa) â it fills the screen; press HUNT â leads drop onto the map as pins at their cities (Tampere companies swarm around Tampere). HOT pulses, e-mail/decision-maker colours are unchanged, deep-enriching pins get a spinning ring, clicking a pin opens the lead.
- Menus and globe are one truth: a country/region clicked on the globe sets the country and region menus; changing a menu flies the globe. HUNT uses the menus exactly as before. Breadcrumb (đ WORLD âș Finland âș Pirkanmaa), right-click or Esc goes back one level; wheel zooms, drag rotates.
- Real geography: Natural Earth boundaries (177 countries, 4 596 admin-1 areas, public domain) ship with the app (2.2 MB gz). The app's 843 hunt regions in 92 countries were mapped to polygons by measurement: 841/843 got a boundary, all 843 a location; every mapping is validated with the region's own cities before it is accepted.
- No invented locations: a pin lands on the map only when the lead's city is known; otherwise the lead sits in a "đ no location: N" tray (still clickable) and jumps onto the map as soon as enrichment brings the city.
- Light: the map layer is cached while the camera is still â 2 ms per frame, 12â21 ms for a full redraw (measured); region mapping runs in a background thread.
- Dist rounds 988â990: globe made numpy-free (the exe's numpy is broken â map never loaded); realistic Earth look; leads without a city are pinned hollow at the centre of their region ("city unknown") instead of a corner tray; a bundled 0.7 MB city index (245 countries, 33 275 cities) locates pins even without the big cities.db component; region view now draws lakes, rivers, cities with names and neighbouring regions â a map, not a colour blob.
- đ Address â exact spot: pin precision improves in steps â lead's own coordinate or street address geocoded (Nominatim in a background thread, 1 req/s, persistent cache, 429 breaker, accepted only inside the hunt country) â exact point (pin shows a needle tip, hover shows the address); no address â city; no city â a deterministic spot inside the region (hollow pin). When deep enrichment brings the address, the pin moves to the right place.
- đ Phantom run #3: a cancelled hunt left its enrichment queue (EnrichmentScheduler thread with 65 registry firms) alive; the next hunt reset the cancel flag and reused the same queue â the previous keyword's companies leaked into the new list. Cancel now aborts the queue (drop pending, suppress in-flight results, non-blocking), a new run never inherits the previous scheduler, and registry/OSM seeds carry the keyword stamp so the StaleRun gate drops old-run leads on any path.
- đ SERP gate per event loop: the shared navigation semaphore bound itself to the first loop; SERP calls from the soft-enrich/financials loops (decision-maker search, name lookup, signal probes) failed silently with "bound to a different event loop" (24Ă in one log). The gate is now per loop with the same concurrency cap.
- đŻ Name match: when a keyword token names a company (not an industry/generic/city word), the matching lead is pinned to the top of the feed with đŻ, logged, sorted first in the table and highlighted on the map â scores unchanged.
- đ Bare name = name lookup: a keyword that is only a name (no industry/generic/city word) and is known to the country registry runs the company lookup only â no keyword pipeline flooding the list. Industry keywords behave as before; goldmine unchanged.
- Map inland too: region view now draws major roads (41 236) and urban areas (11 878) from Natural Earth; the bundled city index goes 500 â 1 500 per country. Measured over 366 regions in 92 countries: every region shows map content.
- Everything else (list, panel, vault, counters, deep enrich) untouched â the new view implements the old radar's exact interface. New guard
_smoke_globe_view.py(46 checks).
1.0.997
2026-08-181.0.997 - 2026-08-18 - "đ Tutka pois â tilalle maapallo: maa â maakunta â liidit nastoina"
đ«đź Suomi
- Tutka on korvattu maapallolla. KeskinĂ€kymĂ€ssĂ€ pyörii nyt koko maapallo, jolla kaikki 90 tuettua maata nĂ€kyvĂ€t (muut himmeinĂ€). Klikkaa maata â pallo lentÀÀ sen pÀÀlle niin lĂ€heltĂ€, ettĂ€ maakunnat/osavaltiot nĂ€kyvĂ€t nimineen; klikkaa maakuntaa (esim. Pirkanmaa) â koko maakunta tĂ€yttÀÀ ruudun; paina HUNT â liidit ilmestyvĂ€t kartalle nastoina kaupunkiensa kohdalle (Tampereen firmat parveilevat Tampereen ympĂ€rillĂ€, Nokian omat Nokialla). HOT sykkii, sĂ€hköposti/pÀÀttĂ€jĂ€ nĂ€kyvĂ€t vĂ€reinĂ€ kuten ennen, syvĂ€rikastuvalla pyörii rengas, nastaa klikkaamalla aukeaa liidi.
- Valikot ja pallo ovat sama totuus: pallolta klikattu maa/alue asettuu maa- ja aluevalikkoon, valikon vaihto lennĂ€ttÀÀ pallon perĂ€ssĂ€. HUNT kĂ€yttÀÀ valikoita tĂ€smĂ€lleen kuten ennenkin. Murupolku (đ MAAILMA âș Suomi âș Pirkanmaa), oikea klikki tai Esc palaa askeleen taaksepĂ€in; rulla zoomaa, raahaus pyörittÀÀ.
- Kartta on oikea: Natural Earth -rajat (177 maata, 4 596 aluetta, public domain) tulevat ohjelman mukana (2,2 MB pakattuna). Sovelluksen 843 hakualuetta 92 maassa mĂ€pĂ€ttiin karttapaloihin mittaamalla: 841/843 sai rajan, kaikki 843 sijainnin. MĂ€ppĂ€ys todennetaan alueen kaupungeilla ennen hyvĂ€ksymistĂ€ â GeoNamesin "11" ei enÀÀ tarkoita Aude-departementtia kun haetaan Ăle-de-Francea, Milanon kaima Umbriassa ei vedĂ€ Umbriaa Lombardiaan, Greater London = 33 boroughia, Ahvenanmaa = 16 kuntaa.
- Ei keksittyĂ€ sijaintia: nasta menee kartalle vain kun liidin kaupunki tiedetÀÀn (city_db). Ilman kaupunkia liidi nĂ€kyy vasemman alakulman "đ ei sijaintia: N" -lokerossa (silti klikattavissa) ja hyppÀÀ kartalle heti kun rikastus tuo kaupungin.
- Kevyt: kartta piirretÀÀn vĂ€limuistiin kun kamera on paikallaan â yksi ruutu 2 ms, koko kartan uudelleenpiirto 12â21 ms (mitattu). Alueiden mĂ€ppĂ€ys lasketaan taustasĂ€ikeessĂ€, ei jÀÀdytĂ€ kĂ€yttöliittymÀÀ.
- Dist-kierrokset 988â990 (Jessen kokeilut): (1) exessĂ€ numpy on rikki (paketissa 0 .pyd:tĂ€) â pallo jĂ€i "Ladataan karttaaâŠ" â pallo on nyt numpy-vapaa; (2) "maailma ei ole sininen pallo" â oikean nĂ€köinen maapallo (meri, maat, varjostus, ilmakehĂ€); (3) "pallot menee alakulmaan, ei siihen osavaltioon" â kaupungiton liidi menee alueen keskelle onttona nastana ("kaupunki ei tiedossa"), lokeroon vain jos aluettakaan ei tiedetĂ€; lisĂ€ksi ohjelman mukana kulkee 0,7 MB:n kaupunki-indeksi (245 maata, 33 275 kaupunkia), joten nasta löytÀÀ kaupungin vaikka iso cities.db-komponentti puuttuisi; (4) "ihan karttana ei vĂ€rilĂ€ntti" â maakuntatasolla piirretÀÀn jĂ€rvet ja joet (Natural Earth 10m), kaupungit pisteinĂ€ ja nimineen, naapurialueiden nimet, valittu alue kultareunalla â kartta, ei vĂ€rilĂ€ntti.
- đ Osoite â oikea paikka (Jesse: "osalla leedeistĂ€ on osoite missĂ€ ne on"): nastan sijainti tarkentuu portaittain: liidin oma koordinaatti (OSM/rekisteri) tai katuosoite geokoodattuna (Nominatim taustasĂ€ikeessĂ€, 1 pyyntö/s, pysyvĂ€ vĂ€limuisti, 429-katkaisin, hyvĂ€ksytÀÀn vain ajon maan sisĂ€ltĂ€) â tarkka piste ("neulan kĂ€rki" nastassa, hover nĂ€yttÀÀ osoitteen); ilman osoitetta kaupungin kohdalle; ilman kaupunkia jonnekin lÀÀnin sisĂ€lle (deterministinen piste alueen polygonissa, ontto nasta). Kun syvĂ€rikastus tuo osoitteen, nasta siirtyy oikeaan paikkaan.
- đ FANTOMIAJO #3 (Jesse: "markkinointitoimisto/EtelĂ€-Savo â peruutus â construction company â tuli mainostoimistoja"): peruttu ajo jĂ€tti rikastusjonon (EnrichmentScheduler, oma sĂ€ie: 65 EtelĂ€-Savon rekisterifirmaa) elĂ€mÀÀn; uusi ajo nollasi peruutuslipun ja otti saman jonon kĂ€yttöön â edellisen haun firmat valuivat uuteen listaan sekunti ajon alusta. Nyt peruutus abortoi jonon (jono hylĂ€tÀÀn, kesken olevien tulokset eivĂ€t emitoidu, ei blokkaa), uusi ajo ei koskaan peri edellisen scheduleria, ja rekisteri-/OSM-siemenet saavat hakusanaleiman â StaleRun-portti pudottaa vanhan haun liidit vaikka jokin muu polku vuotaisi. Vahti
_smoke_scheduler_abort_no_phantom.py. - đ SERP-portti per event loop: samasta v990-lokista löytyi 24Ă "Semaphore is bound to a different event loop" â MultiSearchin yhteinen navigointisemafori sitoutui ensimmĂ€iseen looppiin, ja soft-rikastuksen/talousloopin SERP-haut (pÀÀttĂ€jĂ€haku, nimihaku, signaaliprobet) kaatuivat hiljaa. Portti on nyt looppikohtainen (sama 3:n rinnakkaisuusraja). Vahti
_smoke_nav_gate_per_loop.py. - đŻ Nimiosuma (Jesse: "etsin brĂ€ndi nimellĂ€ ei löydĂ€ vaikka se on olemassa"): haku "restaurant gianni" / Viro löysi gianni.ee:n (Kimiko-rekisterin brĂ€ndinimi â OsaĂŒhing Lavora, 2 puhelinta, liikevaihto âŹ2,1M) mutta COLD 20 hukkui 150 rekisteriravintolan sekaan listan pohjalle. Nyt hakusanan brĂ€nditoken (ei toimiala-, yleis- eikĂ€ kaupunkisana) verrataan liidin domainiin/nimeen: osuma nostaa rivin listan kĂ€rkeen đŻ-merkillĂ€, kirjoittaa lokiin "Nimiosuma: Gianni (gianni.ee)", jĂ€rjestÀÀ taulussa ykköseksi ja korostaa nastan kartalla kultarenkaalla + nimellĂ€. Pisteet eivĂ€t muutu. Vahti
_smoke_brand_hit.py. - đ PelkkĂ€ nimi = nimihaku (Jesse: "jos laittaa hakuun pelkĂ€n nimen, se hakee vaan sillĂ€ nimellĂ€, ei kaikkea muuta sinne sekaan"): kun hakusana on pelkkĂ€ nimi (ei toimiala-, yleis- eikĂ€ kaupunkisanaa) ja maan rekisteri tuntee nimen, ajo tekee VAIN nimihaun (resolvoi sen firman + rekisterin nimiosumat) eikĂ€ kĂ€ynnistĂ€ avainsanaputkea, joka rakentaisi kaupunki kerrallaan SERP-kyselyt ja tĂ€yttĂ€isi listan sekalaisella saaliilla. "restaurant gianni" pysyy toimialahakuna (đŻ nimiosuma nostaa Giannin kĂ€rkeen), "gianni" hakee vain Giannin. Goldmine ei muutu; tuntematon nimi â avainsanaputki kuten ennen.
- Kartan viimeistely (Jesse: "miksi osa maista on nÀin, vaikka Suomi/Viro on siistit"): aluerajat piirretÀÀn tarkemmasta datasta (0,005°, pienet alueet kuten Peking eivÀt nÀytÀ sahalaidalta), alueen nimi ankkuroidaan alueen OMAN polygonin sisÀlle (rengasmainen Brandenburg/Hebei ei enÀÀ laita nimeÀÀn Berliinin/Pekingin pÀÀlle), naapurialueet saavat kartan nÀköiset vaihtelevat sÀvyt ja mÀppÀÀmÀttömÀt provinssit (esim. Hebei, Tianjin) nimensÀ himmeÀnÀ.
- Kartta myös sisĂ€maassa (Jesse: "Suomessa maakunta = kartta, Kiinassa vĂ€rilĂ€ntti â kuinka monessa maassa sama ongelma? ei saa!"): maakuntanĂ€kymÀÀn lisĂ€tty pÀÀtiet (Natural Earth 10m, 41 236 tietĂ€) ja taajama-alueet (11 878), kaupunki-indeksi syvennetty 500 â 1 500 kaupunkiin/maa (51 397 kaupunkia). Mitattu 366 aluetta 92 maassa: jokaisessa alueessa on karttasisĂ€ltöÀ (vesistöt/tiet/taajamat/kaupungit); ainoat ohuet ovat kaupunkikokoiset alueet (Malta, Bahrain, Ajman, Beirut), joissa nĂ€kymĂ€ nĂ€yttÀÀ silti ympĂ€röivĂ€n kartan.
- Kaikki muu (lista, paneeli, pankki, laskurit, syvĂ€rikastus) ennallaan â uusi nĂ€kymĂ€ toteuttaa tĂ€smĂ€lleen vanhan tutkan rajapinnan. Uusi vahti
_smoke_globe_view.py(46 tarkistusta: geodata, alue-mĂ€ppĂ€ys, tutkasopimus, sijaintirehellisyys, piirtobudjetti, klikkaus â alue).
đŹđ§ English
- The radar has been replaced by a globe. The centre view is now a rotating Earth showing all 90 supported countries. Click a country â the globe flies in until its regions/states are visible with names; click a region (e.g. Pirkanmaa) â it fills the screen; press HUNT â leads drop onto the map as pins at their cities (Tampere companies swarm around Tampere). HOT pulses, e-mail/decision-maker colours are unchanged, deep-enriching pins get a spinning ring, clicking a pin opens the lead.
- Menus and globe are one truth: a country/region clicked on the globe sets the country and region menus; changing a menu flies the globe. HUNT uses the menus exactly as before. Breadcrumb (đ WORLD âș Finland âș Pirkanmaa), right-click or Esc goes back one level; wheel zooms, drag rotates.
- Real geography: Natural Earth boundaries (177 countries, 4 596 admin-1 areas, public domain) ship with the app (2.2 MB gz). The app's 843 hunt regions in 92 countries were mapped to polygons by measurement: 841/843 got a boundary, all 843 a location; every mapping is validated with the region's own cities before it is accepted.
- No invented locations: a pin lands on the map only when the lead's city is known; otherwise the lead sits in a "đ no location: N" tray (still clickable) and jumps onto the map as soon as enrichment brings the city.
- Light: the map layer is cached while the camera is still â 2 ms per frame, 12â21 ms for a full redraw (measured); region mapping runs in a background thread.
- Dist rounds 988â990: globe made numpy-free (the exe's numpy is broken â map never loaded); realistic Earth look; leads without a city are pinned hollow at the centre of their region ("city unknown") instead of a corner tray; a bundled 0.7 MB city index (245 countries, 33 275 cities) locates pins even without the big cities.db component; region view now draws lakes, rivers, cities with names and neighbouring regions â a map, not a colour blob.
- đ Address â exact spot: pin precision improves in steps â lead's own coordinate or street address geocoded (Nominatim in a background thread, 1 req/s, persistent cache, 429 breaker, accepted only inside the hunt country) â exact point (pin shows a needle tip, hover shows the address); no address â city; no city â a deterministic spot inside the region (hollow pin). When deep enrichment brings the address, the pin moves to the right place.
- đ Phantom run #3: a cancelled hunt left its enrichment queue (EnrichmentScheduler thread with 65 registry firms) alive; the next hunt reset the cancel flag and reused the same queue â the previous keyword's companies leaked into the new list. Cancel now aborts the queue (drop pending, suppress in-flight results, non-blocking), a new run never inherits the previous scheduler, and registry/OSM seeds carry the keyword stamp so the StaleRun gate drops old-run leads on any path.
- đ SERP gate per event loop: the shared navigation semaphore bound itself to the first loop; SERP calls from the soft-enrich/financials loops (decision-maker search, name lookup, signal probes) failed silently with "bound to a different event loop" (24Ă in one log). The gate is now per loop with the same concurrency cap.
- đŻ Name match: when a keyword token names a company (not an industry/generic/city word), the matching lead is pinned to the top of the feed with đŻ, logged, sorted first in the table and highlighted on the map â scores unchanged.
- đ Bare name = name lookup: a keyword that is only a name (no industry/generic/city word) and is known to the country registry runs the company lookup only â no keyword pipeline flooding the list. Industry keywords behave as before; goldmine unchanged.
- Map inland too: region view now draws major roads (41 236) and urban areas (11 878) from Natural Earth; the bundled city index goes 500 â 1 500 per country. Measured over 366 regions in 92 countries: every region shows map content.
- Everything else (list, panel, vault, counters, deep enrich) untouched â the new view implements the old radar's exact interface. New guard
_smoke_globe_view.py(46 checks).
1.0.996
2026-08-181.0.996 - 2026-08-18 - "đ Tutka pois â tilalle maapallo: maa â maakunta â liidit nastoina"
đ«đź Suomi
- Tutka on korvattu maapallolla. KeskinĂ€kymĂ€ssĂ€ pyörii nyt koko maapallo, jolla kaikki 90 tuettua maata nĂ€kyvĂ€t (muut himmeinĂ€). Klikkaa maata â pallo lentÀÀ sen pÀÀlle niin lĂ€heltĂ€, ettĂ€ maakunnat/osavaltiot nĂ€kyvĂ€t nimineen; klikkaa maakuntaa (esim. Pirkanmaa) â koko maakunta tĂ€yttÀÀ ruudun; paina HUNT â liidit ilmestyvĂ€t kartalle nastoina kaupunkiensa kohdalle (Tampereen firmat parveilevat Tampereen ympĂ€rillĂ€, Nokian omat Nokialla). HOT sykkii, sĂ€hköposti/pÀÀttĂ€jĂ€ nĂ€kyvĂ€t vĂ€reinĂ€ kuten ennen, syvĂ€rikastuvalla pyörii rengas, nastaa klikkaamalla aukeaa liidi.
- Valikot ja pallo ovat sama totuus: pallolta klikattu maa/alue asettuu maa- ja aluevalikkoon, valikon vaihto lennĂ€ttÀÀ pallon perĂ€ssĂ€. HUNT kĂ€yttÀÀ valikoita tĂ€smĂ€lleen kuten ennenkin. Murupolku (đ MAAILMA âș Suomi âș Pirkanmaa), oikea klikki tai Esc palaa askeleen taaksepĂ€in; rulla zoomaa, raahaus pyörittÀÀ.
- Kartta on oikea: Natural Earth -rajat (177 maata, 4 596 aluetta, public domain) tulevat ohjelman mukana (2,2 MB pakattuna). Sovelluksen 843 hakualuetta 92 maassa mĂ€pĂ€ttiin karttapaloihin mittaamalla: 841/843 sai rajan, kaikki 843 sijainnin. MĂ€ppĂ€ys todennetaan alueen kaupungeilla ennen hyvĂ€ksymistĂ€ â GeoNamesin "11" ei enÀÀ tarkoita Aude-departementtia kun haetaan Ăle-de-Francea, Milanon kaima Umbriassa ei vedĂ€ Umbriaa Lombardiaan, Greater London = 33 boroughia, Ahvenanmaa = 16 kuntaa.
- Ei keksittyĂ€ sijaintia: nasta menee kartalle vain kun liidin kaupunki tiedetÀÀn (city_db). Ilman kaupunkia liidi nĂ€kyy vasemman alakulman "đ ei sijaintia: N" -lokerossa (silti klikattavissa) ja hyppÀÀ kartalle heti kun rikastus tuo kaupungin.
- Kevyt: kartta piirretÀÀn vĂ€limuistiin kun kamera on paikallaan â yksi ruutu 2 ms, koko kartan uudelleenpiirto 12â21 ms (mitattu). Alueiden mĂ€ppĂ€ys lasketaan taustasĂ€ikeessĂ€, ei jÀÀdytĂ€ kĂ€yttöliittymÀÀ.
- Dist-kierrokset 988â990 (Jessen kokeilut): (1) exessĂ€ numpy on rikki (paketissa 0 .pyd:tĂ€) â pallo jĂ€i "Ladataan karttaaâŠ" â pallo on nyt numpy-vapaa; (2) "maailma ei ole sininen pallo" â oikean nĂ€köinen maapallo (meri, maat, varjostus, ilmakehĂ€); (3) "pallot menee alakulmaan, ei siihen osavaltioon" â kaupungiton liidi menee alueen keskelle onttona nastana ("kaupunki ei tiedossa"), lokeroon vain jos aluettakaan ei tiedetĂ€; lisĂ€ksi ohjelman mukana kulkee 0,7 MB:n kaupunki-indeksi (245 maata, 33 275 kaupunkia), joten nasta löytÀÀ kaupungin vaikka iso cities.db-komponentti puuttuisi; (4) "ihan karttana ei vĂ€rilĂ€ntti" â maakuntatasolla piirretÀÀn jĂ€rvet ja joet (Natural Earth 10m), kaupungit pisteinĂ€ ja nimineen, naapurialueiden nimet, valittu alue kultareunalla â kartta, ei vĂ€rilĂ€ntti.
- đ Osoite â oikea paikka (Jesse: "osalla leedeistĂ€ on osoite missĂ€ ne on"): nastan sijainti tarkentuu portaittain: liidin oma koordinaatti (OSM/rekisteri) tai katuosoite geokoodattuna (Nominatim taustasĂ€ikeessĂ€, 1 pyyntö/s, pysyvĂ€ vĂ€limuisti, 429-katkaisin, hyvĂ€ksytÀÀn vain ajon maan sisĂ€ltĂ€) â tarkka piste ("neulan kĂ€rki" nastassa, hover nĂ€yttÀÀ osoitteen); ilman osoitetta kaupungin kohdalle; ilman kaupunkia jonnekin lÀÀnin sisĂ€lle (deterministinen piste alueen polygonissa, ontto nasta). Kun syvĂ€rikastus tuo osoitteen, nasta siirtyy oikeaan paikkaan.
- đ FANTOMIAJO #3 (Jesse: "markkinointitoimisto/EtelĂ€-Savo â peruutus â construction company â tuli mainostoimistoja"): peruttu ajo jĂ€tti rikastusjonon (EnrichmentScheduler, oma sĂ€ie: 65 EtelĂ€-Savon rekisterifirmaa) elĂ€mÀÀn; uusi ajo nollasi peruutuslipun ja otti saman jonon kĂ€yttöön â edellisen haun firmat valuivat uuteen listaan sekunti ajon alusta. Nyt peruutus abortoi jonon (jono hylĂ€tÀÀn, kesken olevien tulokset eivĂ€t emitoidu, ei blokkaa), uusi ajo ei koskaan peri edellisen scheduleria, ja rekisteri-/OSM-siemenet saavat hakusanaleiman â StaleRun-portti pudottaa vanhan haun liidit vaikka jokin muu polku vuotaisi. Vahti
_smoke_scheduler_abort_no_phantom.py. - đ SERP-portti per event loop: samasta v990-lokista löytyi 24Ă "Semaphore is bound to a different event loop" â MultiSearchin yhteinen navigointisemafori sitoutui ensimmĂ€iseen looppiin, ja soft-rikastuksen/talousloopin SERP-haut (pÀÀttĂ€jĂ€haku, nimihaku, signaaliprobet) kaatuivat hiljaa. Portti on nyt looppikohtainen (sama 3:n rinnakkaisuusraja). Vahti
_smoke_nav_gate_per_loop.py. - đŻ Nimiosuma (Jesse: "etsin brĂ€ndi nimellĂ€ ei löydĂ€ vaikka se on olemassa"): haku "restaurant gianni" / Viro löysi gianni.ee:n (Kimiko-rekisterin brĂ€ndinimi â OsaĂŒhing Lavora, 2 puhelinta, liikevaihto âŹ2,1M) mutta COLD 20 hukkui 150 rekisteriravintolan sekaan listan pohjalle. Nyt hakusanan brĂ€nditoken (ei toimiala-, yleis- eikĂ€ kaupunkisana) verrataan liidin domainiin/nimeen: osuma nostaa rivin listan kĂ€rkeen đŻ-merkillĂ€, kirjoittaa lokiin "Nimiosuma: Gianni (gianni.ee)", jĂ€rjestÀÀ taulussa ykköseksi ja korostaa nastan kartalla kultarenkaalla + nimellĂ€. Pisteet eivĂ€t muutu. Vahti
_smoke_brand_hit.py. - đ PelkkĂ€ nimi = nimihaku (Jesse: "jos laittaa hakuun pelkĂ€n nimen, se hakee vaan sillĂ€ nimellĂ€, ei kaikkea muuta sinne sekaan"): kun hakusana on pelkkĂ€ nimi (ei toimiala-, yleis- eikĂ€ kaupunkisanaa) ja maan rekisteri tuntee nimen, ajo tekee VAIN nimihaun (resolvoi sen firman + rekisterin nimiosumat) eikĂ€ kĂ€ynnistĂ€ avainsanaputkea, joka rakentaisi kaupunki kerrallaan SERP-kyselyt ja tĂ€yttĂ€isi listan sekalaisella saaliilla. "restaurant gianni" pysyy toimialahakuna (đŻ nimiosuma nostaa Giannin kĂ€rkeen), "gianni" hakee vain Giannin. Goldmine ei muutu; tuntematon nimi â avainsanaputki kuten ennen.
- Kartan viimeistely (Jesse: "miksi osa maista on nÀin, vaikka Suomi/Viro on siistit"): aluerajat piirretÀÀn tarkemmasta datasta (0,005°, pienet alueet kuten Peking eivÀt nÀytÀ sahalaidalta), alueen nimi ankkuroidaan alueen OMAN polygonin sisÀlle (rengasmainen Brandenburg/Hebei ei enÀÀ laita nimeÀÀn Berliinin/Pekingin pÀÀlle), naapurialueet saavat kartan nÀköiset vaihtelevat sÀvyt ja mÀppÀÀmÀttömÀt provinssit (esim. Hebei, Tianjin) nimensÀ himmeÀnÀ.
- Kaikki muu (lista, paneeli, pankki, laskurit, syvĂ€rikastus) ennallaan â uusi nĂ€kymĂ€ toteuttaa tĂ€smĂ€lleen vanhan tutkan rajapinnan. Uusi vahti
_smoke_globe_view.py(46 tarkistusta: geodata, alue-mĂ€ppĂ€ys, tutkasopimus, sijaintirehellisyys, piirtobudjetti, klikkaus â alue).
đŹđ§ English
- The radar has been replaced by a globe. The centre view is now a rotating Earth showing all 90 supported countries. Click a country â the globe flies in until its regions/states are visible with names; click a region (e.g. Pirkanmaa) â it fills the screen; press HUNT â leads drop onto the map as pins at their cities (Tampere companies swarm around Tampere). HOT pulses, e-mail/decision-maker colours are unchanged, deep-enriching pins get a spinning ring, clicking a pin opens the lead.
- Menus and globe are one truth: a country/region clicked on the globe sets the country and region menus; changing a menu flies the globe. HUNT uses the menus exactly as before. Breadcrumb (đ WORLD âș Finland âș Pirkanmaa), right-click or Esc goes back one level; wheel zooms, drag rotates.
- Real geography: Natural Earth boundaries (177 countries, 4 596 admin-1 areas, public domain) ship with the app (2.2 MB gz). The app's 843 hunt regions in 92 countries were mapped to polygons by measurement: 841/843 got a boundary, all 843 a location; every mapping is validated with the region's own cities before it is accepted.
- No invented locations: a pin lands on the map only when the lead's city is known; otherwise the lead sits in a "đ no location: N" tray (still clickable) and jumps onto the map as soon as enrichment brings the city.
- Light: the map layer is cached while the camera is still â 2 ms per frame, 12â21 ms for a full redraw (measured); region mapping runs in a background thread.
- Dist rounds 988â990: globe made numpy-free (the exe's numpy is broken â map never loaded); realistic Earth look; leads without a city are pinned hollow at the centre of their region ("city unknown") instead of a corner tray; a bundled 0.7 MB city index (245 countries, 33 275 cities) locates pins even without the big cities.db component; region view now draws lakes, rivers, cities with names and neighbouring regions â a map, not a colour blob.
- đ Address â exact spot: pin precision improves in steps â lead's own coordinate or street address geocoded (Nominatim in a background thread, 1 req/s, persistent cache, 429 breaker, accepted only inside the hunt country) â exact point (pin shows a needle tip, hover shows the address); no address â city; no city â a deterministic spot inside the region (hollow pin). When deep enrichment brings the address, the pin moves to the right place.
- đ Phantom run #3: a cancelled hunt left its enrichment queue (EnrichmentScheduler thread with 65 registry firms) alive; the next hunt reset the cancel flag and reused the same queue â the previous keyword's companies leaked into the new list. Cancel now aborts the queue (drop pending, suppress in-flight results, non-blocking), a new run never inherits the previous scheduler, and registry/OSM seeds carry the keyword stamp so the StaleRun gate drops old-run leads on any path.
- đ SERP gate per event loop: the shared navigation semaphore bound itself to the first loop; SERP calls from the soft-enrich/financials loops (decision-maker search, name lookup, signal probes) failed silently with "bound to a different event loop" (24Ă in one log). The gate is now per loop with the same concurrency cap.
- đŻ Name match: when a keyword token names a company (not an industry/generic/city word), the matching lead is pinned to the top of the feed with đŻ, logged, sorted first in the table and highlighted on the map â scores unchanged.
- đ Bare name = name lookup: a keyword that is only a name (no industry/generic/city word) and is known to the country registry runs the company lookup only â no keyword pipeline flooding the list. Industry keywords behave as before; goldmine unchanged.
- Everything else (list, panel, vault, counters, deep enrich) untouched â the new view implements the old radar's exact interface. New guard
_smoke_globe_view.py(46 checks).
1.0.993
2026-08-181.0.993 - 2026-08-18 - "đ Tutka pois â tilalle maapallo: maa â maakunta â liidit nastoina"
đ«đź Suomi
- Tutka on korvattu maapallolla. KeskinĂ€kymĂ€ssĂ€ pyörii nyt koko maapallo, jolla kaikki 90 tuettua maata nĂ€kyvĂ€t (muut himmeinĂ€). Klikkaa maata â pallo lentÀÀ sen pÀÀlle niin lĂ€heltĂ€, ettĂ€ maakunnat/osavaltiot nĂ€kyvĂ€t nimineen; klikkaa maakuntaa (esim. Pirkanmaa) â koko maakunta tĂ€yttÀÀ ruudun; paina HUNT â liidit ilmestyvĂ€t kartalle nastoina kaupunkiensa kohdalle (Tampereen firmat parveilevat Tampereen ympĂ€rillĂ€, Nokian omat Nokialla). HOT sykkii, sĂ€hköposti/pÀÀttĂ€jĂ€ nĂ€kyvĂ€t vĂ€reinĂ€ kuten ennen, syvĂ€rikastuvalla pyörii rengas, nastaa klikkaamalla aukeaa liidi.
- Valikot ja pallo ovat sama totuus: pallolta klikattu maa/alue asettuu maa- ja aluevalikkoon, valikon vaihto lennĂ€ttÀÀ pallon perĂ€ssĂ€. HUNT kĂ€yttÀÀ valikoita tĂ€smĂ€lleen kuten ennenkin. Murupolku (đ MAAILMA âș Suomi âș Pirkanmaa), oikea klikki tai Esc palaa askeleen taaksepĂ€in; rulla zoomaa, raahaus pyörittÀÀ.
- Kartta on oikea: Natural Earth -rajat (177 maata, 4 596 aluetta, public domain) tulevat ohjelman mukana (2,2 MB pakattuna). Sovelluksen 843 hakualuetta 92 maassa mĂ€pĂ€ttiin karttapaloihin mittaamalla: 841/843 sai rajan, kaikki 843 sijainnin. MĂ€ppĂ€ys todennetaan alueen kaupungeilla ennen hyvĂ€ksymistĂ€ â GeoNamesin "11" ei enÀÀ tarkoita Aude-departementtia kun haetaan Ăle-de-Francea, Milanon kaima Umbriassa ei vedĂ€ Umbriaa Lombardiaan, Greater London = 33 boroughia, Ahvenanmaa = 16 kuntaa.
- Ei keksittyĂ€ sijaintia: nasta menee kartalle vain kun liidin kaupunki tiedetÀÀn (city_db). Ilman kaupunkia liidi nĂ€kyy vasemman alakulman "đ ei sijaintia: N" -lokerossa (silti klikattavissa) ja hyppÀÀ kartalle heti kun rikastus tuo kaupungin.
- Kevyt: kartta piirretÀÀn vĂ€limuistiin kun kamera on paikallaan â yksi ruutu 2 ms, koko kartan uudelleenpiirto 12â21 ms (mitattu). Alueiden mĂ€ppĂ€ys lasketaan taustasĂ€ikeessĂ€, ei jÀÀdytĂ€ kĂ€yttöliittymÀÀ.
- Dist-kierrokset 988â990 (Jessen kokeilut): (1) exessĂ€ numpy on rikki (paketissa 0 .pyd:tĂ€) â pallo jĂ€i "Ladataan karttaaâŠ" â pallo on nyt numpy-vapaa; (2) "maailma ei ole sininen pallo" â oikean nĂ€köinen maapallo (meri, maat, varjostus, ilmakehĂ€); (3) "pallot menee alakulmaan, ei siihen osavaltioon" â kaupungiton liidi menee alueen keskelle onttona nastana ("kaupunki ei tiedossa"), lokeroon vain jos aluettakaan ei tiedetĂ€; lisĂ€ksi ohjelman mukana kulkee 0,7 MB:n kaupunki-indeksi (245 maata, 33 275 kaupunkia), joten nasta löytÀÀ kaupungin vaikka iso cities.db-komponentti puuttuisi; (4) "ihan karttana ei vĂ€rilĂ€ntti" â maakuntatasolla piirretÀÀn jĂ€rvet ja joet (Natural Earth 10m), kaupungit pisteinĂ€ ja nimineen, naapurialueiden nimet, valittu alue kultareunalla â kartta, ei vĂ€rilĂ€ntti.
- đ Osoite â oikea paikka (Jesse: "osalla leedeistĂ€ on osoite missĂ€ ne on"): nastan sijainti tarkentuu portaittain: liidin oma koordinaatti (OSM/rekisteri) tai katuosoite geokoodattuna (Nominatim taustasĂ€ikeessĂ€, 1 pyyntö/s, pysyvĂ€ vĂ€limuisti, 429-katkaisin, hyvĂ€ksytÀÀn vain ajon maan sisĂ€ltĂ€) â tarkka piste ("neulan kĂ€rki" nastassa, hover nĂ€yttÀÀ osoitteen); ilman osoitetta kaupungin kohdalle; ilman kaupunkia jonnekin lÀÀnin sisĂ€lle (deterministinen piste alueen polygonissa, ontto nasta). Kun syvĂ€rikastus tuo osoitteen, nasta siirtyy oikeaan paikkaan.
- đ FANTOMIAJO #3 (Jesse: "markkinointitoimisto/EtelĂ€-Savo â peruutus â construction company â tuli mainostoimistoja"): peruttu ajo jĂ€tti rikastusjonon (EnrichmentScheduler, oma sĂ€ie: 65 EtelĂ€-Savon rekisterifirmaa) elĂ€mÀÀn; uusi ajo nollasi peruutuslipun ja otti saman jonon kĂ€yttöön â edellisen haun firmat valuivat uuteen listaan sekunti ajon alusta. Nyt peruutus abortoi jonon (jono hylĂ€tÀÀn, kesken olevien tulokset eivĂ€t emitoidu, ei blokkaa), uusi ajo ei koskaan peri edellisen scheduleria, ja rekisteri-/OSM-siemenet saavat hakusanaleiman â StaleRun-portti pudottaa vanhan haun liidit vaikka jokin muu polku vuotaisi. Vahti
_smoke_scheduler_abort_no_phantom.py. - đ SERP-portti per event loop: samasta v990-lokista löytyi 24Ă "Semaphore is bound to a different event loop" â MultiSearchin yhteinen navigointisemafori sitoutui ensimmĂ€iseen looppiin, ja soft-rikastuksen/talousloopin SERP-haut (pÀÀttĂ€jĂ€haku, nimihaku, signaaliprobet) kaatuivat hiljaa. Portti on nyt looppikohtainen (sama 3:n rinnakkaisuusraja). Vahti
_smoke_nav_gate_per_loop.py. - Kaikki muu (lista, paneeli, pankki, laskurit, syvĂ€rikastus) ennallaan â uusi nĂ€kymĂ€ toteuttaa tĂ€smĂ€lleen vanhan tutkan rajapinnan. Uusi vahti
_smoke_globe_view.py(46 tarkistusta: geodata, alue-mĂ€ppĂ€ys, tutkasopimus, sijaintirehellisyys, piirtobudjetti, klikkaus â alue).
đŹđ§ English
- The radar has been replaced by a globe. The centre view is now a rotating Earth showing all 90 supported countries. Click a country â the globe flies in until its regions/states are visible with names; click a region (e.g. Pirkanmaa) â it fills the screen; press HUNT â leads drop onto the map as pins at their cities (Tampere companies swarm around Tampere). HOT pulses, e-mail/decision-maker colours are unchanged, deep-enriching pins get a spinning ring, clicking a pin opens the lead.
- Menus and globe are one truth: a country/region clicked on the globe sets the country and region menus; changing a menu flies the globe. HUNT uses the menus exactly as before. Breadcrumb (đ WORLD âș Finland âș Pirkanmaa), right-click or Esc goes back one level; wheel zooms, drag rotates.
- Real geography: Natural Earth boundaries (177 countries, 4 596 admin-1 areas, public domain) ship with the app (2.2 MB gz). The app's 843 hunt regions in 92 countries were mapped to polygons by measurement: 841/843 got a boundary, all 843 a location; every mapping is validated with the region's own cities before it is accepted.
- No invented locations: a pin lands on the map only when the lead's city is known; otherwise the lead sits in a "đ no location: N" tray (still clickable) and jumps onto the map as soon as enrichment brings the city.
- Light: the map layer is cached while the camera is still â 2 ms per frame, 12â21 ms for a full redraw (measured); region mapping runs in a background thread.
- Dist rounds 988â990: globe made numpy-free (the exe's numpy is broken â map never loaded); realistic Earth look; leads without a city are pinned hollow at the centre of their region ("city unknown") instead of a corner tray; a bundled 0.7 MB city index (245 countries, 33 275 cities) locates pins even without the big cities.db component; region view now draws lakes, rivers, cities with names and neighbouring regions â a map, not a colour blob.
- đ Address â exact spot: pin precision improves in steps â lead's own coordinate or street address geocoded (Nominatim in a background thread, 1 req/s, persistent cache, 429 breaker, accepted only inside the hunt country) â exact point (pin shows a needle tip, hover shows the address); no address â city; no city â a deterministic spot inside the region (hollow pin). When deep enrichment brings the address, the pin moves to the right place.
- đ Phantom run #3: a cancelled hunt left its enrichment queue (EnrichmentScheduler thread with 65 registry firms) alive; the next hunt reset the cancel flag and reused the same queue â the previous keyword's companies leaked into the new list. Cancel now aborts the queue (drop pending, suppress in-flight results, non-blocking), a new run never inherits the previous scheduler, and registry/OSM seeds carry the keyword stamp so the StaleRun gate drops old-run leads on any path.
- đ SERP gate per event loop: the shared navigation semaphore bound itself to the first loop; SERP calls from the soft-enrich/financials loops (decision-maker search, name lookup, signal probes) failed silently with "bound to a different event loop" (24Ă in one log). The gate is now per loop with the same concurrency cap.
- Everything else (list, panel, vault, counters, deep enrich) untouched â the new view implements the old radar's exact interface. New guard
_smoke_globe_view.py(46 checks).
1.0.987
2026-08-181.0.987 - 2026-08-18 - "đą IsĂ€nnöitsijĂ€haku mitattu uudelleen: haku pysyy kĂ€yttĂ€jĂ€n sanassa"
đ«đź Suomi
- Toistoajo "isÀnnöitsijÀn toimisto" / Pirkanmaa (v1.0.986-koodilla, 753 s) paljasti kolme lisÀvikaa, jotka kaikki tekivÀt samaa: haku ajautui mainos-/verkkosivutoimistoihin vaikka kÀyttÀjÀ haki isÀnnöitsijöitÀ.
- đ SERP-kyselyt: hakusanan "intentti" pÀÀteltiin sanasta "toimisto" â web_agency, ja sen natiivitermit ("verkkosivut yritys", "nettisivut toimisto", "digitoimisto", "markkinointitoimisto helsinki", "startup suomi"âŠ) syötettiin hakuun â Pheromone nosti "verkkosivut yritys Tampere" ykköskyselyksi. Tuntematon hakusana sai oletusintentin
consulting_firmja sen konsulttitermit. Nyt natiivitermejĂ€ kĂ€ytetÀÀn vain kun intentti on todistettu kyselystĂ€ (intent_is_evidenced, sama portti kuin GLEIF-nimihaussa); "toimisto"/"yritys"/"palvelu" eivĂ€t ole todiste. Mitattu: isĂ€nnöitsijĂ€haun 72 kyselystĂ€ 0 mainos/verkkosivu/konsultti-kyselyĂ€ (ennen 12+), markkinointitoimisto-haku saa termit ennallaan. - đŻ ICP-portti: jokainen "-toimisto"-hakusana tulkittiin myynti/markkinointitoimisto-ICP:ksi â
asuntopehtoori.fi(Asuntopehtoori IsĂ€nnöinti Oy, 72 sĂ€hköpostia) pudotettiin "industry=real_estate off-ICP" ja kova-negatiivilista (arkkitehti/asianajo/tilitoimisto/yliopisto) olisi pudottanut juuri haetut firmat arkkitehti-/tilitoimistohauissa. Nyt "toimisto" = agency vain agency-vartalon kanssa (mainos-, markkinointi-, digi-, viestintĂ€-âŠ); muuten hakusanan oma TOL-koodi â luokka (isĂ€nnöitsijĂ€âreal_estate, tilitoimisto/asianajo/arkkitehtiâprofessional_services), ja kova-negatiivi ei laukea kun kĂ€yttĂ€jĂ€ hakee juuri sitĂ€ luokkaa. - đ Rekisterin vintage-laajennus toi 6832-hakuun "Buying and selling of own real estate" (68100/70120) ja "Letting of other real estate" (68209): 2-numeroinen nimikeprefiksi (koko pÀÀluokka 68) ei enÀÀ laajene tarkkaan hakuun.
- đ·ïž OFF-INDUSTRY-portti tuntee nyt sanan "isĂ€nnöitsij" (realestate) â Solita/Pareto Software -tyyppinen SERP-kohina putoaa isĂ€nnöintihausta.
- đ§š SUURIN LĂYDĂS (ajo 2): maa-adapterille (PRH) meni JOKA HAUSSA agency-oletuslista. Koodi yritti hakea "kysyntĂ€termit" funktiosta jota ei ole olemassa (
_get_demand_terms) â poikkeus â varalistamyyntitoimisto, markkinointi, mainostoimisto, konsultointi, agentuuriajettiin PRH-nimihakuna jokaisessa suomalaisessa haussa hakusanasta riippumatta (ja vastaavat listat SE/NO/DK/DE/FR/IT/ES/US/GBâŠ). Mitattu: isĂ€nnöintihakuun tuli 99 + 19 mainos-/markkinointifirmaa PRH:sta ("Markkinointitoimisto Expression Oy", "Mainostoimisto Sireeni Oy"âŠ). Nyt: kun hakusana nimeÀÀ toimialan, adapterille menee sana itse + saman TOL-luokan vartalot (isĂ€nnöitsijĂ€ â isĂ€nnöin/isĂ€nnöintitoimisto; tilitoimisto â kirjanpito/taloushallinto; kuntosali â fitness/kuntokeskus). Agency-lista jÀÀ vain aidoille ostaja-/tuotehauille ("outbound agency b2b", "crm"). - đ§ Kyselymallit: "{hakusana} software" (tuotesanamalli) ei enÀÀ lisĂ€tĂ€ toimialasanalle;
intitle:"isÀnnöitsijÀn toimisto toimisto"-tuplasana pois. - Vahti
_smoke_panel_truth_2026_08_18laajennettu (85 tarkistusta), ICP-/kysely-smoket vihreÀt.
đŹđ§ English
- Re-measured hunt "isĂ€nnöitsijĂ€n toimisto" / Pirkanmaa exposed three more defects that all pushed the search toward web/marketing agencies: (1) native intent terms were injected on an unproven intent (the word "toimisto" â web_agency; unknown keywords â default consulting_firm) â now used only when the intent is evidenced by the query; (2) the ICP gate treated every "-toimisto" keyword as a sales/marketing-agency ICP and dropped a real property manager as "off-ICP" â the keyword's own TOL code now decides the target class and the hard-negative list never fires against the class being hunted; (3) registry vintage expansion let a 2-digit label prefix (68 real estate) expand into a precise 6832 search; (4) biggest: the country adapter (PRH) received a default agency term list on every hunt because a helper import always failed â now an industry-naming keyword goes to the adapter as itself plus same-TOL stems, and the generic B2B list is reserved for genuine buyer/product keywords. Vertical gate learns "isĂ€nnöitsij"; product-style "{kw} software" query template no longer applied to industry keywords.
1.0.986
2026-08-181.0.986 - 2026-08-18 - "đ§Ÿ Paneelin totuussiivous · WA-viesti oikein · isĂ€nnöitsijĂ€haku löytÀÀ isĂ€nnöitsijĂ€t"
đ«đź Suomi
- đŹ Oma WhatsApp-viesti nĂ€kyi muodossa "lĂ€hestyn ⊠tÀÀ ⊠vĂ€hĂ€n". Juurisyy: Asetukset-vĂ€lilehti luki
atlasforgex_config.json:n ilman merkistöÀ (Windowsin cp1252) â Ă€/ö muuttuivat muistissa mojibakeksi ja tallennus kirjoitti ne pysyvĂ€sti levylle. Nyt config luetaan ja kirjoitetaan UTF-8:na, jo pilaantunut viesti paranee automaattisesti sekĂ€ asetuksissa ettĂ€ WhatsApp-linkissĂ€ (jaettunet_charset.heal_mojibake), ja tĂ€mĂ€n koneen config korjattiin heti. - đ§Ÿ "[email_name_extraction]" ATLAS SANOO -rivillĂ€. Faktan lĂ€hde oli ohjelman sisĂ€inen koneavain. Nyt lĂ€hteillĂ€ on nĂ€yttönimi (kaupparekisteri, LinkedIn, yrityksen kotisivu, verkkohaku, sĂ€hköpostiosoiteâŠ), URL nĂ€ytetÀÀn hostina ja tuntematon koodisana jĂ€tetÀÀn pois. SĂ€hköpostiosoitteesta pÀÀtelty pÀÀttĂ€jĂ€n nimi ei enÀÀ vĂ€itĂ€ "tiedĂ€t kuka pÀÀttÀÀ" vaan "Nimi pÀÀteltiin sĂ€hköpostiosoitteesta â varmista ennen soittoa" (ei arvausta faktana).
- đą "1 työntekijÀÀ · 1 sĂ€hköpostia · 1 puhelinnumeroa". KÀÀnnöskerros valitsee nyt yksikkömuodon automaattisesti kun luku on 1 (55 laskuritekstiĂ€ fi/en/ru: 1 työntekijĂ€, 1 sĂ€hköposti, 1 liidi, 1 employeeâŠ).
- đ·ïž Firman nimenĂ€ "Palvelua yllĂ€pitÀÀ Linnan Kehitys Oy". Hakutuloksesta poimittu nimi nielaisi lauseen alun juridisen muodon edestĂ€. Nimeksi otetaan nyt vain nimimĂ€isten sanojen jono ennen Oy/Ab/Ltd/GmbH⊠â "Linnan Kehitys Oy", "Acme Widgets Ltd", "iLOQ Oy". Kaikkien maiden sÀÀntö.
- đ”ïž VÀÀrĂ€ Y-tunnus "sisĂ€ltövarmennettuna". linnaoona.fi sai kampaamon (Linna Style Oy) Y-tunnuksen ja liikevaihdon, koska sivun sisĂ€ltövarmennus teki sanoja raa'asta HTML:stĂ€ â
alt="Oona Linna" style=âŠluki "linna style". Varmennus tehdÀÀn nyt nĂ€kyvĂ€stĂ€ tekstistĂ€ (tagit ja script/style pois). - đą Haku "isĂ€nnöitsijĂ€n toimisto" (Pirkanmaa) toi 1 500 vÀÀrÀÀ firmaa (mainos-, tili-, laki-, matka- ja arkkitehtitoimistoja). Sanaston vartalo "isĂ€nnöin" ei osunut sanaan "isĂ€nnöitsijĂ€", jolloin geneerinen "toimisto"-Ă€mpĂ€ri (7 toimialaa) tĂ€ytti rekisterihaun. Korjattu:
isĂ€nnöitsij*â TOL 6832 (Pirkanmaan rekisterissĂ€ 119 isĂ€nnöintifirmaa), ja geneerinen Ă€mpĂ€ri saa tĂ€yttÀÀ haun vain kun kysely on kĂ€ytĂ€nnössĂ€ pelkkĂ€ sana "toimisto" â tuntematon sisĂ€ltösana ("xyzzy toimisto") ei enÀÀ tuota 1 500 vÀÀrÀÀ vaan jĂ€ttÀÀ haun SERPille ja nimihaulle. - đ Toimiala UI:n kielellĂ€. "All other miscellaneous professional, scientific and technical activities n.e.c." ja "marketing_agency" nĂ€kyivĂ€t suomenkielisessĂ€ paneelissa. Rekisteri-ingest tallensi nimikkeen satunnaisella kielellĂ€ (samassa fi.db:ssĂ€ fi/sv/en sekaisin), joten nimike kÀÀnnetÀÀn nyt koodista: Tilastokeskuksen TOL 2008 + TOL 2025 + TOL 2002 -taulu (fi/en/sv,
data/tol2008_labels.json) â 74999 â "Muualla luokittelematon ⊠ammatillinen, tieteellinen ja tekninen toiminta", 68320 â "Kiinteistöjen isĂ€nnöinti". Sama taulu palvelee kaikkia NACE-pohjaisia maita 4-numerotasolla; koneavaimet (marketing_agency â Markkinointitoimisto, law_firm â Asianajotoimisto) kÀÀnnetty. Paneeli ja lista kĂ€yttĂ€vĂ€t samaaindustry_label-funktiota. - đź gmail-osoite "Rooli-verifioitu â tiimin postilaatikko". Henkilömuotoinen osoite eri verkkotunnuksella saa rehellisen nĂ€yttönimen: "Henkilökohtainen osoite (eri verkkotunnus) â MX varmennettu". Pisteytys ei muutu.
- Uusi vahti
_smoke_panel_truth_2026_08_18(67 tarkistusta, masterin portissa) â jokainen kohta oli FAIL ennen korjausta.
đŹđ§ English
- đŹ The user's own WhatsApp message rendered as "lĂ€hestyn". Root cause: the Settings tab read the config without an encoding (Windows cp1252), turning Ă€/ö into mojibake that the next save persisted. Config is now read/written as UTF-8 and already-corrupted text is healed on read (shared
net_charset.heal_mojibake). - đ§Ÿ "[email_name_extraction]" leaked into the ATLAS SAYS card. Sources now have display names (business register, LinkedIn, company website, web search, email addressâŠ), URLs show as hosts, unknown machine keys are hidden. A decision-maker name inferred from an email address is labelled as such ("confirm before you call") instead of "you know who decides".
- đą "1 employees / 1 emails" â the translation layer picks the singular form automatically when the count is 1 (55 strings, fi/en/ru).
- đ·ïž Company name "Palvelua yllĂ€pitÀÀ Linnan Kehitys Oy" â the legal-suffix extractor swallowed the sentence start; the name is now the run of name-like words right before Oy/Ltd/GmbH⊠(all countries).
- đ”ïž Wrong business ID "content-verified" â verification tokenised raw HTML, so
alt="Oona Linna" style=âŠread as "linna style" and linked a hairdresser's ID (and revenue) to a marketing consultant. Verification now uses visible text only. - đą Hunt "isĂ€nnöitsijĂ€n toimisto" returned 1,500 wrong companies â vocabulary stem miss + the generic "toimisto" bucket (7 unrelated industries) filled the registry search. Fixed the stem (â TOL 6832) and the bucket only applies when the query is essentially the bare generic word.
- đ Industry in the UI language â registry labels are translated from the code via a bundled TOL 2008/2025/2002 table (fi/en/sv), which also serves every NACE-based country at 4-digit level; machine keys (marketing_agency) are translated. Panel and list share one
industry_label. - đź Personal off-domain email (gmail) no longer labelled "team inbox".
- New guard
_smoke_panel_truth_2026_08_18(67 checks, in the master gate).
1.0.985
2026-08-181.0.985 - 2026-08-18 - "đ€ Voitetulla kaupalla on nyt paikka - yhteystiedot eivĂ€t katoa"
đ«đź Suomi
- đ€ DEAL-napin painaminen ei enÀÀ hukannut asiakasta. Jesse: *"kun asiakas painaa deal vihreĂ€ nappi ni mihin se menee? sillĂ€ pitÀÀ olla paikka mihin menee! jotta tarvittaessa voi soittaa ja olla yhteydessĂ€!"* â MITATTU asiakkaan koneelta: pÀÀtösmerkintĂ€ sisĂ€lsi vain
status/company/country/gap_ids/score/ts(ei sĂ€hköpostia, ei puhelinta, ei pÀÀttĂ€jÀÀ), DEAL arkistoi liidin listalta, ja kumpikaan kirjatuista DEAL-domaineista ei ollut edes liidipankissa. MAYBE LATER:lla oli oma paikkansa pĂ€ivĂ€n työlistassa â voitetulla kaupalla ei mitÀÀn. - Nyt kauppa tallentuu kahteen toisistaan riippumattomaan paikkaan: (1) pÀÀtöksen mukana talletetaan kontaktivedos â sĂ€hköposti, puhelin, pÀÀttĂ€jĂ€ + titteli, kaupunki/alue ja verkkotunnus; (2) liidi varmistetaan liidipankkiin (tĂ€ydet yhteystiedot, pÀÀttĂ€jĂ€t ja aktiviteettihistoria).
- đ Kaupat nĂ€kyvĂ€t pĂ€ivĂ€n työlistassa omalla rivillÀÀn: "đ€ KAUPPA â merkitty 2 pv sitten · pidĂ€ yhteyttĂ€", ja rivillĂ€ lukee suoraan yhteystieto ("đ€ Matti MeikĂ€lĂ€inen (tj) · đ +358⊠· đ§ myynti@âŠ") â soittaminen ei vaadi liidin avaamista. Rivi on listan lopussa eikĂ€ kilpaile kiireellisten kanssa, mutta on aina löydettĂ€vissĂ€. RiviĂ€ klikkaamalla liidi aukeaa normaalisti.
- Vanhat merkinnÀt toimivat ennallaan (kontaktikenttÀ on valinnainen), eikÀ pisteytys tai palautteen tallennus muutu.
- Uusi vahti
_smoke_deal_destination(28 tarkistusta) varmistaa ettÀ yhteystiedot tallentuvat, kauppa saa rivinsÀ ja rivin teksti on kÀÀnnetty kolmelle kielelle.
đŹđ§ English
- đ€ Pressing DEAL no longer loses the customer. Measured on the customer's machine: the decision entry held only status/company/country/score/ts â no email, no phone, no decision maker â while DEAL archived the lead from the list, and neither recorded DEAL domain was even in the lead bank. MAYBE LATER had a place in the daily worklist; a won deal had none.
- A deal is now stored in two independent places: a contact snapshot with the decision (email, phone, decision maker + title, city/region, website) and a guaranteed upsert into the lead bank (full contacts and activity history).
- đ Deals appear in the daily worklist as their own row ("đ€ DEAL â closed 2 d ago · keep in touch") with the contact details shown inline, so calling back needs no extra clicks. The row sits at the end of the list but is always findable.
- New guard
_smoke_deal_destination(28 checks).
1.0.984
2026-08-181.0.984 - 2026-08-18 - "đš Liidi ei auennut - korjattu · liidipaneeli kokonaan suomeksi"
đ«đź Suomi
- đš KRIITTINEN KORJAUS: liidi ei auennut lainkaan. Tutkasta klikattu liidi antoi virheen "LiidiĂ€ ei voitu avata - katso loki" (7 kertaa asiakkaan lokissa). Juurisyy oli eilisessĂ€ piste-erittelyn korjauksessa: erittely on vapaamuotoinen kenttĂ€ johon erĂ€s tuottaja kirjoittaa myös TEKSTIĂ (
'kept previous higher score'), ja lukija odotti pelkkiĂ€ lukuja âValueErrorkaatoi koko paneelin rakentamisen. Nyt jokainen erittelyarvo luetaan puolustavasti ja koko kenttĂ€ normalisoidaan kerran (myös JSON-merkkijono ja lista) â diagnostiikkaruutu ei voi enÀÀ estÀÀ liidin avaamista. Vahti kokeilee 7 eri muotoa. - đ«đź Liidipaneeli mitattiin kieleltĂ€ lĂ€pikotaisin â renderöitiin oikealla syvĂ€rikastetulla liidillĂ€ ja luettiin jokainen nĂ€kyvĂ€ teksti: 12 englanninkielistĂ€ kohtaa â 0. Korjatut: myyntipÀÀtösnapit (KAUPPA / EI KAUPPAA / EHKĂ MYĂHEMMIN), Kopioi sĂ€hköpostit, LĂ€hetĂ€ sĂ€hköposti, MyyntitiivistelmĂ€, Tallenna muistiinpano, "1 varmennettu suora yhteystieto", KULTAKAIVOS- ja YLEISET-otsikot.
- đ§ Avausviesti oli englanniksi suomalaiselle firmalle. Paneelin 10 viestikulmaa olivat kovakoodattuja englanninkielisiĂ€ lauseita, vaikka sama ohjelma lĂ€hettÀÀ varsinaisen kylmĂ€postin suomeksi â myyjĂ€ siis nĂ€ki eri kielisen viestin kuin mitĂ€ lĂ€htee. Kaikki kulmat kÀÀnnetty (rahoitus, johdon vaihdos, rekry, ICP-osuma, suora kontakti, puute, pieni tiimi, teknologia, henkilökohtainen, toimialaosuma).
- đ¶ Liidikortin talousrivi ("Revenue âŹ32 000 (2025) · profit 12.5 % · equity ratiâŠ") kÀÀntyy nyt myös kortilla: "Liikevaihto 32 000 ⏠(2025) · tulos 12,5 % · omavaraisuus 83 %". Kortti renderöi labelit aiemmin raakana ohi kÀÀnnöskerroksen.
- đ MARKKINAKONTEKSTI: palvelimen englanninkielistĂ€ narratiivia ei enÀÀ nĂ€ytetĂ€ suomenkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€ â sama tieto rakennetaan palvelimen rakenteisista kentistĂ€ (artikkelimÀÀrĂ€, vaikutusikkuna, sĂ€vy, lĂ€hteet). Samat luvut, ei kÀÀnnösarvausta. Signaalityypit suomeksi (Työmarkkinat, Yritysten kasvu, Yritysten vaikeudet).
- ⥠"Miksi nyt" -rivin sirpaleet (PÀÀttÀjÀ: · SÀhköposti: · Teknologia: · Rekrytoi · Uutinen 5 pv sitten) kÀÀnnetÀÀn nÀytettÀessÀ.
- Mitattu lopputulos: suomenkielisessÀ paneelissa 0/0 englanninkielistÀ tekstiÀ oikealla syvÀrikastetulla liidillÀ; englanninkielinen ja venÀjÀnkielinen kÀyttöliittymÀ renderöityvÀt ennallaan.
đŹđ§ English
- đš CRITICAL FIX: leads would not open at all. Clicking a lead on the radar produced "could not open lead - check the log" (7 times in the customer log). Root cause was yesterday's score-breakdown change: the breakdown is a free-form field and one producer writes TEXT into it (
'kept previous higher score'), while the reader expected numbers â aValueErrorkilled the whole panel build. Every value is now read defensively and the field is normalised once (JSON string and list included) â a diagnostics box can never block opening a lead again. - đ«đź The lead panel was audited for language by rendering a real deep-enriched lead and reading every visible string: 12 English spots â 0. Sales decision buttons, copy/send/brief/note buttons, contact lines and section headers are translated.
- đ§ The opening message was English for a Finnish company even though the actual cold email is composed in Finnish â all 10 message angles now come from the translations.
- đ¶ The card's financial line and đ the market-context block (rebuilt from the server's structured fields instead of its English prose) are localized, as are the why-now chips.
1.0.983
2026-08-181.0.983 - 2026-08-18 - "đ«đź KĂ€yttöliittymĂ€ suomeksi: napit, sĂ€hköpostikkuna ja liidipaneeli"
đ«đź Suomi
- đ«đź Moodinapit olivat kovakoodattua englantia. BUYER · đ GOLDMINE · đ„ SILVER nĂ€kyivĂ€t englanniksi suomenkielisessĂ€kin kĂ€yttöliittymĂ€ssĂ€, vaikka samojen nappien työkaluvihjeet olivat jo kÀÀnnetty. Nyt: OSTAJAT · đ KULTAKAIVOS · đ„ HOPEA â ja nappien leveys lasketaan tekstistĂ€, joten pidemmĂ€t suomen sanat eivĂ€t katkea kolmeen pisteeseen.
- ⥠HUNT â HAE (ja "HUNTAAâŠ" â "HAKEEâŠ").
- đ§ SĂ€hköpostin lĂ€hetysikkuna suomeksi: otsikko, "Vastaanottaja:", vĂ€lilehdet "đ§ HTML-esikatselu" / "đ Muokkaa tekstiĂ€", "đ LiitĂ€ kuva", "đ€ LĂ€hetĂ€ Atlaksella", "Kieli:", "Peruuta" â ja kielen nimi nĂ€ytetÀÀn kĂ€yttĂ€jĂ€n kielellĂ€ ("suomi", ei "Finnish").
- đ Liiditaulukko ja tilat suomeksi: SYVĂRIKASTUS, VERKKOTUNNUS, KULTAKAIVOS, đ KULTA, KUUMA LIIDI, ODOTTAA, đ€ PĂĂTTĂJĂ, "Klikkaa riviĂ€ â tiedot + SYVĂRIKASTUS", "Rikastetaan⊠tuoretta dataa tulossa".
- đ EnsikĂ€ynnistyksen kysymykset ja asetukset suomeksi ("MikĂ€ on yrityksesi nimi?", "EntĂ€ sinun nimesi?", "Ohita esittely", "Puhelinnumeron ID", "KĂ€yttöoikeustunnus (token)"), samoin HOPEAKAIVOS-moodin selitys joka oli jÀÀnyt kokonaan englanniksi.
- đ Uusi vahti
_smoke_ui_finnish_coveragepitÀÀ huolen ettei sama pÀÀse toistumaan: se vaatii ettÀ moodinapit ja HUNT tulevat kÀÀnnöksistÀ, ettÀ kÀÀnnetyt avaimet eivÀt ole identtisiÀ englannin kanssa, ettÀ kaikki kolme kielitiedostoa sisÀltÀvÀt samat avaimet ja ettei kÀÀnnös keksi placeholderia jota koodi ei anna (se kaataisi rivin ajossa). - Mitattu: fi.json:sta löytyi 57 avainta joiden arvo oli identtinen englannin kanssa; niistÀ 31 oli aitoja kÀÀnnösaukkoja (loput ovat tuotenimiÀ, lyhenteitÀ tai pelkkiÀ muuttujia kuten "RAM: {mb} MB"). Kaikki 31 kÀÀnnetty. Kielitiedostot: 1 975 avainta kussakin, 0 puuttuvaa, 0 rikkinÀistÀ placeholderia.
đŹđ§ English
- đ«đź The mode buttons were hardcoded English (BUYER · GOLDMINE · SILVER) even in the Finnish UI; they now come from the translations, and button width is measured from the text so longer words are not clipped.
- The send-email dialog, the lead table states, the first-run questions and the WhatsApp settings are now translated, including the language name shown in the badge.
- Measured: 57 keys in fi.json were identical to English; 31 were real gaps and are now translated. All three language files carry the same 1,975 keys with no broken placeholders.
- New guard
_smoke_ui_finnish_coveragefails the build if a UI label is hardcoded again or a translation goes missing.
1.0.982
2026-08-181.0.982 - 2026-08-18 - "⥠SyvÀrikastus ei enÀÀ junnaa · Atlas yhdistÀÀ signaalit yhdeksi lauseeksi"
đ«đź Suomi
- ⥠SyvĂ€rikastus oli hidas kolmesta mitatusta syystĂ€ â kaikki korjattu. Mitattu asennetun appin lokista 18.8. yhdestĂ€ oikeasta SyvĂ€rikastuksesta (printteam.fi, klo 08:37:30â08:39:47 = 137 s):
- 70 % ajasta (96 s) meni hakukoneisiin, 30 timeoutia. PÀÀttĂ€jĂ€haku ajoi 8 kyselyĂ€ PERĂKKĂIN â ja niistĂ€ 5 kysyi samaa asiaa eri sanoilla ("X Oy" toimitusjohtaja · site:x.fi toimitusjohtaja · "X Oy" tj · site:x.fi tj). Nyt kyselyt ajetaan aalloissa rinnakkain (3 kerrallaan) ja koko vaiheella on aikakatto: seinĂ€kello = hitain kysely, ei kyselyiden summa. Testattu: 8 kyselyĂ€ Ă 2 s = 16 s sarjassa â 6 s aalloissa.
- Kotisivun crawl jatkoi 20 siemenen hakemista hostille jonka katkaisija oli JO todennut hitaaksi (loki: "HostBreaker printteam.fi suljettu 120 s (2 aikaa polttanutta yritystĂ€)" klo 08:38:09 â ja crawl jatkui klo 08:39:37 asti). DiscoveryLayer ei kysynyt katkaisijalta mitÀÀn. Nyt kysyy, ja kertoo Done-rivillĂ€ montako siementĂ€ ohitettiin.
- TalouslĂ€hteen katkaisija oli sokea. Hunt-lokista: 113 Ă Timeout(20 s) asiakastieto ja 0 onnistunutta tuoretta hakua â lĂ€hde oli koko ajon alhaalla, silti sitĂ€ kysyttiin 113 kertaa. Juurisyy: katkaisija laski vikoja vain kohdassa jossa haku ehtii palauttaa tyhjĂ€n, mutta 20 s aikakatko perui koko kutsun ennen sitĂ€ â laskuri pysyi nollassa. Nyt vika kirjataan siellĂ€ missĂ€ se havaitaan, ja kuollut lĂ€hde ohitetaan ajon loppuosan (merkitÀÀn rehellisesti "ei ehditty katsoa", ei "ei tietoa").
- đ Atlas yhdistÀÀ nyt signaalit yhdeksi lauseeksi. ATLAS SANOO -lohkoon tuli rivi joka tekee pÀÀttelyn myyjĂ€n puolesta: *"Liikevaihto 2,4 M⏠(2025, +34 %) + PÀÀttĂ€jĂ€: Mikko Virtanen â maksukykyinen ja pÀÀttĂ€jĂ€ tiedossa"*. YhdistelmĂ€ valitaan kahden vahvimman ERI ryhmĂ€n todisteesta. Varoitussignaali ei kÀÀnny myönteiseksi: tappiollinen firma saa *"toinen nĂ€istĂ€ on varoitus - lue se ennen kuin panostat"*.
- đïž Liidipaneeli luetaan nyt ylhÀÀltĂ€ alas yhtenĂ€ tarinana. Mitattu jĂ€rjestys oli sekava: kuusi eri lohkoa vastasi samaan kysymykseen "miksi" eri sanoin, ja niiden vĂ€lissĂ€ olivat yhteystiedot ja viesti. Uusi jĂ€rjestys: otsikko â ATLAS SANOO (pÀÀtös + yhdistetty lause + 3 perustelua + seuraava teko) â pÀÀttĂ€jĂ€t ja avausviesti â KAIKKI SIGNAALIT â ââ LISĂTIEDOT ââ ja sen alle kaikki diagnostiikka (piste-erittely, kasvupisteet, todistemÀÀrĂ€, yrityksen ikĂ€). MitÀÀn ei poistettu â kaikki nĂ€kyy edelleen, mutta oikeassa jĂ€rjestyksessĂ€.
- â
Smoke-portti ajettu koko koodille; uudet vahdit
_smoke_deep_speed_brakes(3 jarrua) ja laajennettu_smoke_lead_verdict(yhdistetty lause + lukujÀrjestys).
đŹđ§ English
- ⥠Deep Enrich was slow for three measured reasons â all fixed. Measured from the installed app's log on 18.8., one real Deep Enrich (printteam.fi, 137 s):
- 70 % of the time (96 s) went to search engines, 30 timeouts. The decision-maker lookup ran 8 queries SEQUENTIALLY, five of them asking the same thing in different words. They now run in parallel waves (3 at a time) with a wall-clock budget: 16 s serial â 6 s in waves in the test.
- The website crawl kept fetching 20 seeds from a host the breaker had already flagged as slow. DiscoveryLayer never asked the host breaker. Now it does, and reports how many seeds were skipped.
- The financial-source breaker was blind. From the hunt log: 113 Ă Timeout(20 s) on asiakastieto with 0 successful fresh lookups â the source was down for the whole run and was still asked 113 times. Root cause: failures were only counted inside the fetch, but the 20 s cap cancelled the call before it got there. The timeout is now recorded where it is observed.
- đ Atlas now connects the signals into one sentence â *"Revenue âŹ2.4M (2025, +34 %) + Decision maker: Mikko Virtanen â they can pay and you know who decides"*. A warning signal never turns into a positive claim.
- đïž The lead panel now reads top to bottom as one story: header â WHAT ATLAS SAYS â decision makers and opening message â ALL SIGNALS â ââ MORE DETAIL ââ with all diagnostics below it. Nothing was removed, only ordered.
- â
Full smoke gate run; new guard
_smoke_deep_speed_brakesplus extended_smoke_lead_verdict.
1.0.981
2026-08-171.0.981 - 2026-08-18 - "đ§ ATLAS SANOO: yksi selkeĂ€ vastaus siihen miksi tĂ€tĂ€ firmaa pitÀÀ lĂ€hestyĂ€ NYT"
đ«đź Suomi
- đ§ Uusi ATLAS SANOO -lohko heti liidin ylĂ€osaan. Yksi pÀÀtös (LĂHESTY NYT / KANNATTAA LĂHESTYĂ / TUTKI ENSIN), enintÀÀn 3 perustelua ja jokaisessa sama kolmiosainen muoto: mitĂ€ data sanoo â mitĂ€ se myyjĂ€lle tarkoittaa â mistĂ€ se on luettu (klikattava lĂ€hde + todisteen ikĂ€, esim. "5 pv sitten"). Alla seuraava teko ("Soita: Miikka") ja rehellisyysrivi "Atlas tarkisti 14 signaalityyppiĂ€ · löysi 8 · ei löytynyt: uutisia, rekry-ilmoituksia". Ei uutta pisteytystĂ€ eikĂ€ uutta dataa - sama tieto, ensimmĂ€istĂ€ kertaa yhdistettynĂ€.
- đ Miksi tĂ€mĂ€ tehtiin (mitattu liidipankista 18.8., 348 liidiĂ€): "miksi nyt" -rivistĂ€ 0/348 sisĂ€lsi mitÀÀn ajallista - rivi lupasi *nyt*, muttei kertonut milloin mitÀÀn tapahtui. 152/348 rivistĂ€ kertoi pelkkÀÀ yhteystietoa ("1 phone(s)", "Email: info@âŠ"). 1 645 signaalirivistĂ€ 0 oli sidottu pisteisiin tai seuraavaan tekoon. Vastaus oli hajallaan kahdeksassa eri lohkossa jotka kaikki vastasivat samaan kysymykseen.
- đ Sama tilinpÀÀtös ei enÀÀ toistu viitenĂ€ rivinĂ€. Mitattu: 600 talousriviĂ€, 127 liidillĂ€ â„2 riviĂ€ samasta tilinpÀÀtöksestĂ€ (pahin 6 riviĂ€ samasta luvusta eri muotoiluina: "404 kâŹ" ja "404 000" ja "-24 %" ja "-23,9 %"). Nyt luvut normalisoidaan ja kĂ€rkirivin jo kertoma jĂ€tetÀÀn toistamatta - rivimÀÀrĂ€ 1 592 â 935 (-41 %), p90 9 â 5 riviĂ€. MitÀÀn ei pudoteta: kaikki mikĂ€ katosi listalta, lukee ylhÀÀllĂ€.
- đïž AVAINSIGNAALIT â KAIKKI SIGNAALIT, ryhmiteltynĂ€: â± MIKSI NYT · đ° MAKSUKYKY · đŻ MITĂ HE TARVITSEVAT · đ€ KUKA PĂĂTTĂà · đ§© KEITĂ HE OVAT · đ MITEN TAVOITAT. Ei enÀÀ tasalistaa jossa rekry, tase ja palvelinohjelmisto ovat perĂ€kkĂ€in samannĂ€köisinĂ€.
- 𧟠PisteillÀ on taas perustelu. Mitattu: pisteiden erittely oli tallessa 348/348 pankkirivillÀ mutta palautui liidille 0/348 - PISTE-ERITTELY-palkit eivÀt piirtyneet kertaakaan, ja luku (esim. 52/100) esitettiin ilman yhtÀÀn riviÀ siitÀ mistÀ se muodostuu. Nyt erittely palautuu myös vanhoille riveille ilman uutta ajoa, ja palkit osaavat molemmat erittelymuodot ("PÀÀttÀjÀ +15", "Henkilökohtainen sÀhköposti +20").
- đ SyvĂ€rikastus ei enÀÀ palauta poistettuja valheita. KonkurssivĂ€ite ilman klikattavaa todistetta ja rekryvĂ€ite ilman todellista ilmoitusta oli suljettu ensirenderistĂ€ (30.7. / 11.6.), mutta SyvĂ€rikastus-napin jĂ€lkeen rakennettu nĂ€kymĂ€ oli oma koodipolkunsa ilman noita portteja - sama vĂ€ite ilmestyi takaisin napin painalluksella. Molemmat polut kulkevat nyt yhden jaetun renderöijĂ€n lĂ€pi.
- đ Listan "SIGNAALI & MIKSI NYT" -sarake kertoo saman kuin liidi. Sarake nĂ€ytti eri asiaa kuin auki klikattu liidi; nyt molemmat lukevat saman perustelun, sarakkeeseen tulee myös todisteen ikĂ€ - ja sarake laskee 12Ă nopeammin (1,74 ms â 0,14 ms per liidi).
- đ Sekakieliset signaalirivit korjattu. Pankkiin tallennettu suomenkielinen signaali jĂ€i englanti-UI:hin suomeksi englanninkielisten rivien sekaan (mitattu 53 liidillĂ€). KÀÀnnös palautetaan nyt ensin lĂ€htökielelle - EN 53 â 31, FI â 10, RU â 1 liidiĂ€.
- â
Smoke-portti ajettu: 1 003 testiÀ, 8 vikaa löydetty ja korjattu, uusi vahti
_smoke_lead_verdict(49 tarkistusta). Paneeli renderöity oikealla pankkidatalla kaikilla kolmella kielellÀ.
đŹđ§ English
- đ§ A new WHAT ATLAS SAYS block at the top of every lead. One verdict (APPROACH NOW / WORTH APPROACHING / RESEARCH FIRST), at most 3 reasons, each in the same three-part shape: what the data says â what it means for the seller â where it was read (clickable source + age of the evidence, e.g. "5 d ago"). Below it the next action ("Call Miikka") and an honesty line: "Atlas checked 14 signal types · found 8 · not found: news, job postings". No new scoring and no new data - the same facts, connected for the first time.
- đ Why (measured from the lead bank on 18.8., 348 leads): 0/348 "why now" lines contained anything temporal - the line promised *now* but never said when anything happened. 152/348 described contact data only ("1 phone(s)", "Email: info@âŠ"). 0 of 1,645 signal rows were tied to the score or to a next action. The answer was scattered across eight separate blocks all answering the same question.
- đ The same financial statement no longer appears as five rows. Measured: 600 financial rows, 127 leads with â„2 rows from one statement (worst case 6 rows of the same figure in different formats). Numbers are now normalised and whatever the headline already said is not repeated - rows 1,592 â 935 (-41 %), p90 9 â 5. Nothing is discarded: everything removed from the list is stated at the top.
- đïž KEY SIGNALS â ALL SIGNALS, grouped: â± WHY NOW · đ° ABILITY TO PAY · đŻ WHAT THEY NEED · đ€ WHO DECIDES · đ§© WHO THEY ARE · đ HOW TO REACH.
- đ§ź The score is explained again. The breakdown was stored on 348/348 bank rows but restored to the lead on 0/348 - the bars never rendered and the number was shown with no reasoning at all. It now returns for old rows too, and the bars understand both breakdown formats.
- đ Deep Enrich no longer resurrects removed claims. A bankruptcy claim without clickable proof and a hiring claim without a real posting were gated out of the first render (30.7. / 11.6.), but the view rebuilt after the Deep Enrich button was a separate code path without those gates. Both paths now go through one shared renderer.
- đ The list column tells the same story as the lead (and computes 12Ă faster: 1.74 ms â 0.14 ms per lead).
- đ Mixed-language signal rows fixed (EN 53 â 31 leads, FI â 10, RU â 1).
- â
Smoke gate run: 1,003 tests, 8 failures found and fixed, new guard
_smoke_lead_verdict(49 checks). Panel rendered against real bank data in all three languages.
1.0.980
2026-08-171.0.980 - 2026-08-18 - "đĄ Verkkovahti: Atlas kertoo kun vika on verkossa, ei ohjelmassa"
đ«đź Suomi
- đĄ Ajon aikainen verkkovahti. 17.8. illalla koneen verkkoreitti Suomen palvelimiin (myös omaan pĂ€ivityspalvelimeen) katkesi kesken ajon; Atlas jatkoi, jokainen kotisivu nĂ€ytti kuolleelta, ja kĂ€yttĂ€jĂ€ nĂ€ki vain "jumin". Nyt haku seuraa omaa liikennettÀÀn: kun monta eri palvelinta katkeaa samaan aikaan, ohjelma tekee yhden halvan tarkistuksen (oma palvelin + kaksi julkista) ja erottaa kaksi tapausta - VERKKOKATKO (kontrollikaan ei vastaa â selkeĂ€ ilmoitus syötteeseen "tarkista verkko/reititin") ja kohdepalvelimet (oma verkko toimii â vain loki). Palautuminen ilmoitetaan. Lokiin
[NetWatch]. - đ©ș Master (terveystarkastus) tutkii yhteydet samalla kontrollilla: TCP oma palvelin + 1.1.1.1 + 8.8.8.8, asiakastieto.fi suoraan, PRH, Qwant, Google, proxy-otos, versiopalvelin, Kimiko - ja lukee ajon lokista, oliko verkkovahti hĂ€lyttĂ€nyt. Ilman tĂ€tĂ€ "Google vastaa" ei todistanut mitÀÀn Suomen palvelimista.
- đ©ș Masterin mittarit eivĂ€t enÀÀ hĂ€lytĂ€ toistoajosta (pankki ohittaa tutut â 0 uutta osumaa on normaali) eivĂ€tkĂ€ testipalvelinten (127.0.0.1) yrityksistĂ€.
đŹđ§ English
- đĄ A network watchdog during the run. On the evening of 17.8. the machine's network route to Finnish servers (including our own update server) broke mid-run; Atlas kept going, every website looked dead and the user only saw a "stall". The search now watches its own traffic: when many different servers fail at once, the app runs one cheap check (own server + two public ones) and separates two cases - NETWORK OUTAGE (even the control fails â a clear notice in the feed "check network/router") and target servers (own network fine â log only). Recovery is announced. Log tag
[NetWatch]. - đ©ș Master (health check) tests connectivity with the same control: TCP to own server + 1.1.1.1 + 8.8.8.8, asiakastieto.fi directly, PRH, Qwant, Google, proxy sample, version server, Kimiko - and reads the run log for watchdog alerts. Without this "Google answers" proved nothing about Finnish servers.
- đ©ș Master metrics no longer alarm on repeat runs (the bank skips known companies â 0 new hits is normal) or on test-server (127.0.0.1) attempts.
1.0.979
2026-08-171.0.979 - 2026-08-18 - "đ©ș Master vihreĂ€: mittarit eivĂ€t hĂ€lytĂ€ toistoajosta eivĂ€tkĂ€ testipalvelimista"
đ«đź Suomi
- đ©ș Terveystarkastus (master) ei enÀÀ hĂ€lytĂ€ vÀÀrin. Toistoajossa pankki ohittaa tutut yritykset eikĂ€ ryömi niitĂ€ uudelleen - master tulkitsi "0 uutta osumaa" silmukkaviaksi. Nyt se tunnistaa toistoajon. LisĂ€ksi haku-kerroksen onnistumismittari nĂ€ytti 11 %, koska testiajot olivat kirjanneet 484 yritystĂ€ paikalliseen testipalvelimeen (127.0.0.1) - ne eivĂ€t enÀÀ kirjaudu, ja oikea luku on 33 %.
- đ Illan uudet vahdit masterin portilla (radarin pudotus = ei rikastusta, kotisivukatkaisija, uutisten yleissana, moottorihukka).
- â Koko smoke-portti ajettu tĂ€lle koodille: 1001 testiĂ€, 989 lĂ€pi, 12 verkko-E2E:tĂ€ ohitettu, 0 vikaa. Master --live: 257 tarkistusta, terve.
đŹđ§ English
- đ©ș The health check (master) no longer raises false alarms. In a repeat run the bank skips known companies without re-crawling - master read "0 new hits" as a loop fault. It now recognises repeat runs. The fetch-layer success metric also showed 11 % because test runs had logged 484 attempts against a local test server (127.0.0.1) - those are no longer recorded and the true figure is 33 %.
- đ Tonight's new guards on the master gate (radar drop = no enrichment, website breaker, common-word news names, engine waste).
- â Full smoke gate run on this code: 1001 tests, 989 pass, 12 network E2E skipped, 0 failures. Master --live: 257 checks, healthy.
1.0.978
2026-08-171.0.978 - 2026-08-17 - "⥠Rinnakkaisuus ei jarruta hakukonekatkoksesta · varhainen hylkÀys ei estÀ rikastusta"
đ«đź Suomi
- ⥠Hakukoneiden lepotauko ei enÀÀ painanut rikastuksen rinnakkaisuutta kolmeen. Toistoajossa kaikki hakukoneet olivat hetken jÀÀhyllÀ ja rikastus aloitti kolmella rinnakkaisella vaikka kone sallii kuusi - rikastus ei enÀÀ nojaa hakukoneisiin, joten jarru poistettiin (adaptiivi sÀÀtÀÀ edelleen aikakatkojen mukaan).
- đïž Varhainen "pisteetön" ei estĂ€ rikastusta. Kun yritys tuomittiin pisteettömĂ€ksi ennen rikastusta (alfa.fi 8/100) ja rikastus nosti sen minuutin sisĂ€llĂ€ kvalifioiduksi (38/100), tuomio ei saa lukita yritystĂ€ pois rikastusjonosta - nyt se estÀÀ vain uuden pallon tutkalle.
- đ Mitattu (v1.0.977, mainostoimisto · Kymenlaakso, toistoajo): rikastus 96/96 yritystĂ€ 3 min 19 s (rinnakkaisuus 3 â 8), silmukassa 0 jumia, pankki ohitti 200 tuttua uudelleencrawlia ja 130 tuttua rikastusjonosta, y-tunnus-dedupe 9, toimialaportti 4 (b2b-uutismedia, paikallismedia, hakemisto, karkkitehdas), pisteettömĂ€t 2 pois listalta.
đŹđ§ English
- ⥠A search-engine cooldown no longer throttled enrichment concurrency to three. In the repeat run all search engines were briefly cooling down and enrichment started with three parallel workers although the machine allows six - enrichment no longer depends on the engines, so the brake was removed (the adaptive still adjusts on timeouts).
- đïž An early "zero score" does not block enrichment. When a company was judged zero-score before enrichment (alfa.fi 8/100) and enrichment lifted it to qualified within a minute (38/100), the verdict must not lock it out of the enrichment queue - it now only prevents a new radar ball.
- đ Measured (v1.0.977, marketing agency · Kymenlaakso, repeat run): enrichment 96/96 companies in 3 min 19 s (concurrency 3 â 8), 0 loop stalls, the bank skipped 200 known re-crawls and 130 known companies from the queue, business-ID dedupe 9, industry gate 4 (B2B news media, local media, directory, candy factory), zero-score 2 kept off the list.
1.0.977
2026-08-171.0.977 - 2026-08-17 - "đïž Virastot, reittioppaat ja kansainvĂ€liset uutismediat pois listalta"
đ«đź Suomi
- đïž Estolistaan valtion virastot ja julkiset palvelut (Maanmittauslaitos, Traficom, VĂ€ylĂ€, ELY, AVI, Valvira, THL, Tulli, Poliisi, MigriâŠ), reittioppaat ja aikataulupalvelut (digitransit, VR, HSL, Matkahuolto, junatiedot) sekĂ€ kansainvĂ€liset uutis-/teknologiamediat (cnet, zdnet, techcrunch, forbes, reuters, bbcâŠ). Kymenlaakson mainostoimistoajossa cnet.com sai kvalifioidun liidin ja Maanmittauslaitos ja Kouvolan reittiopas nĂ€kyivĂ€t listalla.
- đïž PisteettömĂ€t rivit eivĂ€t enÀÀ tule listalle. Yritys, jolta ei löytynyt yhtÀÀn yhteystietoa, rekisteriankkuria eikĂ€ signaalia (kokonaisarvio alle 15/100), ei enÀÀ nĂ€y löytölistalla eikĂ€ jÀÀ tutkalle - Kymenlaakson ajossa esimerkiksi Kouvolan reittiopas ja junatiedot.fi nĂ€kyivĂ€t RAW-riveinĂ€ pistein 1/100. Rekisteririvit, nimellĂ€ haettu yritys, oma lista ja goldmine-ajo ovat poikkeuksia (niillĂ€ on oma logiikkansa). Palautus tarvittaessa: ATLAS_SHOW_REJECT=1.
- đŻ Toimialaportin loki kertoo nyt syyn ("sivu=media_news(0.62) vert=media haku=marketing") - vÀÀrĂ€n pudotuksen löytÀÀ lokista ilman arvailua.
- đ Mitattu tĂ€stĂ€ ajosta (v1.0.975, mainostoimisto · Kymenlaakso): koko ajo 7 min, rikastus 77/77 yritystĂ€ 2 min 53 s:ssa (8 rinnakkain, 0 aikakatkoa, silmukan pahin jumi 3,6 s) - edellisenĂ€ iltana vastaava vaihe jĂ€i 62/119:ÀÀn 20 minuutin katossa. Toimialaportti pudotti 9 muun alan sivustoa (uutismediat, fitness-sivustot), y-tunnus-dedupe yhdisti 10 rekisteririviĂ€ jo rikastettuun kotisivuun, kotisivukatkaisija ohitti 17 turhaa yritystĂ€.
đŹđ§ English
- đïž Blocklists: state agencies and public services (National Land Survey, Traficom, VĂ€ylĂ€, ELY, AVI, Valvira, THL, Customs, Police, MigriâŠ), journey planners and timetable services (digitransit, VR, HSL, Matkahuolto, junatiedot) and international news/tech media (cnet, zdnet, techcrunch, forbes, reuters, bbcâŠ). In the Kymenlaakso marketing-agency run cnet.com got a qualified lead and the National Land Survey and Kouvola journey planner appeared on the list.
- đïž Zero-score rows no longer reach the list. A company with no contact, no register anchor and no signal (overall assessment below 15/100) no longer appears in the finding list or stays on the radar - in the Kymenlaakso run e.g. the Kouvola journey planner and junatiedot.fi showed as RAW rows at 1/100. Register rows, a company searched by name, your own list and goldmine runs are exceptions (they have their own logic). Restore if needed: ATLAS_SHOW_REJECT=1.
- đŻ The industry gate log now states the reason ("site=media_news(0.62) vert=media search=marketing") - a wrong drop can be found in the log without guessing.
- đ Measured from this run (v1.0.975, marketing agency · Kymenlaakso): whole run 7 min, enrichment 77/77 companies in 2 min 53 s (8 in parallel, 0 timeouts, worst loop stall 3.6 s) - the night before the same phase stopped at 62/119 at the 20-minute cap. The industry gate dropped 9 off-industry sites (news media, fitness sites), business-ID dedupe merged 10 register rows into already-enriched websites, the website breaker skipped 17 wasted attempts.
1.0.976
2026-08-171.0.976 - 2026-08-17 - "đïž Virastot, reittioppaat ja kansainvĂ€liset uutismediat pois listalta"
đ«đź Suomi
- đïž Estolistaan valtion virastot ja julkiset palvelut (Maanmittauslaitos, Traficom, VĂ€ylĂ€, ELY, AVI, Valvira, THL, Tulli, Poliisi, MigriâŠ), reittioppaat ja aikataulupalvelut (digitransit, VR, HSL, Matkahuolto, junatiedot) sekĂ€ kansainvĂ€liset uutis-/teknologiamediat (cnet, zdnet, techcrunch, forbes, reuters, bbcâŠ). Kymenlaakson mainostoimistoajossa cnet.com sai kvalifioidun liidin ja Maanmittauslaitos ja Kouvolan reittiopas nĂ€kyivĂ€t listalla.
- đŻ Toimialaportin loki kertoo nyt syyn ("sivu=media_news(0.62) vert=media haku=marketing") - vÀÀrĂ€n pudotuksen löytÀÀ lokista ilman arvailua.
- đ Mitattu tĂ€stĂ€ ajosta (v1.0.975, mainostoimisto · Kymenlaakso): koko ajo 7 min, rikastus 77/77 yritystĂ€ 2 min 53 s:ssa (8 rinnakkain, 0 aikakatkoa, silmukan pahin jumi 3,6 s) - edellisenĂ€ iltana vastaava vaihe jĂ€i 62/119:ÀÀn 20 minuutin katossa. Toimialaportti pudotti 9 muun alan sivustoa (uutismediat, fitness-sivustot), y-tunnus-dedupe yhdisti 10 rekisteririviĂ€ jo rikastettuun kotisivuun, kotisivukatkaisija ohitti 17 turhaa yritystĂ€.
đŹđ§ English
- đïž Blocklists: state agencies and public services (National Land Survey, Traficom, VĂ€ylĂ€, ELY, AVI, Valvira, THL, Customs, Police, MigriâŠ), journey planners and timetable services (digitransit, VR, HSL, Matkahuolto, junatiedot) and international news/tech media (cnet, zdnet, techcrunch, forbes, reuters, bbcâŠ). In the Kymenlaakso marketing-agency run cnet.com got a qualified lead and the National Land Survey and Kouvola journey planner appeared on the list.
- đŻ The industry gate log now states the reason ("site=media_news(0.62) vert=media search=marketing") - a wrong drop can be found in the log without guessing.
- đ Measured from this run (v1.0.975, marketing agency · Kymenlaakso): whole run 7 min, enrichment 77/77 companies in 2 min 53 s (8 in parallel, 0 timeouts, worst loop stall 3.6 s) - the night before the same phase stopped at 62/119 at the 20-minute cap. The industry gate dropped 9 off-industry sites (news media, fitness sites), business-ID dedupe merged 10 register rows into already-enriched websites, the website breaker skipped 17 wasted attempts.
1.0.975
2026-08-171.0.975 - 2026-08-17 - "đŻ Ohjelmistohaku tuo ohjelmistoyrityksiĂ€ · ⥠rikastus 3 â 6 rinnakkain · đ sama firma kerran"
đ«đź Suomi
- đŻ Hakukonelöydöt eivĂ€t enÀÀ tuo muun alan yrityksiĂ€ toimialahakuun. Pohjanmaan ohjelmistoyrityshaussa 32 rekisteriliidiĂ€ olivat kaikki ohjelmistoyrityksiĂ€, mutta 25 hakukonelöydöstĂ€ 17 oli muuta: sanomalehti (kuumana!), kunnan infoportaali, putkiliike, aikuiskoulutus, asianajotoimisto ja mainostoimistoja - koska sivu vain mainitsi sanan "ohjelmistoyritys" ja toimialavertailu ajettiin vain rekisterittömissĂ€ maissa. Nyt kun hakusana nimeÀÀ toimialan, jokaisen hakukonelöydön sivun ala verrataan haettuun myös Suomessa ja muissa rekisterimaissa (rekisteririvit, nimihaku, oma lista ja goldmine ohittavat). Ristiriita â liidi pudotetaan, poistuu ruudulta eikĂ€ palaa tutkalle. Tuntematon ala sĂ€ilyy (ei arvausta).
- đŻ Yleiset markkinointihakusanat eivĂ€t enÀÀ tartu jokaiseen hakuun. Ohjelmistohaku teki kyselyn "digimarkkinointi yritys Vaasa" maan yleislistasta - se toi mainostoimistoja. Lista kĂ€ytetÀÀn vain markkinointitoimistohaussa.
- đïž Estolistaan suomalaiset sanoma- ja paikallislehdet (maaseuduntulevaisuus.fi, hs.fi, pohjalainen.fi, ilkka.fi âŠ) ja kuntien infoportaalit (info-mustasaari-korsholm.fi, visit-/kunta-etuliitteet, kaksikieliset kuntanimet).
- ⥠Rikastus 3 â 6 rinnakkain tehokkaalla koneella. Rinnakkaisuus oli 3 vanhasta syystĂ€ (hakukoneet kĂ€rsivĂ€t kun joka firma teki 8 hakua); nyt rikastus on rekisteri-ensin ja kotisivukatkaisija poistaa turhat odotukset. Perustaso koneen tehoprofiilista: 6 / 4 / 3, mukautuu alaspĂ€in jos aikakatkoja tulee. LisĂ€ksi korjattu: "Adaptive â workers" -viesti ei koskaan oikeasti lisĂ€nnyt rinnakkaisuutta (rajoitin oli kiinteĂ€) - nyt lisÀÀ. Ohitus: ATLAS_PHASE3_WORKERS=N.
- đ Sama yritys rikastetaan kerran. Rekisteririvi "Entia IT Oy Ab" rikastettiin uudelleen vaikka entia.fi (sama y-tunnus) oli jo tĂ€ysin rikastettu minuutteja aiemmin. Y-tunnus â kotisivu -muisti yhdistÀÀ rekisteririvin ja hakukonelöydön samaksi yritykseksi.
đŹđ§ English
- đŻ Search-engine finds no longer bring other industries into an industry search. In the Ostrobothnia software search all 32 register leads were software companies, but 17 of 25 search-engine finds were something else: a newspaper (rated hot!), a municipal info portal, a plumber, adult education, a law firm and marketing agencies - the page merely mentioned "software company", and the industry comparison only ran in countries without a register. Now, when the keyword names an industry, every search-engine find's page industry is compared to the searched one in Finland and other register countries too (register rows, name lookup, own list and goldmine bypass). A contradiction drops the lead, removes it from the screen and keeps it off the radar. Unknown industry stays (no guessing).
- đŻ Generic marketing keywords no longer attach to every search. The software search issued "digimarkkinointi yritys Vaasa" from the country's generic list - it brought marketing agencies. The list is now used only for marketing-agency searches.
- đïž Blocklists: Finnish newspapers and local papers (maaseuduntulevaisuus.fi, hs.fi, pohjalainen.fi, ilkka.fi âŠ) and municipal info portals (info-mustasaari-korsholm.fi, visit-/kunta- prefixes, bilingual municipality names).
- ⥠Enrichment 3 â 6 in parallel on a capable machine. Concurrency was 3 for an old reason (search engines suffered when every company did 8 searches); enrichment is now register-first and the website breaker removes wasted waits. Base level from the machine's performance profile: 6 / 4 / 3, adapting down if timeouts rise. Also fixed: the "Adaptive â workers" message never actually raised concurrency (the limiter was fixed) - it does now. Override: ATLAS_PHASE3_WORKERS=N.
- đ The same company is enriched once. The register row "Entia IT Oy Ab" was enriched again although entia.fi (same business ID) had been fully enriched minutes earlier. A business-ID â website memory merges the register row and the search find into one company.
1.0.974
2026-08-171.0.974 - 2026-08-17 - "đ§Ż Kuollut kotisivu maksaa kerran, ei viisi kertaa · đ» pudotettu ei palaa tutkalle"
đ«đź Suomi
- 𧯠Rikastus ei enÀÀ jumita kotisivuun, joka ei vastaa. Pohjanmaan ajossa mitattiin 28 rikastettua yritystÀ: 18:lla oma kotisivu ei vastannut (yhteysyritys katkesi 8 sekunnin jÀlkeen), ja sama sivusto maksoi odotuksen uudelleen jokaisessa alivaiheessa - suora ryömintÀ 10 osoitetta kahdesti, kevyt haku, pakotetut sivut, 6 osoitteen tarkistus ja elossaolotarkistus. Vastaamaton sivusto vei mediaanina 88 sekuntia, vastaava 36, ja 20 minuutin katto tuli vastaan 62/119 kohdalla. Sama jaettu katkaisija, joka jo suojasi talouslÀhteitÀ, kattaa nyt myös kotisivujen ryöminnÀn: kun sivusto on polttanut aikaa kahdesti tÀssÀ ajossa, seuraavat vaiheet ohittavat sen heti ja kokeilevat uudelleen vasta jÀÀhdyttelyn jÀlkeen. Hakukoneisiin tÀmÀ ei koske.
- đ» Alueen takia pudotettu yritys ei palaa tutkalle. Kun rikastus todisti yrityksen toiseen maakuntaan ja se pudotettiin, seuraava hakukierros toi sen uudestaan palloksi ja rikastukseen (mitattu: 10+ yritystĂ€ kahdesti). Pudotus muistetaan ajon ajan.
- đ Huomio tĂ€stĂ€ illasta: ajon hitaus johtui pÀÀosin koneen verkkoyhteydestĂ€ - klo 22:03-22:14 yhteys Suomen palvelimiin (myös omaan pĂ€ivityspalvelimeen) katkesi tĂ€ltĂ€ koneelta kokonaan, kun Google vastasi normaalisti. Sen aikana jokainen kotisivu nĂ€ytti kuolleelta. Yhteys palasi 22:20. YllĂ€ oleva korjaus tekee ohjelmasta sietokykyisemmĂ€n tĂ€llaiselle, muttei poista itse katkosta.
đŹđ§ English
- đ§Ż Enrichment no longer stalls on a website that does not answer. In the Ostrobothnia run 28 enriched companies were measured: for 18 the company's own site did not respond (connect timed out after 8 seconds), and the same site paid that wait again in every sub-stage - direct crawl of 10 URLs twice, light lookup, forced pages, a 6-URL probe and the alive check. An unresponsive site took a median of 88 seconds, a responsive one 36, and the 20-minute cap hit at 62/119. The shared breaker that already protected the financial sources now also covers website crawling: once a site has burned time twice in this run, later stages skip it immediately and retry only after a cooldown. Search engines are not affected.
- đ» A company dropped for its region does not return to the radar. When enrichment proved a company was in another region and it was dropped, the next search round brought it back as a ball and into enrichment (measured: 10+ companies twice). The drop is now remembered for the run.
- đ Note from tonight: the run's slowness was mostly the machine's network - between 22:03 and 22:14 connections from this machine to Finnish servers (including our own update server) failed completely while Google answered normally. During that time every website looked dead. Connectivity returned at 22:20. The fix above makes the app more tolerant of this but does not remove the outage itself.
1.0.973
2026-08-171.0.973 - 2026-08-17 - "đșïž Aluehaku kunnioittaa maakuntaa · đ„ HOT kertoo syynsĂ€ · đ goldmine-firmat eivĂ€t katoa pankkiin"
đ«đź Suomi
- đșïž Toisen maakunnan yritys ei enÀÀ tule aluehaun listalle. Kun valitset maakunnan (esim. PĂ€ijĂ€t-HĂ€me) ja rekisteri, osoite tai sijaintitieto todistaa yrityksen kotipaikan toiseen maakuntaan, liidi pudotetaan - ei enÀÀ nĂ€ytetĂ€ kylmĂ€nĂ€ "rehellisellĂ€ syyllĂ€". EtelĂ€-Savon ajossa 5 riviĂ€ 63:sta oli Salosta, HelsingistĂ€, PyhĂ€nnĂ€ltĂ€ ja RiihimĂ€eltĂ€. Yritys, jonka sijaintia ei tiedetĂ€, sĂ€ilyy edelleen (todisteeton ei putoa). NimellĂ€ haettu yksittĂ€inen yritys ja oma lista ohittavat sÀÀnnön.
- đșïž Rekisterihaku ei enÀÀ heitĂ€ pois oikean maakunnan yrityksiĂ€. Aluerajaus vertasi maakunnan nimeĂ€ yrityksen kaupunkiin ("PĂ€ijĂ€t-HĂ€me" vs "Lahti") ja pÀÀtteli, ettei yksikÀÀn rivi ole pyydetyltĂ€ alueelta - Lahti leimattiin vÀÀrĂ€ksi ja koko rekisterivastaus hylĂ€ttiin. Nyt maakunta laajennetaan kuntaluetteloksi samasta lĂ€hteestĂ€ jota muutkin alueportit kĂ€yttĂ€vĂ€t. Kaupunkipyyntö (esim. Bangalore) toimii kuten ennen.
- đ» Tutkalla ei enÀÀ nĂ€ytetĂ€ yritystĂ€, joka on todistetusti maakunnan ulkopuolella. B2B-hakusanalla tĂ€llaiset pidettiin pallona "pehmeĂ€sti", vaikka lopullinen portti pudotti ne joka tapauksessa - ne teettivĂ€t vain turhaa rikastusta.
- đșïž Rekisterin kaupunkihaku osuu vain koko kunnan nimeen. PĂ€ijĂ€t-HĂ€meen haku laajeni kuntalistaksi, mutta "Lahti" haettiin osajonona ja osui myös Korpilahteen (JyvĂ€skylĂ€), Vesilahteen (Pirkanmaa), Koivulahteen ja Lokalahteen - kymmeniĂ€ toisen maakunnan rekisteriyrityksiĂ€ listalle. Nyt kunnan nimi osuu vain kokonaisena.
- đșïž Alueâkunta-tieto tarkistettu koko maailmalta. Auditissa mitattiin 843 aluetta 90 maasta: alueen koodi ratkesi vÀÀrin viidessĂ€ (EtelĂ€-Pohjanmaa osoitti Pohjanmaalle, Sveitsin Uri ZĂŒrichiin, Puolan Silesian Ala-Sleesiaan, Norjan Ăstfold Vestfoldiin, Ukrainan Kiova oblastiin) ja kaimakylĂ€ saattoi ratkaista maakunnan (Kalliola â Varsinais-Suomi vaikka Kalliola on myös Hollolassa). Nyt nimi osuu vain koko sanoin, alue varmistetaan sen omien kaupunkien perusteella, ja kaimakylĂ€ ilman kuntatason painoa ei kerro aluetta ("ei tiedetĂ€" on rehellinen). Iitti siirretty PĂ€ijĂ€t-HĂ€meeseen (kuntaliitos 2021), SysmĂ€/Hartola/Padasjoki lisĂ€tty. Mitattu jĂ€lkeen: 0 vÀÀrÀÀ aluekoodia, 166/167 Suomen kuntaa oikeaan maakuntaan.
- đșïž Rekisterihaun kuntalista ilman kaimakyliĂ€. Kun PĂ€ijĂ€t-HĂ€meen kuntalista tĂ€ydennettiin koko maakunnan kylillĂ€, mukaan tuli kyliĂ€ nimeltĂ€ JĂ€rvenpÀÀ, Salo, RiihimĂ€ki ja SaarenkylĂ€ - ja rekisterin JĂRVENPĂĂ (Uusimaa, 189 riviĂ€), SALO (98) ja RIIHIMĂKI (89) tulivat mukaan. Nyt tĂ€ydennykseen kelpaavat vain nimet, jotka ovat yksikĂ€sitteisiĂ€ tai joiden kuntatason haku osoittaa juuri tĂ€lle alueelle. Mitattu oikeasta rekisteristĂ€: 1 300 â 768 riviĂ€, 0 toisen maakunnan kaupunkia.
- đ» Alueen ulkopuoliseksi todistettu yritys poistuu myös ruudulta. Kun rikastus todistaa toisen maakunnan, jo tutkalle ja löytölistaan ehtinyt pallo/rivi poistetaan (sama mekanismi kuin kokorajaus) ja loki kertoo syyn.
- đ„ HOT-liidi kertoo miksi se on HOT. Listalla nĂ€kyi liekki, mutta avattu kortti puhui vain yhteystiedoista eikĂ€ kertonut ostosignaalia. Nyt kortin pÀÀttelyosiossa on rivi "MIKSI HOT:" ja siinĂ€ sama todiste, jolla taso ratkaistiin (rekrytointi, uutinen, laukaisin tai positiivinen signaali). Jos todistetta ei ole, kortti sanoo sen rehellisesti.
- đ Goldmine-yritykset eivĂ€t enÀÀ katoa pankkiin tavallisessa haussa. Kun rakennusliikehaku toi listalle vasta perustettuja, kotisivuttomia rekisteriyrityksiĂ€ (vain rekisterin puhelin), ne kirjautuivat pankkiin "hoidettuina" ja seuraava goldmine-ajo ohitti ne. Nyt kotisivuton rivi lasketaan hoidetuksi vasta kun sillĂ€ on sĂ€hköposti - goldmine-ajo nĂ€yttÀÀ ja rikastaa ne edelleen.
đŹđ§ English
- đșïž A company from another region no longer appears in a region-limited search. When you pick a region (e.g. PĂ€ijĂ€t-HĂ€me) and the register, address or location data proves the company is domiciled elsewhere, the lead is dropped - no longer shown as cold "with an honest reason". In the South Savo run 5 of 63 rows came from Salo, Helsinki, PyhĂ€ntĂ€ and RiihimĂ€ki. A company whose location is unknown still stays (no evidence, no drop). A single company searched by name and your own list bypass the rule.
- đșïž The register lookup no longer discards companies from the right region. The region gate compared the region name to the company's city ("PĂ€ijĂ€t-HĂ€me" vs "Lahti") and concluded that no row was from the requested area - Lahti was marked wrong and the whole register response was rejected. The region is now expanded into its municipality list from the same source the other region gates use. City requests (e.g. Bangalore) work as before.
- đ» The radar no longer shows a company proven to be outside the region. For B2B keywords such companies were kept as a "soft" blip even though the final gate dropped them anyway - they only caused wasted enrichment.
- đșïž The register city lookup matches whole municipality names only. A PĂ€ijĂ€t-HĂ€me search expanded into its municipality list, but "Lahti" was matched as a substring and also hit Korpilahti (JyvĂ€skylĂ€), Vesilahti (Pirkanmaa), Koivulahti and Lokalahti - dozens of register companies from other regions on the list. The municipality name now matches only as a whole.
- đșïž Regionâmunicipality data audited worldwide. The audit measured 843 regions in 90 countries: the region code resolved wrongly in five (South Ostrobothnia pointed to Ostrobothnia, Swiss Uri to ZĂŒrich, Polish Silesian to Lower Silesian, Norwegian Ăstfold to Vestfold, Ukrainian Kyiv to the oblast) and a namesake village could decide a region (Kalliola â Southwest Finland although Kalliola is also in Hollola). Names now match on whole words only, a region is verified against its own cities, and a namesake village without municipality-level weight does not decide a region ("unknown" is honest). Iitti moved to PĂ€ijĂ€t-HĂ€me (2021 merger), SysmĂ€/Hartola/Padasjoki added. Measured after: 0 wrong region codes, 166/167 Finnish municipalities in the right region.
- đșïž Register municipality list without namesake villages. When the PĂ€ijĂ€t-HĂ€me list was expanded with the whole region's villages, it picked up villages named JĂ€rvenpÀÀ, Salo, RiihimĂ€ki and SaarenkylĂ€ - and the register's JĂRVENPĂĂ (Uusimaa, 189 rows), SALO (98) and RIIHIMĂKI (89) came along. Only names that are unambiguous or whose municipality-level lookup points to this region qualify now. Measured on the real register: 1,300 â 768 rows, 0 cities from other regions.
- đ» A company proven outside the region also disappears from the screen. When enrichment proves another region, the ball/row that already reached the radar and the finding list is removed (same mechanism as the size filter) and the log tells why.
- đ„ A HOT lead tells you why it is HOT. The list showed a flame, but the opened card only talked about contact details and never named the buying signal. The card's reasoning section now has a "WHY HOT:" line with the same evidence the tier was decided on (hiring, news, trigger or a positive signal). If there is no evidence, the card says so honestly.
- đ Goldmine companies no longer disappear into the bank during a normal search. When a construction search listed newly founded companies without a website (register phone only), they were saved to the bank as "handled" and the next goldmine run skipped them. A company without a website now counts as handled only once it has an email - the goldmine run still shows and enriches it.
1.0.972
2026-08-171.0.972 - 2026-08-17 - "đŹ Oma WhatsApp-viesti, uutiset oikeasta yrityksestĂ€, radarin pudotus pitÀÀ"
đ«đź Suomi
- đŹ Oma WhatsApp-viesti asetuksena. Asetukset â WhatsApp â "Oma WhatsApp-viesti": kun kirjoitat sinne oman avausviestisi, se on jatkossa WhatsApp-viestisi jokaiselle liidille - liidikortin WhatsApp-linkissĂ€ ja LĂ€hetĂ€ WhatsApp -ikkunassa. Voit yhĂ€ muokata sitĂ€ ikkunassa ennen lĂ€hetystĂ€. TyhjĂ€nĂ€ ohjelma rakentaa personoidun luonnoksen liidin datasta kuten ennenkin. Paikkamerkit {first} (pÀÀttĂ€jĂ€n etunimi) ja {company} (yrityksen nimi) tĂ€ytetÀÀn vain aidosta liididatasta; puuttuva arvo jĂ€tetÀÀn pois, ei koskaan keksitĂ€.
- âïž Oma viesti ei enÀÀ katkea hiljaa. WhatsApp Web- ja työpöytĂ€linkin teksti katkaistiin 800 merkin kohdalta ilman varoitusta - yli 800 merkin oma viesti olisi lĂ€htenyt vajaana. Nyt sama 4 096 merkin raja kuin palvelinlĂ€hetyksessĂ€, ja viesti kulkee ikkunasta linkkiin sanasta sanaan (Ă€/ö, prosentit, rivinvaihdot, emojit mitattu).
- đ° Yleissananimisen yrityksen uutiset eivĂ€t enÀÀ tule vÀÀrĂ€stĂ€ aiheesta. Petoja Oy (rakennusliike) sai kortilleen neljĂ€ uutista petoelĂ€imistĂ€ ja niistĂ€ punaisen "sulkeminen"-signaalin, koska otsikoissa lauseen alussa oleva "Petoja" nĂ€ytti erisnimeltĂ€. Mitattuna saman haun 15 otsikosta 10:ssĂ€ sana oli pienellĂ€ keskellĂ€ lausetta - kiistaton merkki yleissanasta. Nyt jos yrityksen yksisanainen nimi esiintyy hakutuloksissa pienellĂ€, uutinen kelpaa vain jos otsikossa on koko nimi yhtiömuotoineen ("Petoja Oy Jukurien uudeksi pÀÀyhteistyökumppaniksi") tai nimi isolla keskellĂ€ lausetta. Erottuvat nimet (Wolt, Supermetrics) ja kielet, joissa substantiivit kirjoitetaan isolla, kulkevat tĂ€smĂ€lleen kuten ennen - mitattu 0 muutosta.
- đ§ Radarilta pudotettu roska ei enÀÀ palaa listalle rikastuksen kautta. EtelĂ€-Savon rakennusliikeajossa kunnan sivusto (mantyharju.fi), valtion sÀÀdöstietokanta ja vÀÀrĂ€n maakunnan yrityspuisto pudotettiin radarilta oikein - mutta sama osoite jĂ€i rikastusjonoon, josta se löysi sĂ€hköposteja ja pÀÀtyi lopulliseksi liidiksi. Portti oli kahdessa paikassa eri mieltĂ€. Nyt radarin pudotus tarkoittaa myös "ei rikasteta", ja sama roska- ja kuntasuodatin ajetaan rikastusjonolle vaikka osoite ei olisi kulkenut radarin kautta. RekisteristĂ€ tullut yritys ohittaa vain pehmeĂ€n syyn (tekoĂ€lysuodatin tai alue-epĂ€ily), ei kovaa (kunta, hakemisto, alusta, vÀÀrĂ€ maa).
- đïž Estolistaan: dokumenttijakoalustat (docplayer kaikilla maapÀÀtteillĂ€, issuu, yumpu), finlex.fi ja kauppakamarit - kaikki löytyivĂ€t samasta ajosta liideinĂ€.
- đșïž Toisen maakunnan yritys ei enÀÀ nouse kuumaksi kiertotietĂ€. Kun rekisteri todistaa yrityksen kotipaikan toiseen maakuntaan, liidi lasketaan tahallaan kylmĂ€ksi ja lukitaan. Yksi pisteytysasteikko (yhdistelmĂ€pisteet) ohitti lukon ja nosti PyhĂ€nnĂ€llĂ€ toimivan pörssiyhtiön kuumaksi EtelĂ€-Savon haussa. Lukko pĂ€tee nyt kaikilla asteikoilla.
- â±ïž Rekrytointi- ja domainikĂ€haku ei enÀÀ pysĂ€ytĂ€ pÀÀsilmukkaa. Osa liidin lĂ€hetyspoluista ajoi whois- ja rekryhaun suoraan tapahtumasilmukassa ja odotti sen valmistumista (mitattu 270 hakua, jumeja 5-8 s, tulos 0 domainikÀÀ ja 2 rekryosumaa). Kun kutsu tulee pÀÀsilmukasta, työ siirtyy nyt rajattuun taustajonoon ja tulos kirjautuu liidille valmistuttuaan; rikastuksen esihaku toimii kuten ennen.
- đ MitĂ€ ei vielĂ€ tehdĂ€: jo pankissa olevat vanhat kortit puhdistuvat vasta seuraavassa rikastuksessa; sÀÀntö suojaa uudet ajot. Samasta ajosta jĂ€i auki: rikastus ehti 71/108 yritykseen 20 minuutin katossa (hitaus, ei kirjattu tĂ€hĂ€n), ja mainostoimistot nĂ€kyvĂ€t rakennusliikehaussa lĂ€mpiminĂ€ liideinĂ€ (toimialaosuvuus hakusanaan) - mitataan ennen muutosta.
đŹđ§ English
- đŹ Your own WhatsApp message as a setting. Settings â WhatsApp â "Your own WhatsApp message": once you write your opening message there, it becomes your WhatsApp message for every lead - in the lead card's WhatsApp link and in the Send WhatsApp dialog. You can still edit it in the dialog before sending. Left empty, the app builds a personalised draft from the lead's data as before. Placeholders {first} (decision-maker first name) and {company} are filled only from real lead data; a missing value is left out, never invented.
- âïž Your message is no longer cut silently. The WhatsApp Web and desktop link text was truncated at 800 characters without warning - a longer message of your own would have gone out incomplete. Now the same 4,096-character limit as the server send applies, and the message travels from the dialog to the link word for word (umlauts, percent signs, line breaks and emoji measured).
- đ° News for a company named after a common word no longer comes from the wrong topic. Petoja Oy (a builder; "petoja" is Finnish for predators) got four wildlife articles on its card and a red "closure" signal from them, because a sentence-initial "Petoja" in a headline looked like a proper name. Measured on the same search, 10 of 15 headlines had the word in lower case mid-sentence - unmistakable evidence of a common word. Now, when a one-word company name appears in lower case in the search results, an article qualifies only if the headline contains the full legal name ("Petoja Oy named Jukurit's main partner") or the name capitalised mid-sentence. Distinctive names (Wolt, Supermetrics) and languages that capitalise all nouns behave exactly as before - measured zero change.
- đ§ Junk dropped from the radar no longer comes back through enrichment. In a South Savo construction run a municipality site (mantyharju.fi), the state statute database and a business park from the wrong region were correctly dropped from the radar - but the same address stayed in the enrichment queue, found emails there and became a final lead. The gate disagreed with itself in two places. A radar drop now also means "not enriched", and the same junk and municipality filter runs on the enrichment queue even for addresses that never passed the radar. A company from the register may bypass only a soft reason (AI filter or region doubt), never a hard one (municipality, directory, platform, wrong country).
- đïž Added to blocklists: document-sharing platforms (docplayer on all country domains, issuu, yumpu), finlex.fi and chambers of commerce - all appeared as leads in the same run.
- đșïž A company from another region can no longer become hot by a side road. When the register proves a company's domicile is in another region, the lead is deliberately set cold and locked. One scoring scale (composite) bypassed the lock and lifted a listed company based in PyhĂ€ntĂ€ to hot in a South Savo search. The lock now holds on every scale.
- â±ïž Hiring and domain-age lookup no longer stalls the main loop. Some lead emit paths ran the whois and job lookup directly on the event loop and waited for it (measured 270 lookups, stalls of 5-8 s, yielding 0 domain ages and 2 hiring hits). When called from the main loop the work now goes to a bounded background queue and lands on the lead when done; the enrichment prefetch works as before.
- đ Not done yet: old cards already in the lead bank clean up on their next enrichment; the rule protects new runs. Left open from the same run: enrichment reached 71/108 companies within the 20-minute cap (slowness, not addressed here), and marketing agencies show as warm leads in a construction search (industry relevance to the keyword) - to be measured before changing.
1.0.971
2026-08-171.0.971 - 2026-08-17 - "đ Kortti ei enÀÀ vĂ€itĂ€ ettei kotisivua ole, kun kotisivu on samalla rivillĂ€"
đ«đź Suomi
- đ Liidikortti vĂ€itti "ei kotisivua" ja nĂ€ytti samalla rivillĂ€ linkin kotisivulle. Digisome Oy:n kortilla luki "Miksi kontaktoida: No website domain found in our data" ja ehdotettu kulma "No website" - ja heti alla linkki digisome.fi, Asiakastiedon liikevaihto ja toimitusjohtajan sĂ€hköposti. Syy löytyi lokista sekunnin tarkkuudella: yritys tuli rekisteristĂ€ ilman verkkotunnusta, jolloin ohjelma teki johtopÀÀtöksen "ei kotisivua" ja kirjoitti sen myyntikulmaksi. Sekuntia myöhemmin rekisteritĂ€ydennys löysi verkkotunnuksen ja lisĂ€si sen liidille - mutta johtopÀÀtöstĂ€ ei koskaan peruttu, koska ohjelman sÀÀntö "tieto vain kertyy, ei katoa" suojasi myös vĂ€itettĂ€ eikĂ€ vain dataa. Sama tapahtui kaikissa yhdistĂ€miskohdissa: nĂ€ytön pĂ€ivityksessĂ€, syvĂ€rikastuksessa ja rekisteritĂ€ydennyksessĂ€.
- â Nyt "ei kotisivua" on johtopÀÀtös, joka perutaan heti kun verkkotunnus löytyy. Kun liidille tulee verkkotunnus mistĂ€ tahansa lĂ€hteestĂ€, kortilta poistuvat "ei kotisivua" -puute, siitĂ€ johdettu myyntikulma ja "miksi kontaktoida" -perustelu, sekĂ€ siitĂ€ laskettu euroarvio ja klousaustodennĂ€köisyys - ne laskettiin vÀÀrĂ€stĂ€ puutteesta. Yhteystiedot, talousluvut ja muut löydöt sĂ€ilyvĂ€t. Verkkotunnukseton yritys saa vĂ€itteen edelleen, kun kotisivua on oikeasti etsitty. Kortin totuusvahti tarkistaa saman avattaessa, joten myös liidipankissa jo olevat vanhat kortit korjaantuvat ilman uutta ajoa.
- đ MitĂ€ ei vielĂ€ tehdĂ€: jos verkkotunnus löytyy vasta rikastuksen jĂ€lkeen, sivua ei crawlata jĂ€lkikĂ€teen. Kortti on silloin rehellisesti ilman myyntikulmaa - kontaktit ja talousluvut nĂ€kyvĂ€t, mutta puutekulmaa ei keksitĂ€.
đŹđ§ English
- đ The lead card claimed "no website" while showing a link to the website on the same row. Digisome Oy's card read "Why contact: No website domain found in our data" and the suggested angle "No website" - right above a link to digisome.fi, official revenue and the CEO's email. The log pinned it to the second: the company came from the register without a domain, so the app concluded "no website" and wrote it as the sales angle. One second later the register backfill found the domain and added it to the lead - but the conclusion was never revoked, because the rule "data only accumulates, never disappears" protected the claim as well as the data. The same happened at every merge point: the on-screen update, deep enrichment and register backfill.
- â "No website" is now a conclusion that is revoked the moment a domain appears. When a lead gains a domain from any source, the card drops the "no website" gap, the sales angle and "why contact" derived from it, and the euro estimate and close probability computed from it - they were based on a wrong gap. Contacts, financials and other findings stay. A company without a domain still gets the claim once a website has actually been searched for. The card's truth gate runs the same check on open, so old cards already in the lead bank fix themselves without a new run.
- đ Not done yet: if the domain appears only after enrichment, the site is not crawled afterwards. The card is then honestly without a sales angle - contacts and financials show, but no gap angle is invented.
1.0.970
2026-08-171.0.970 - 2026-08-17 - "đ Kortti ei enÀÀ vĂ€itĂ€ ettei kotisivua ole, kun kotisivu on samalla rivillĂ€"
đ«đź Suomi
- đ Liidikortti vĂ€itti "ei kotisivua" ja nĂ€ytti samalla rivillĂ€ linkin kotisivulle. Digisome Oy:n kortilla luki "Miksi kontaktoida: No website domain found in our data" ja ehdotettu kulma "No website" - ja heti alla linkki digisome.fi, Asiakastiedon liikevaihto ja toimitusjohtajan sĂ€hköposti. Syy löytyi lokista sekunnin tarkkuudella: yritys tuli rekisteristĂ€ ilman verkkotunnusta, jolloin ohjelma teki johtopÀÀtöksen "ei kotisivua" ja kirjoitti sen myyntikulmaksi. Sekuntia myöhemmin rekisteritĂ€ydennys löysi verkkotunnuksen ja lisĂ€si sen liidille - mutta johtopÀÀtöstĂ€ ei koskaan peruttu, koska ohjelman sÀÀntö "tieto vain kertyy, ei katoa" suojasi myös vĂ€itettĂ€ eikĂ€ vain dataa. Sama tapahtui kaikissa yhdistĂ€miskohdissa: nĂ€ytön pĂ€ivityksessĂ€, syvĂ€rikastuksessa ja rekisteritĂ€ydennyksessĂ€.
- â Nyt "ei kotisivua" on johtopÀÀtös, joka perutaan heti kun verkkotunnus löytyy. Kun liidille tulee verkkotunnus mistĂ€ tahansa lĂ€hteestĂ€, kortilta poistuvat "ei kotisivua" -puute, siitĂ€ johdettu myyntikulma ja "miksi kontaktoida" -perustelu, sekĂ€ siitĂ€ laskettu euroarvio ja klousaustodennĂ€köisyys - ne laskettiin vÀÀrĂ€stĂ€ puutteesta. Yhteystiedot, talousluvut ja muut löydöt sĂ€ilyvĂ€t. Verkkotunnukseton yritys saa vĂ€itteen edelleen, kun kotisivua on oikeasti etsitty. Kortin totuusvahti tarkistaa saman avattaessa, joten myös liidipankissa jo olevat vanhat kortit korjaantuvat ilman uutta ajoa.
- đ MitĂ€ ei vielĂ€ tehdĂ€: jos verkkotunnus löytyy vasta rikastuksen jĂ€lkeen, sivua ei crawlata jĂ€lkikĂ€teen. Kortti on silloin rehellisesti ilman myyntikulmaa - kontaktit ja talousluvut nĂ€kyvĂ€t, mutta puutekulmaa ei keksitĂ€.
đŹđ§ English
- đ The lead card claimed "no website" while showing a link to the website on the same row. Digisome Oy's card read "Why contact: No website domain found in our data" and the suggested angle "No website" - right above a link to digisome.fi, official revenue and the CEO's email. The log pinned it to the second: the company came from the register without a domain, so the app concluded "no website" and wrote it as the sales angle. One second later the register backfill found the domain and added it to the lead - but the conclusion was never revoked, because the rule "data only accumulates, never disappears" protected the claim as well as the data. The same happened at every merge point: the on-screen update, deep enrichment and register backfill.
- â "No website" is now a conclusion that is revoked the moment a domain appears. When a lead gains a domain from any source, the card drops the "no website" gap, the sales angle and "why contact" derived from it, and the euro estimate and close probability computed from it - they were based on a wrong gap. Contacts, financials and other findings stay. A company without a domain still gets the claim once a website has actually been searched for. The card's truth gate runs the same check on open, so old cards already in the lead bank fix themselves without a new run.
- đ Not done yet: if the domain appears only after enrichment, the site is not crawled afterwards. The card is then honestly without a sales angle - contacts and financials show, but no gap angle is invented.
1.0.969
2026-08-171.0.969 - 2026-08-17 - "đ„ HOT tarkoittaa ostosignaalia, ei pelkkÀÀ tavoitettavuutta"
đ«đź Suomi
- đ„ HOT vaati ennen vain sitĂ€ ettĂ€ yritys on tavoitettavissa. Liidi nousi kuumaksi jo siitĂ€, ettĂ€ siltĂ€ löytyi henkilökohtainen sĂ€hköposti, pÀÀttĂ€jĂ€ ja puhelinnumero. Mitattuna yhdestĂ€ ajosta 59 HOT-liidillĂ€ 133:sta ei ollut yhtÀÀn ostosignaalia: pisteet tulivat kokonaan yhteystiedoista. Liekki ja sana HOT lupaavat kiinnostusta, joten mittari antoi myyjĂ€lle vÀÀrĂ€n jĂ€rjestyksen soittolistaan. Nyt HOT vaatii vĂ€hintÀÀn yhden ostosignaalin: rahoituskyvyn, rekrytoinnin, uutistapahtuman, uuden yrityksen, rahoituskierroksen tai muun kiinnostussignaalin. PelkkĂ€ talousluku faktana ei riitĂ€. Liidi ei katoa mihinkÀÀn - se laskee HOTista WARMiin, eli lajittelu muuttuu rehellisemmĂ€ksi.
- â Konkurssissa oleva yritys ei voi enÀÀ olla kuuma liidi. Aiemmin vahva talous- tai yhteystietopisteytys saattoi nostaa HOTiksi yrityksen, jonka kaupparekisteri kertoo lakanneeksi, konkurssissa olevaksi tai selvitystilaan asetetuksi. Mitattuna 1 915 liidin joukossa tĂ€llaisia oli seitsemĂ€n. Nyt rekisterin tieto estÀÀ HOTin riippumatta pisteistĂ€.
- đ Mitattu vaikutus ennen kĂ€yttöönottoa: 1 915 liidin aineistossa HOT-liidien mÀÀrĂ€ laskee 636:sta 278:aan. SĂ€ilyvistĂ€ 164 perustuu rahoituskykyyn, 76 uutistapahtumaan, 32 uuden yrityksen tai rahoituksen triggeriin ja 6 suoraan kiinnostussignaaliin. SÀÀntö lukee signaalin rakennetta eikĂ€ sanoja, joten se toimii samalla tavalla kaikissa maissa.
đŹđ§ English
- đ„ HOT used to mean only that a company was reachable. A lead turned hot merely because a personal email, a decision maker and a phone number were found. Measured on one run, 59 of 133 HOT leads had no buying signal at all: the score came entirely from contact details. The flame and the word HOT promise interest, so the metric gave sales the wrong call order. HOT now requires at least one buying signal: financial capacity, hiring, a news event, a newly registered company, a funding round or another interest signal. A financial figure as a bare fact is not enough. No lead disappears - it moves from HOT to WARM, so the sorting becomes more honest.
- â A bankrupt company can no longer be a hot lead. Strong financial or contact scoring could previously lift a company to HOT even though the trade register lists it as ceased, bankrupt or in liquidation. Measured across 1,915 leads, seven were in that state. The register now blocks HOT regardless of score.
- đ Impact measured before release: across 1,915 leads the number of HOT leads drops from 636 to 278. Of those kept, 164 rest on financial capacity, 76 on a news event, 32 on a new-company or funding trigger and 6 on a direct interest signal. The rule reads the structure of a signal rather than its wording, so it behaves identically in every country.
1.0.968
2026-08-171.0.968 - 2026-08-17 - "đ„ HOT tarkoittaa ostosignaalia, ei pelkkÀÀ tavoitettavuutta"
đ«đź Suomi
- đ„ HOT vaati ennen vain sitĂ€ ettĂ€ yritys on tavoitettavissa. Liidi nousi kuumaksi jo siitĂ€, ettĂ€ siltĂ€ löytyi henkilökohtainen sĂ€hköposti, pÀÀttĂ€jĂ€ ja puhelinnumero. Mitattuna yhdestĂ€ ajosta 59 HOT-liidillĂ€ 133:sta ei ollut yhtÀÀn ostosignaalia: pisteet tulivat kokonaan yhteystiedoista. Liekki ja sana HOT lupaavat kiinnostusta, joten mittari antoi myyjĂ€lle vÀÀrĂ€n jĂ€rjestyksen soittolistaan. Nyt HOT vaatii vĂ€hintÀÀn yhden ostosignaalin: rahoituskyvyn, rekrytoinnin, uutistapahtuman, uuden yrityksen, rahoituskierroksen tai muun kiinnostussignaalin. PelkkĂ€ talousluku faktana ei riitĂ€. Liidi ei katoa mihinkÀÀn - se laskee HOTista WARMiin, eli lajittelu muuttuu rehellisemmĂ€ksi.
- â Konkurssissa oleva yritys ei voi enÀÀ olla kuuma liidi. Aiemmin vahva talous- tai yhteystietopisteytys saattoi nostaa HOTiksi yrityksen, jonka kaupparekisteri kertoo lakanneeksi, konkurssissa olevaksi tai selvitystilaan asetetuksi. Mitattuna 1 915 liidin joukossa tĂ€llaisia oli seitsemĂ€n. Nyt rekisterin tieto estÀÀ HOTin riippumatta pisteistĂ€.
- đ Mitattu vaikutus ennen kĂ€yttöönottoa: 1 915 liidin aineistossa HOT-liidien mÀÀrĂ€ laskee 636:sta 278:aan. SĂ€ilyvistĂ€ 164 perustuu rahoituskykyyn, 76 uutistapahtumaan, 32 uuden yrityksen tai rahoituksen triggeriin ja 6 suoraan kiinnostussignaaliin. SÀÀntö lukee signaalin rakennetta eikĂ€ sanoja, joten se toimii samalla tavalla kaikissa maissa.
đŹđ§ English
- đ„ HOT used to mean only that a company was reachable. A lead turned hot merely because a personal email, a decision maker and a phone number were found. Measured on one run, 59 of 133 HOT leads had no buying signal at all: the score came entirely from contact details. The flame and the word HOT promise interest, so the metric gave sales the wrong call order. HOT now requires at least one buying signal: financial capacity, hiring, a news event, a newly registered company, a funding round or another interest signal. A financial figure as a bare fact is not enough. No lead disappears - it moves from HOT to WARM, so the sorting becomes more honest.
- â A bankrupt company can no longer be a hot lead. Strong financial or contact scoring could previously lift a company to HOT even though the trade register lists it as ceased, bankrupt or in liquidation. Measured across 1,915 leads, seven were in that state. The register now blocks HOT regardless of score.
- đ Impact measured before release: across 1,915 leads the number of HOT leads drops from 636 to 278. Of those kept, 164 rest on financial capacity, 76 on a news event, 32 on a new-company or funding trigger and 6 on a direct interest signal. The rule reads the structure of a signal rather than its wording, so it behaves identically in every country.
1.0.967
2026-08-171.0.967 - 2026-08-17 - "đ„ HOT tarkoittaa ostosignaalia, ei pelkkÀÀ tavoitettavuutta"
đ«đź Suomi
- đ„ HOT vaati ennen vain sitĂ€ ettĂ€ yritys on tavoitettavissa. Liidi nousi kuumaksi jo siitĂ€, ettĂ€ siltĂ€ löytyi henkilökohtainen sĂ€hköposti, pÀÀttĂ€jĂ€ ja puhelinnumero. Mitattuna yhdestĂ€ ajosta 59 HOT-liidillĂ€ 133:sta ei ollut yhtÀÀn ostosignaalia: pisteet tulivat kokonaan yhteystiedoista. Liekki ja sana HOT lupaavat kiinnostusta, joten mittari antoi myyjĂ€lle vÀÀrĂ€n jĂ€rjestyksen soittolistaan. Nyt HOT vaatii vĂ€hintÀÀn yhden ostosignaalin: rahoituskyvyn, rekrytoinnin, uutistapahtuman, uuden yrityksen, rahoituskierroksen tai muun kiinnostussignaalin. PelkkĂ€ talousluku faktana ei riitĂ€. Liidi ei katoa mihinkÀÀn - se laskee HOTista WARMiin, eli lajittelu muuttuu rehellisemmĂ€ksi.
- â Konkurssissa oleva yritys ei voi enÀÀ olla kuuma liidi. Aiemmin vahva talous- tai yhteystietopisteytys saattoi nostaa HOTiksi yrityksen, jonka kaupparekisteri kertoo lakanneeksi, konkurssissa olevaksi tai selvitystilaan asetetuksi. Mitattuna 1 915 liidin joukossa tĂ€llaisia oli seitsemĂ€n. Nyt rekisterin tieto estÀÀ HOTin riippumatta pisteistĂ€.
- đ Mitattu vaikutus ennen kĂ€yttöönottoa: 1 915 liidin aineistossa HOT-liidien mÀÀrĂ€ laskee 636:sta 278:aan. SĂ€ilyvistĂ€ 164 perustuu rahoituskykyyn, 76 uutistapahtumaan, 32 uuden yrityksen tai rahoituksen triggeriin ja 6 suoraan kiinnostussignaaliin. SÀÀntö lukee signaalin rakennetta eikĂ€ sanoja, joten se toimii samalla tavalla kaikissa maissa.
đŹđ§ English
- đ„ HOT used to mean only that a company was reachable. A lead turned hot merely because a personal email, a decision maker and a phone number were found. Measured on one run, 59 of 133 HOT leads had no buying signal at all: the score came entirely from contact details. The flame and the word HOT promise interest, so the metric gave sales the wrong call order. HOT now requires at least one buying signal: financial capacity, hiring, a news event, a newly registered company, a funding round or another interest signal. A financial figure as a bare fact is not enough. No lead disappears - it moves from HOT to WARM, so the sorting becomes more honest.
- â A bankrupt company can no longer be a hot lead. Strong financial or contact scoring could previously lift a company to HOT even though the trade register lists it as ceased, bankrupt or in liquidation. Measured across 1,915 leads, seven were in that state. The register now blocks HOT regardless of score.
- đ Impact measured before release: across 1,915 leads the number of HOT leads drops from 636 to 278. Of those kept, 164 rest on financial capacity, 76 on a news event, 32 on a new-company or funding trigger and 6 on a direct interest signal. The rule reads the structure of a signal rather than its wording, so it behaves identically in every country.
1.0.966
2026-08-171.0.966 - 2026-08-17 - "đ„ HOT tarkoittaa ostosignaalia, ei pelkkÀÀ tavoitettavuutta"
đ«đź Suomi
- đ„ HOT vaati ennen vain sitĂ€ ettĂ€ yritys on tavoitettavissa. Liidi nousi kuumaksi jo siitĂ€, ettĂ€ siltĂ€ löytyi henkilökohtainen sĂ€hköposti, pÀÀttĂ€jĂ€ ja puhelinnumero. Mitattuna yhdestĂ€ ajosta 59 HOT-liidillĂ€ 133:sta ei ollut yhtÀÀn ostosignaalia: pisteet tulivat kokonaan yhteystiedoista. Liekki ja sana HOT lupaavat kiinnostusta, joten mittari antoi myyjĂ€lle vÀÀrĂ€n jĂ€rjestyksen soittolistaan. Nyt HOT vaatii vĂ€hintÀÀn yhden ostosignaalin: rahoituskyvyn, rekrytoinnin, uutistapahtuman, uuden yrityksen, rahoituskierroksen tai muun kiinnostussignaalin. PelkkĂ€ talousluku faktana ei riitĂ€. Liidi ei katoa mihinkÀÀn - se laskee HOTista WARMiin, eli lajittelu muuttuu rehellisemmĂ€ksi.
- â Konkurssissa oleva yritys ei voi enÀÀ olla kuuma liidi. Aiemmin vahva talous- tai yhteystietopisteytys saattoi nostaa HOTiksi yrityksen, jonka kaupparekisteri kertoo lakanneeksi, konkurssissa olevaksi tai selvitystilaan asetetuksi. Mitattuna 1 915 liidin joukossa tĂ€llaisia oli seitsemĂ€n. Nyt rekisterin tieto estÀÀ HOTin riippumatta pisteistĂ€.
- đ Mitattu vaikutus ennen kĂ€yttöönottoa: 1 915 liidin aineistossa HOT-liidien mÀÀrĂ€ laskee 636:sta 278:aan. SĂ€ilyvistĂ€ 164 perustuu rahoituskykyyn, 76 uutistapahtumaan, 32 uuden yrityksen tai rahoituksen triggeriin ja 6 suoraan kiinnostussignaaliin. SÀÀntö lukee signaalin rakennetta eikĂ€ sanoja, joten se toimii samalla tavalla kaikissa maissa.
đŹđ§ English
- đ„ HOT used to mean only that a company was reachable. A lead turned hot merely because a personal email, a decision maker and a phone number were found. Measured on one run, 59 of 133 HOT leads had no buying signal at all: the score came entirely from contact details. The flame and the word HOT promise interest, so the metric gave sales the wrong call order. HOT now requires at least one buying signal: financial capacity, hiring, a news event, a newly registered company, a funding round or another interest signal. A financial figure as a bare fact is not enough. No lead disappears - it moves from HOT to WARM, so the sorting becomes more honest.
- â A bankrupt company can no longer be a hot lead. Strong financial or contact scoring could previously lift a company to HOT even though the trade register lists it as ceased, bankrupt or in liquidation. Measured across 1,915 leads, seven were in that state. The register now blocks HOT regardless of score.
- đ Impact measured before release: across 1,915 leads the number of HOT leads drops from 636 to 278. Of those kept, 164 rest on financial capacity, 76 on a news event, 32 on a new-company or funding trigger and 6 on a direct interest signal. The rule reads the structure of a signal rather than its wording, so it behaves identically in every country.
1.0.964
2026-08-171.0.964 - 2026-08-17 - "đ„ HOT tarkoittaa ostosignaalia, ei pelkkÀÀ tavoitettavuutta"
đ«đź Suomi
- đ„ HOT vaati ennen vain sitĂ€ ettĂ€ yritys on tavoitettavissa. Liidi nousi kuumaksi jo siitĂ€, ettĂ€ siltĂ€ löytyi henkilökohtainen sĂ€hköposti, pÀÀttĂ€jĂ€ ja puhelinnumero. Mitattuna yhdestĂ€ ajosta 59 HOT-liidillĂ€ 133:sta ei ollut yhtÀÀn ostosignaalia: pisteet tulivat kokonaan yhteystiedoista. Liekki ja sana HOT lupaavat kiinnostusta, joten mittari antoi myyjĂ€lle vÀÀrĂ€n jĂ€rjestyksen soittolistaan. Nyt HOT vaatii vĂ€hintÀÀn yhden ostosignaalin: rahoituskyvyn, rekrytoinnin, uutistapahtuman, uuden yrityksen, rahoituskierroksen tai muun kiinnostussignaalin. PelkkĂ€ talousluku faktana ei riitĂ€. Liidi ei katoa mihinkÀÀn - se laskee HOTista WARMiin, eli lajittelu muuttuu rehellisemmĂ€ksi.
- â Konkurssissa oleva yritys ei voi enÀÀ olla kuuma liidi. Aiemmin vahva talous- tai yhteystietopisteytys saattoi nostaa HOTiksi yrityksen, jonka kaupparekisteri kertoo lakanneeksi, konkurssissa olevaksi tai selvitystilaan asetetuksi. Mitattuna 1 915 liidin joukossa tĂ€llaisia oli seitsemĂ€n. Nyt rekisterin tieto estÀÀ HOTin riippumatta pisteistĂ€.
- đ Mitattu vaikutus ennen kĂ€yttöönottoa: 1 915 liidin aineistossa HOT-liidien mÀÀrĂ€ laskee 636:sta 278:aan. SĂ€ilyvistĂ€ 164 perustuu rahoituskykyyn, 76 uutistapahtumaan, 32 uuden yrityksen tai rahoituksen triggeriin ja 6 suoraan kiinnostussignaaliin. SÀÀntö lukee signaalin rakennetta eikĂ€ sanoja, joten se toimii samalla tavalla kaikissa maissa.
đŹđ§ English
- đ„ HOT used to mean only that a company was reachable. A lead turned hot merely because a personal email, a decision maker and a phone number were found. Measured on one run, 59 of 133 HOT leads had no buying signal at all: the score came entirely from contact details. The flame and the word HOT promise interest, so the metric gave sales the wrong call order. HOT now requires at least one buying signal: financial capacity, hiring, a news event, a newly registered company, a funding round or another interest signal. A financial figure as a bare fact is not enough. No lead disappears - it moves from HOT to WARM, so the sorting becomes more honest.
- â A bankrupt company can no longer be a hot lead. Strong financial or contact scoring could previously lift a company to HOT even though the trade register lists it as ceased, bankrupt or in liquidation. Measured across 1,915 leads, seven were in that state. The register now blocks HOT regardless of score.
- đ Impact measured before release: across 1,915 leads the number of HOT leads drops from 636 to 278. Of those kept, 164 rest on financial capacity, 76 on a news event, 32 on a new-company or funding trigger and 6 on a direct interest signal. The rule reads the structure of a signal rather than its wording, so it behaves identically in every country.
1.0.962
2026-08-171.0.962 - 2026-08-17 - "đ€ PÀÀttĂ€jĂ€mittari tarkoittaa samaa kuin sen oma suodatin"
đ«đź Suomi
- đ€ PÀÀttĂ€jĂ€mittari laski henkilöitĂ€, mutta sen klikkaus suodatti liidejĂ€. Kaupparekisteri antaa yritykselle usein useita toimihenkilöitĂ€ (toimitusjohtaja, hallituksen puheenjohtaja, varsinaiset jĂ€senet), joten mittari saattoi nĂ€yttÀÀ 30 pÀÀttĂ€jÀÀ 20 liidin ajossa. Luku oli sinĂ€nsĂ€ oikein, mutta se ei vastannut mitÀÀn mitĂ€ ruudulla nĂ€kyy: liidikortilla lukee yksi pÀÀttĂ€jĂ€, ja mittarin oma klikkaus rajaa kartan niihin liideihin joilla pÀÀttĂ€jĂ€ on. Nyt mittari, sen suodatin ja kortti tarkoittavat samaa asiaa: montako liidiĂ€ sinulla on, joilla on nimetty pÀÀttĂ€jĂ€. Luku ei siis voi enÀÀ ylittÀÀ liidien mÀÀrÀÀ.
- đ° Liikevaihtomittari nĂ€ytti nollaa vaikka liikevaihtoja löytyi. Eilen lisĂ€tty laskuri luki kenttÀÀ jota liidillĂ€ ei ole, joten se jĂ€i nollaan vaikka korteilla nĂ€kyi euromÀÀriĂ€. Nyt se lukee saman tiedon kuin kortti, ja laskee vain rekisteristĂ€ saadut luvut - arvio ei kelpaa löydetyksi liikevaihdoksi.
đŹđ§ English
- đ€ The decision-maker counter counted people while its own click filtered leads. The trade register often lists several officers for one company (CEO, chair of the board, ordinary members), so the counter could show 30 decision makers in a run of 20 leads. The number was correct in itself but matched nothing on screen: a lead card names one decision maker, and clicking the counter narrows the map to leads that have one. The counter, its filter and the card now mean the same thing: how many of your leads have a named decision maker. The number can no longer exceed the number of leads.
- đ° The revenue counter showed zero although revenue figures were found. The counter added yesterday read a field the lead does not have, so it stayed at zero while cards displayed euro amounts. It now reads the same data as the card, and counts only figures obtained from the register - an estimate does not qualify as a found revenue figure.
1.0.961
2026-08-171.0.961 - 2026-08-17 - "đ§âđ§ Rekrytointisignaali löytyy myös muualta kuin toimistosta"
đ«đź Suomi
- đ§âđ§ Rekrytointisignaali jĂ€i löytymĂ€ttĂ€ suomalaisilta pk-yrityksiltĂ€. Ohjelma vaatii rekrytointivĂ€itteelle kaksi todistetta: rekrytointifraasin ja tunnistetun ammattinimikkeen. Fraasit ("haemme", "etsimme", "rekrytoimme", "/tyopaikat") tunnistuivat suomeksi, mutta ammattinimikkeiden lista sisĂ€lsi vain kaksitoista toimistoroolia. Rakennus-, kuljetus-, hoiva- ja palvelualan yritysten avoimet paikat eivĂ€t siis kelvanneet todisteeksi, vaikka rekrysivu oli edessĂ€. Mitattuna Tilastokeskuksen ammattiluokitusta vasten tunnistettiin 178 nimikettĂ€ 687:stĂ€ eli neljĂ€sosa. LisĂ€ksi ilmoitukset kirjoitetaan lĂ€hes aina monikossa ("haemme asentajia"), jota yksikkömuoto ei tunnistanut lainkaan. Nyt tunnistus kattaa 73 prosenttia virallisista ammattinimikkeistĂ€ ja kolme neljĂ€stĂ€ aidosta työpaikkailmoituksen otsikosta. Varmistimme samalla, ettei sanasto muutu kumileimaksi: pelkkĂ€ ura-sivu tai "liity tiimiimme" ei edelleenkÀÀn riitĂ€ rekrytointivĂ€itteeksi.
- đ€ PÀÀttĂ€jĂ€mittari nĂ€ytti istunnon suurinta lukua, ei kĂ€ynnissĂ€ olevan ajon. Mittari lisĂ€ttiin ruudulle eilen, mutta se jĂ€i pois siitĂ€ listasta joka nollaa mittarit uuden haun alkaessa. Koska mittari nĂ€yttÀÀ aina suurimman nĂ€kemĂ€nsĂ€ arvon, se jĂ€i elĂ€mÀÀn edellisestĂ€ ajosta: livehaussa ruudulla luki 64 pÀÀttĂ€jÀÀ, vaikka ajossa oli 47 liidiĂ€. Nyt se nollataan samassa kohdassa kuin HOT, VERIFIOITU ja SĂHKĂPOSTIT. Sama vika korjattiin HOT-mittarista 12.8., ja vahti tarkistaa nyt myös nollauksen, ei pelkkÀÀ laskentaa.
đŹđ§ English
- đ§âđ§ The hiring signal was missing for Finnish small businesses. A hiring claim requires two proofs: a recruitment phrase and a recognised job title. The phrases worked in Finnish, but the job-title list held only twelve office roles, so open positions at construction, transport, care and service companies never counted as evidence even with the careers page in front of us. Measured against Statistics Finland's occupational classification, 178 of 687 titles were recognised, a quarter. Finnish job ads are also written in the plural ("we are looking for fitters"), a form the singular stem did not match at all. Recognition now covers 73 percent of the official titles and three out of four real job-ad headlines. We also verified the vocabulary did not become a rubber stamp: a careers link or "join our team" alone still does not qualify as a hiring claim.
- đ€ The decision-maker counter showed the session's highest number, not the current run's. The counter was added to the screen yesterday but was left out of the list that resets the counters when a new search starts. Because the counter always displays the highest value it has seen, it carried over from the previous run: a live search showed 64 decision makers while the run had 47 leads. It is now reset in the same place as HOT, VERIFIED and EMAILS. The same defect was fixed in the HOT counter on 12 August, and the watchdog now checks the reset as well, not just the counting.
1.0.960
2026-08-171.0.960 - 2026-08-17 - "đą Ajon luvut kertovat todisteet, eivĂ€t viestejĂ€"
đ«đź Suomi
- đą SĂ€hköpostien ja verifioitujen mÀÀrĂ€ oli liian suuri. Sama liidi kulkee ajon lĂ€pi kahdesta neljÀÀn kertaan (löytö, kevyt rikastus, syvĂ€rikastus), ja molemmat laskurit kasvoivat joka kerta. SĂ€hköpostilaskurilla oli lisĂ€ksi kaksi eri kutsupaikkaa, jotka laskivat saman osoitteen erikseen. Mitattuna yhdestĂ€ ajosta: ruudulla luki 345 sĂ€hköpostia, vaikka liidejĂ€ oli 249. Nyt jokainen luku on uniikkien todisteiden mÀÀrĂ€: sama osoite samalle yritykselle on yksi sĂ€hköposti riippumatta siitĂ€, kuinka monta kertaa se ajon aikana nĂ€hdÀÀn. TĂ€mĂ€ on sama korjaus, joka tehtiin aiemmin HOT-laskurille.
- đ Puhelinnumerot, pÀÀttĂ€jĂ€t ja liikevaihdot ovat nyt mitattuja lukuja. Ne olivat ajon datassa, mutta niitĂ€ ei laskettu mihinkÀÀn, joten ajosta ei voinut kertoa niiden mÀÀrÀÀ ilman ettĂ€ luku arvataan. Nyt ne lasketaan samalla uniikkisÀÀnnöllĂ€: sama numero eri kirjoitusasussa (+358 50 ja 05 0) on yksi puhelin, nimetön rivi ei ole pÀÀttĂ€jĂ€, ja liikevaihto lasketaan yrityksinĂ€ eikĂ€ lukuarvoina.
- đ§č Laskurit nollautuvat ajojen vĂ€lillĂ€. PÀÀttĂ€jĂ€laskurin muisti jĂ€i elĂ€mÀÀn ajosta toiseen, jolloin saman istunnon toinen ajo olisi jĂ€ttĂ€nyt jo kertaalleen nĂ€hdyt pÀÀttĂ€jĂ€t laskematta. Kaikki laskurit nollataan nyt samassa kohdassa.
đŹđ§ English
- đą The email and verified counts were too high. The same lead passes through a run two to four times (discovery, light enrichment, deep enrichment), and both counters grew every time. The email counter also had two separate call sites that counted the same address independently. Measured on one run: the screen said 345 emails while there were 249 leads. Every number is now a count of unique evidence: the same address for the same company is one email, no matter how often it is seen during the run. This is the same fix previously made to the HOT counter.
- đ Phone numbers, decision makers and revenue figures are now measured. They were in the run data but were never counted, so their totals could not be reported without guessing. They now use the same uniqueness rule: the same number in different formats is one phone, an unnamed row is not a decision maker, and revenue is counted as companies rather than figures.
- đ§č Counters reset between runs. The decision-maker counter's memory carried over from one run to the next, so a second run in the same session would have skipped decision makers it had already seen. All counters now reset in the same place.
1.0.959
2026-08-161.0.959 - 2026-08-17 - "đ”ïž Samanniminen yritys ei peri toisen yhteystietoja"
đ«đź Suomi
- đ”ïž Samanniminen yritys ei enÀÀ peri toisen yhteystietoja. Toukokuussa 2026 rekisteröity "White Hat IQ Oy" sai kortilleen verkkotunnuksen whitehat.fi, joka kuuluu kaupparekisterin mukaan eri yhtiölle: White Hat Oy, rekisteröity helmikuussa 2014. Kortilla nĂ€kyi siis toisen yrityksen kolme sĂ€hköpostia, neljĂ€ puhelinnumeroa ja pÀÀttĂ€jĂ€n nimi. MikÀÀn aiempi tarkistus ei napannut sitĂ€, koska kaikki tavanomaiset merkit tĂ€smĂ€sivĂ€t: sama maa, sama toimiala ja sivulla luki "White Hat" yksitoista kertaa. Erottava sana "IQ" katosi matkalla, koska ohjelma pudotti alle kolmen merkin sanat. Nyt arvattu verkkotunnus hylĂ€tÀÀn kun kaksi ehtoa tĂ€yttyy yhtĂ€ aikaa: nimen erottava sana ei esiinny verkkotunnuksessa eikĂ€ missÀÀn kohtaa sivustoa, JA verkkotunnus on rekisteröity yli vuosi ennen yritystĂ€. JĂ€lkimmĂ€inen on looginen mahdottomuus: whitehat.fi rekisteröitiin 7.1.2014, kaksitoista vuotta ennen kuin kortin yritys oli olemassa.
- đ Miksi kaksi ehtoa eikĂ€ yksi. SÀÀntö mitattiin 5 542 todellista nimi-verkkotunnus-paria vastaan. PelkkĂ€ puuttuva sana hylkĂ€isi noin kolmanneksen OIKEISTA osumista, koska yhtiön virallisessa nimessĂ€ on usein sana jota sivusto ei kirjoita ("Iloisa Konsultointi Oy" - sivulla lukee vain Iloisa). PelkkĂ€ vanha verkkotunnus ei sekÀÀn riitĂ€, koska toiminimen muuttuessa osakeyhtiöksi vanha verkkotunnus siirtyy laillisesti. YhdessĂ€ ne ovat mahdottomuus, ja portti hylkÀÀ vain ne.
- đȘ Portti on kaikissa arvausreiteissĂ€. Sama tarkistus tehdÀÀn nyt nimestĂ€ arvatulle osoitteelle, hakemistosta poimitulle, karttatiedosta saadulle ja hakukoneen palauttamalle. TĂ€mĂ€ oli olennaista: mitattuna itse tapaus tuli hakukoneesta, ei nimiarvauksesta, joten yhden reitin korjaus ei olisi auttanut lainkaan. Jos verkkotunnusrekisteri ei vastaa, mitÀÀn ei hylĂ€tĂ€.
đŹđ§ English
- đ”ïž A company with a similar name no longer inherits another company's contacts. "White Hat IQ Oy", registered in May 2026, was given the domain whitehat.fi, which the trade register says belongs to a different company: White Hat Oy, registered in February 2014. The card therefore showed another company's three emails, four phone numbers and decision maker. No existing check caught it, because every ordinary signal matched: same country, same industry, and the page said "White Hat" eleven times. The distinguishing word "IQ" was lost on the way, because the app dropped words shorter than three characters. A guessed domain is now rejected when two conditions hold at once: a distinguishing word from the name appears neither in the domain nor anywhere on the site, AND the domain was registered more than a year before the company. The latter is a logical impossibility: whitehat.fi was registered on 7 January 2014, twelve years before the company on the card existed.
- đ Why two conditions and not one. The rule was measured against 5,542 real name-to-domain pairs. A missing word alone would reject about a third of CORRECT matches, because an official company name often contains a word the website never spells out. An old domain alone is not enough either, because when a sole trader incorporates, the old domain transfers legally. Together they are an impossibility, and only those are rejected.
- đȘ The gate covers every guess route. The same check now applies to a domain guessed from the name, taken from a directory, read from map data, or returned by a search engine. That mattered: measured, this very case came from a search engine rather than a name guess, so fixing one route alone would not have helped. If the domain registry does not answer, nothing is dropped.
1.0.958
2026-08-161.0.958 - 2026-08-16 - "đ Kotisivu luetaan loppuun asti"
đ«đź Suomi
- đ” Domainin ikĂ€ kysytÀÀn vain sieltĂ€ mistĂ€ sen saa. Verkkotunnusrekisterit kertovat domainin perustamispĂ€ivĂ€n hyvin eri tavoin: Suomessa se saadaan aina, mutta Saksassa, Ruotsissa, Virossa ja EtelĂ€-Afrikassa rekisteri ei kerro sitĂ€ lainkaan tietosuojasyistĂ€. Ohjelma kysyi silti jokaiselta - mitattuna yhdessĂ€ Saksan ajossa 579 kyselyĂ€ ja 194 sekuntia ilman yhtÀÀn pĂ€ivĂ€mÀÀrÀÀ, ja kolmasosa niistĂ€ törmĂ€si vielĂ€ palvelun kĂ€yttörajaan. Nyt ohjelma oppii ajon aikana: viisi tyhjÀÀ vastausta samalta pÀÀtteeltĂ€ riittÀÀ, ja loput saman ajon kyselyt jĂ€tetÀÀn tekemĂ€ttĂ€. MitÀÀn maalistaa ei ole kovakoodattu - jos rekisteri muuttaa kĂ€ytĂ€ntöÀÀn, ohjelma huomaa sen seuraavassa ajossa.
- đ Samaa sivua ei enÀÀ haeta kahdesti eri kirjoitusasussa. Sivukartta ilmoittaa yhteystietosivun muodossa "/kontakt/" ja ohjelman oma lista muodossa "/kontakt" - ohjelma piti niitĂ€ eri sivuina ja haki molemmat, jolloin toinen oli pelkkĂ€ uudelleenohjaus edelliseen. Sama koski etusivua ("" ja "/"). Mitattuna yhdessĂ€ Saksan ajossa 627 turhaa hakua ja 752 sekuntia, eli 11 % kaikesta sivujen hakuajasta.
- ⥠Suurten sivujen tarkistus ei enÀÀ jÀÀdytĂ€ ohjelmaa. Kun sivua luetaan enemmĂ€n, sen tarkistaminen vie myös enemmĂ€n laskentaa - pahimmillaan puolitoista sekuntia yhdestĂ€ sivusta. Se tehdÀÀn nyt taustasĂ€ikeessĂ€, joten muu haku etenee sillĂ€ vĂ€lin (mitattu: ohjelman vaste 533 ms â 38 ms samalla sivulla).
- đ Sama haku tuottaa enemmĂ€n yhteystietoja. Ohjelma odotti hitaita tietolĂ€hteitĂ€ yksi kerrallaan jonossa, mikĂ€ rajoitti koko haun etenemistĂ€. Nyt odotukset limittyvĂ€t keskenÀÀn. Mitattuna samalla haulla ja samalla aikarajalla: sĂ€hköposteja ja puhelinnumeroita noin 15 % enemmĂ€n kuin parhaassa aiemmassa mittauksessa, ilman ettĂ€ hakuun lisĂ€ttiin mitÀÀn.
- ⥠Haku ei enÀÀ pysÀhtele kesken ajon. Ohjelma jÀi odottamaan yhtÀ tietolÀhdettÀ kerrallaan niin, ettÀ kaikki muu haku seisoi sen ajan - pahimmillaan yli kymmenen sekuntia yhtÀ liidiÀ kohden. Mitattuna yhdessÀ ajossa ohjelma oli pysÀhdyksissÀ 90 % ajasta, ja se sai valmiitkin vastaukset nÀyttÀmÀÀn hitailta: kymmenen sekunnin aikarajalla haetut sivut kirjautuivat lokiin lÀhes minuutin mittaisiksi ja osa hylÀttiin turhaan "liian hitaana". Nyt odottaminen tapahtuu sivussa eikÀ pysÀytÀ muuta hakua. Liidit tulevat samassa jÀrjestyksessÀ kuin ennenkin eikÀ yksikÀÀn jÀÀ lÀhettÀmÀttÀ.
- đ€ Kohdesivustoja kuormitetaan neljĂ€nneksen vĂ€hemmĂ€n, sama tulos. Ohjelma tunnistaa sivuston oikean osoitteen heti eikĂ€ kysele sitĂ€ uudelleen sivu kerrallaan. Mitattuna: neljĂ€nnes vĂ€hemmĂ€n kyselyitĂ€ kohdesivustoille, ja tulos tĂ€smĂ€lleen sama (yhteystiedot ja pÀÀttĂ€jĂ€t ennallaan). Kevyempi jalanjĂ€lki tarkoittaa myös pienempÀÀ riskiĂ€ tulla estetyksi.
- đ Kotisivun tarkistus lukee sivun loppuun asti. Maatarkistus (kuuluuko .com-domain oikean maan firmalle) luki sivusta vain ensimmĂ€iset 120 kilotavua, mutta todisteet - osoite, puhelinnumero, maalinkit - ovat footerissa: mitattuna viimeinen puhelinnumero on mediaanilla vasta 102 kilotavun kohdalla ja joka kymmenennellĂ€ sivulla vasta 466 kilotavun kohdalla. Kuudella sivustolla sadasta tarkistus sanoi "ei todisteita" vaikka sivu kertoi ne selvĂ€sti. Nyt luetaan 500 kilotavuun asti; yksikÀÀn tarkistus ei heikentynyt ja hinta on olematon, koska sivun runko on vain 6 % latausajasta (odotus palvelimen vastauksesta on loput 94 %).
đŹđ§ English
- đ” Domain age is asked only where it is actually available. Domain registries publish the creation date very differently: in Finland it always comes through, while in Germany, Sweden, Estonia and South Africa the registry withholds it for privacy reasons. The app asked everyone anyway - measured in one German run: 579 queries and 194 seconds for zero dates, a third of them hitting the service rate limit. The app now learns during the run: five empty answers from the same source is enough, and the remaining queries are skipped. No country list is hardcoded - if a registry changes its policy, the app notices on the next run.
- đ The same page is no longer fetched twice in different spellings. A sitemap lists the contact page as "/kontakt/" while the app's own list has "/kontakt" - the app treated them as different pages and fetched both, the second being just a redirect to the first. The same applied to the homepage ("" vs "/"). Measured in one German run: 627 wasted requests and 752 seconds, 11% of all page-fetch time.
- ⥠Checking large pages no longer freezes the app. Reading more of a page also means more parsing - up to a second and a half for a single page. That work now runs on a background thread, so the rest of the search keeps moving (measured: app responsiveness 533 ms â 38 ms on the same page).
- đ The same search yields more contact details. The app waited for slow data sources one at a time in a queue, which held back the whole search. Those waits now overlap. Measured on the same search with the same time limit: about 15% more emails and phone numbers than the best previous measurement, with nothing added to the search itself.
- ⥠The search no longer stalls mid-run. The app would wait for one data source at a time in a way that halted everything else while it waited - at worst over ten seconds per lead. Measured in one run: the app was stalled 90% of the time, which also made answers that had already arrived look slow: pages fetched with a ten-second limit were logged as taking almost a minute, and some were discarded as "too slow" for no reason. Waiting now happens on the side and no longer halts the rest of the search. Leads arrive in the same order as before and none are dropped.
- đ€ A quarter less load on target sites, same result. The app recognises a site's correct address up front instead of asking for it again page by page. Measured: a quarter fewer requests to target sites, with results exactly unchanged (contact details and decision makers the same). A lighter footprint also means a lower risk of being blocked.
- đ The homepage check now reads the page to the end. The country check (does a .com domain belong to the right country's company) read only the first 120 kilobytes, but the evidence - address, phone number, country links - sits in the footer: measured, the last phone number appears at 102 kilobytes on the median page and at 466 kilobytes on one page in ten. On six sites in a hundred the check said "no evidence" although the page stated it plainly. Now it reads up to 500 kilobytes; no verdict got worse and the cost is negligible, because the page body is only 6% of load time (waiting for the server is the other 94%).
1.0.957
2026-08-161.0.957 - 2026-08-16 - "đ Kotisivu luetaan loppuun asti"
đ«đź Suomi
- đ” Domainin ikĂ€ kysytÀÀn vain sieltĂ€ mistĂ€ sen saa. Verkkotunnusrekisterit kertovat domainin perustamispĂ€ivĂ€n hyvin eri tavoin: Suomessa se saadaan aina, mutta Saksassa, Ruotsissa, Virossa ja EtelĂ€-Afrikassa rekisteri ei kerro sitĂ€ lainkaan tietosuojasyistĂ€. Ohjelma kysyi silti jokaiselta - mitattuna yhdessĂ€ Saksan ajossa 579 kyselyĂ€ ja 194 sekuntia ilman yhtÀÀn pĂ€ivĂ€mÀÀrÀÀ, ja kolmasosa niistĂ€ törmĂ€si vielĂ€ palvelun kĂ€yttörajaan. Nyt ohjelma oppii ajon aikana: viisi tyhjÀÀ vastausta samalta pÀÀtteeltĂ€ riittÀÀ, ja loput saman ajon kyselyt jĂ€tetÀÀn tekemĂ€ttĂ€. MitÀÀn maalistaa ei ole kovakoodattu - jos rekisteri muuttaa kĂ€ytĂ€ntöÀÀn, ohjelma huomaa sen seuraavassa ajossa.
- đ Samaa sivua ei enÀÀ haeta kahdesti eri kirjoitusasussa. Sivukartta ilmoittaa yhteystietosivun muodossa "/kontakt/" ja ohjelman oma lista muodossa "/kontakt" - ohjelma piti niitĂ€ eri sivuina ja haki molemmat, jolloin toinen oli pelkkĂ€ uudelleenohjaus edelliseen. Sama koski etusivua ("" ja "/"). Mitattuna yhdessĂ€ Saksan ajossa 627 turhaa hakua ja 752 sekuntia, eli 11 % kaikesta sivujen hakuajasta.
- ⥠Suurten sivujen tarkistus ei enÀÀ jÀÀdytĂ€ ohjelmaa. Kun sivua luetaan enemmĂ€n, sen tarkistaminen vie myös enemmĂ€n laskentaa - pahimmillaan puolitoista sekuntia yhdestĂ€ sivusta. Se tehdÀÀn nyt taustasĂ€ikeessĂ€, joten muu haku etenee sillĂ€ vĂ€lin (mitattu: ohjelman vaste 533 ms â 38 ms samalla sivulla).
- đ Sama haku tuottaa enemmĂ€n yhteystietoja. Ohjelma odotti hitaita tietolĂ€hteitĂ€ yksi kerrallaan jonossa, mikĂ€ rajoitti koko haun etenemistĂ€. Nyt odotukset limittyvĂ€t keskenÀÀn. Mitattuna samalla haulla ja samalla aikarajalla: sĂ€hköposteja ja puhelinnumeroita noin 15 % enemmĂ€n kuin parhaassa aiemmassa mittauksessa, ilman ettĂ€ hakuun lisĂ€ttiin mitÀÀn.
- ⥠Haku ei enÀÀ pysÀhtele kesken ajon. Ohjelma jÀi odottamaan yhtÀ tietolÀhdettÀ kerrallaan niin, ettÀ kaikki muu haku seisoi sen ajan - pahimmillaan yli kymmenen sekuntia yhtÀ liidiÀ kohden. Mitattuna yhdessÀ ajossa ohjelma oli pysÀhdyksissÀ 90 % ajasta, ja se sai valmiitkin vastaukset nÀyttÀmÀÀn hitailta: kymmenen sekunnin aikarajalla haetut sivut kirjautuivat lokiin lÀhes minuutin mittaisiksi ja osa hylÀttiin turhaan "liian hitaana". Nyt odottaminen tapahtuu sivussa eikÀ pysÀytÀ muuta hakua. Liidit tulevat samassa jÀrjestyksessÀ kuin ennenkin eikÀ yksikÀÀn jÀÀ lÀhettÀmÀttÀ.
- đ€ Kohdesivustoja kuormitetaan neljĂ€nneksen vĂ€hemmĂ€n, sama tulos. Ohjelma tunnistaa sivuston oikean osoitteen heti eikĂ€ kysele sitĂ€ uudelleen sivu kerrallaan. Mitattuna: neljĂ€nnes vĂ€hemmĂ€n kyselyitĂ€ kohdesivustoille, ja tulos tĂ€smĂ€lleen sama (yhteystiedot ja pÀÀttĂ€jĂ€t ennallaan). Kevyempi jalanjĂ€lki tarkoittaa myös pienempÀÀ riskiĂ€ tulla estetyksi.
- đ Kotisivun tarkistus lukee sivun loppuun asti. Maatarkistus (kuuluuko .com-domain oikean maan firmalle) luki sivusta vain ensimmĂ€iset 120 kilotavua, mutta todisteet - osoite, puhelinnumero, maalinkit - ovat footerissa: mitattuna viimeinen puhelinnumero on mediaanilla vasta 102 kilotavun kohdalla ja joka kymmenennellĂ€ sivulla vasta 466 kilotavun kohdalla. Kuudella sivustolla sadasta tarkistus sanoi "ei todisteita" vaikka sivu kertoi ne selvĂ€sti. Nyt luetaan 500 kilotavuun asti; yksikÀÀn tarkistus ei heikentynyt ja hinta on olematon, koska sivun runko on vain 6 % latausajasta (odotus palvelimen vastauksesta on loput 94 %).
đŹđ§ English
- đ” Domain age is asked only where it is actually available. Domain registries publish the creation date very differently: in Finland it always comes through, while in Germany, Sweden, Estonia and South Africa the registry withholds it for privacy reasons. The app asked everyone anyway - measured in one German run: 579 queries and 194 seconds for zero dates, a third of them hitting the service rate limit. The app now learns during the run: five empty answers from the same source is enough, and the remaining queries are skipped. No country list is hardcoded - if a registry changes its policy, the app notices on the next run.
- đ The same page is no longer fetched twice in different spellings. A sitemap lists the contact page as "/kontakt/" while the app's own list has "/kontakt" - the app treated them as different pages and fetched both, the second being just a redirect to the first. The same applied to the homepage ("" vs "/"). Measured in one German run: 627 wasted requests and 752 seconds, 11% of all page-fetch time.
- ⥠Checking large pages no longer freezes the app. Reading more of a page also means more parsing - up to a second and a half for a single page. That work now runs on a background thread, so the rest of the search keeps moving (measured: app responsiveness 533 ms â 38 ms on the same page).
- đ The same search yields more contact details. The app waited for slow data sources one at a time in a queue, which held back the whole search. Those waits now overlap. Measured on the same search with the same time limit: about 15% more emails and phone numbers than the best previous measurement, with nothing added to the search itself.
- ⥠The search no longer stalls mid-run. The app would wait for one data source at a time in a way that halted everything else while it waited - at worst over ten seconds per lead. Measured in one run: the app was stalled 90% of the time, which also made answers that had already arrived look slow: pages fetched with a ten-second limit were logged as taking almost a minute, and some were discarded as "too slow" for no reason. Waiting now happens on the side and no longer halts the rest of the search. Leads arrive in the same order as before and none are dropped.
- đ€ A quarter less load on target sites, same result. The app recognises a site's correct address up front instead of asking for it again page by page. Measured: a quarter fewer requests to target sites, with results exactly unchanged (contact details and decision makers the same). A lighter footprint also means a lower risk of being blocked.
- đ The homepage check now reads the page to the end. The country check (does a .com domain belong to the right country's company) read only the first 120 kilobytes, but the evidence - address, phone number, country links - sits in the footer: measured, the last phone number appears at 102 kilobytes on the median page and at 466 kilobytes on one page in ten. On six sites in a hundred the check said "no evidence" although the page stated it plainly. Now it reads up to 500 kilobytes; no verdict got worse and the cost is negligible, because the page body is only 6% of load time (waiting for the server is the other 94%).
1.0.956
2026-08-161.0.956 - 2026-08-16 - "đ Kotisivu luetaan loppuun asti"
đ«đź Suomi
- đ” Domainin ikĂ€ kysytÀÀn vain sieltĂ€ mistĂ€ sen saa. Verkkotunnusrekisterit kertovat domainin perustamispĂ€ivĂ€n hyvin eri tavoin: Suomessa se saadaan aina, mutta Saksassa, Ruotsissa, Virossa ja EtelĂ€-Afrikassa rekisteri ei kerro sitĂ€ lainkaan tietosuojasyistĂ€. Ohjelma kysyi silti jokaiselta - mitattuna yhdessĂ€ Saksan ajossa 579 kyselyĂ€ ja 194 sekuntia ilman yhtÀÀn pĂ€ivĂ€mÀÀrÀÀ, ja kolmasosa niistĂ€ törmĂ€si vielĂ€ palvelun kĂ€yttörajaan. Nyt ohjelma oppii ajon aikana: viisi tyhjÀÀ vastausta samalta pÀÀtteeltĂ€ riittÀÀ, ja loput saman ajon kyselyt jĂ€tetÀÀn tekemĂ€ttĂ€. MitÀÀn maalistaa ei ole kovakoodattu - jos rekisteri muuttaa kĂ€ytĂ€ntöÀÀn, ohjelma huomaa sen seuraavassa ajossa.
- đ Samaa sivua ei enÀÀ haeta kahdesti eri kirjoitusasussa. Sivukartta ilmoittaa yhteystietosivun muodossa "/kontakt/" ja ohjelman oma lista muodossa "/kontakt" - ohjelma piti niitĂ€ eri sivuina ja haki molemmat, jolloin toinen oli pelkkĂ€ uudelleenohjaus edelliseen. Sama koski etusivua ("" ja "/"). Mitattuna yhdessĂ€ Saksan ajossa 627 turhaa hakua ja 752 sekuntia, eli 11 % kaikesta sivujen hakuajasta.
- ⥠Suurten sivujen tarkistus ei enÀÀ jÀÀdytĂ€ ohjelmaa. Kun sivua luetaan enemmĂ€n, sen tarkistaminen vie myös enemmĂ€n laskentaa - pahimmillaan puolitoista sekuntia yhdestĂ€ sivusta. Se tehdÀÀn nyt taustasĂ€ikeessĂ€, joten muu haku etenee sillĂ€ vĂ€lin (mitattu: ohjelman vaste 533 ms â 38 ms samalla sivulla).
- đ Sama haku tuottaa enemmĂ€n yhteystietoja. Ohjelma odotti hitaita tietolĂ€hteitĂ€ yksi kerrallaan jonossa, mikĂ€ rajoitti koko haun etenemistĂ€. Nyt odotukset limittyvĂ€t keskenÀÀn. Mitattuna samalla haulla ja samalla aikarajalla: sĂ€hköposteja ja puhelinnumeroita noin 15 % enemmĂ€n kuin parhaassa aiemmassa mittauksessa, ilman ettĂ€ hakuun lisĂ€ttiin mitÀÀn.
- ⥠Haku ei enÀÀ pysÀhtele kesken ajon. Ohjelma jÀi odottamaan yhtÀ tietolÀhdettÀ kerrallaan niin, ettÀ kaikki muu haku seisoi sen ajan - pahimmillaan yli kymmenen sekuntia yhtÀ liidiÀ kohden. Mitattuna yhdessÀ ajossa ohjelma oli pysÀhdyksissÀ 90 % ajasta, ja se sai valmiitkin vastaukset nÀyttÀmÀÀn hitailta: kymmenen sekunnin aikarajalla haetut sivut kirjautuivat lokiin lÀhes minuutin mittaisiksi ja osa hylÀttiin turhaan "liian hitaana". Nyt odottaminen tapahtuu sivussa eikÀ pysÀytÀ muuta hakua. Liidit tulevat samassa jÀrjestyksessÀ kuin ennenkin eikÀ yksikÀÀn jÀÀ lÀhettÀmÀttÀ.
- đ€ Kohdesivustoja kuormitetaan neljĂ€nneksen vĂ€hemmĂ€n, sama tulos. Ohjelma tunnistaa sivuston oikean osoitteen heti eikĂ€ kysele sitĂ€ uudelleen sivu kerrallaan. Mitattuna: neljĂ€nnes vĂ€hemmĂ€n kyselyitĂ€ kohdesivustoille, ja tulos tĂ€smĂ€lleen sama (yhteystiedot ja pÀÀttĂ€jĂ€t ennallaan). Kevyempi jalanjĂ€lki tarkoittaa myös pienempÀÀ riskiĂ€ tulla estetyksi.
- đ Kotisivun tarkistus lukee sivun loppuun asti. Maatarkistus (kuuluuko .com-domain oikean maan firmalle) luki sivusta vain ensimmĂ€iset 120 kilotavua, mutta todisteet - osoite, puhelinnumero, maalinkit - ovat footerissa: mitattuna viimeinen puhelinnumero on mediaanilla vasta 102 kilotavun kohdalla ja joka kymmenennellĂ€ sivulla vasta 466 kilotavun kohdalla. Kuudella sivustolla sadasta tarkistus sanoi "ei todisteita" vaikka sivu kertoi ne selvĂ€sti. Nyt luetaan 500 kilotavuun asti; yksikÀÀn tarkistus ei heikentynyt ja hinta on olematon, koska sivun runko on vain 6 % latausajasta (odotus palvelimen vastauksesta on loput 94 %).
đŹđ§ English
- đ” Domain age is asked only where it is actually available. Domain registries publish the creation date very differently: in Finland it always comes through, while in Germany, Sweden, Estonia and South Africa the registry withholds it for privacy reasons. The app asked everyone anyway - measured in one German run: 579 queries and 194 seconds for zero dates, a third of them hitting the service rate limit. The app now learns during the run: five empty answers from the same source is enough, and the remaining queries are skipped. No country list is hardcoded - if a registry changes its policy, the app notices on the next run.
- đ The same page is no longer fetched twice in different spellings. A sitemap lists the contact page as "/kontakt/" while the app's own list has "/kontakt" - the app treated them as different pages and fetched both, the second being just a redirect to the first. The same applied to the homepage ("" vs "/"). Measured in one German run: 627 wasted requests and 752 seconds, 11% of all page-fetch time.
- ⥠Checking large pages no longer freezes the app. Reading more of a page also means more parsing - up to a second and a half for a single page. That work now runs on a background thread, so the rest of the search keeps moving (measured: app responsiveness 533 ms â 38 ms on the same page).
- đ The same search yields more contact details. The app waited for slow data sources one at a time in a queue, which held back the whole search. Those waits now overlap. Measured on the same search with the same time limit: about 15% more emails and phone numbers than the best previous measurement, with nothing added to the search itself.
- ⥠The search no longer stalls mid-run. The app would wait for one data source at a time in a way that halted everything else while it waited - at worst over ten seconds per lead. Measured in one run: the app was stalled 90% of the time, which also made answers that had already arrived look slow: pages fetched with a ten-second limit were logged as taking almost a minute, and some were discarded as "too slow" for no reason. Waiting now happens on the side and no longer halts the rest of the search. Leads arrive in the same order as before and none are dropped.
- đ€ A quarter less load on target sites, same result. The app recognises a site's correct address up front instead of asking for it again page by page. Measured: a quarter fewer requests to target sites, with results exactly unchanged (contact details and decision makers the same). A lighter footprint also means a lower risk of being blocked.
- đ The homepage check now reads the page to the end. The country check (does a .com domain belong to the right country's company) read only the first 120 kilobytes, but the evidence - address, phone number, country links - sits in the footer: measured, the last phone number appears at 102 kilobytes on the median page and at 466 kilobytes on one page in ten. On six sites in a hundred the check said "no evidence" although the page stated it plainly. Now it reads up to 500 kilobytes; no verdict got worse and the cost is negligible, because the page body is only 6% of load time (waiting for the server is the other 94%).
1.0.955
2026-08-161.0.955 - 2026-08-16 - "đ Kotisivu luetaan loppuun asti"
đ«đź Suomi
- đ” Domainin ikĂ€ kysytÀÀn vain sieltĂ€ mistĂ€ sen saa. Verkkotunnusrekisterit kertovat domainin perustamispĂ€ivĂ€n hyvin eri tavoin: Suomessa se saadaan aina, mutta Saksassa, Ruotsissa, Virossa ja EtelĂ€-Afrikassa rekisteri ei kerro sitĂ€ lainkaan tietosuojasyistĂ€. Ohjelma kysyi silti jokaiselta - mitattuna yhdessĂ€ Saksan ajossa 579 kyselyĂ€ ja 194 sekuntia ilman yhtÀÀn pĂ€ivĂ€mÀÀrÀÀ, ja kolmasosa niistĂ€ törmĂ€si vielĂ€ palvelun kĂ€yttörajaan. Nyt ohjelma oppii ajon aikana: viisi tyhjÀÀ vastausta samalta pÀÀtteeltĂ€ riittÀÀ, ja loput saman ajon kyselyt jĂ€tetÀÀn tekemĂ€ttĂ€. MitÀÀn maalistaa ei ole kovakoodattu - jos rekisteri muuttaa kĂ€ytĂ€ntöÀÀn, ohjelma huomaa sen seuraavassa ajossa.
- đ Samaa sivua ei enÀÀ haeta kahdesti eri kirjoitusasussa. Sivukartta ilmoittaa yhteystietosivun muodossa "/kontakt/" ja ohjelman oma lista muodossa "/kontakt" - ohjelma piti niitĂ€ eri sivuina ja haki molemmat, jolloin toinen oli pelkkĂ€ uudelleenohjaus edelliseen. Sama koski etusivua ("" ja "/"). Mitattuna yhdessĂ€ Saksan ajossa 627 turhaa hakua ja 752 sekuntia, eli 11 % kaikesta sivujen hakuajasta.
- ⥠Suurten sivujen tarkistus ei enÀÀ jÀÀdytĂ€ ohjelmaa. Kun sivua luetaan enemmĂ€n, sen tarkistaminen vie myös enemmĂ€n laskentaa - pahimmillaan puolitoista sekuntia yhdestĂ€ sivusta. Se tehdÀÀn nyt taustasĂ€ikeessĂ€, joten muu haku etenee sillĂ€ vĂ€lin (mitattu: ohjelman vaste 533 ms â 38 ms samalla sivulla).
- đ Sama haku tuottaa enemmĂ€n yhteystietoja. Ohjelma odotti hitaita tietolĂ€hteitĂ€ yksi kerrallaan jonossa, mikĂ€ rajoitti koko haun etenemistĂ€. Nyt odotukset limittyvĂ€t keskenÀÀn. Mitattuna samalla haulla ja samalla aikarajalla: sĂ€hköposteja ja puhelinnumeroita noin 15 % enemmĂ€n kuin parhaassa aiemmassa mittauksessa, ilman ettĂ€ hakuun lisĂ€ttiin mitÀÀn.
- ⥠Haku ei enÀÀ pysÀhtele kesken ajon. Ohjelma jÀi odottamaan yhtÀ tietolÀhdettÀ kerrallaan niin, ettÀ kaikki muu haku seisoi sen ajan - pahimmillaan yli kymmenen sekuntia yhtÀ liidiÀ kohden. Mitattuna yhdessÀ ajossa ohjelma oli pysÀhdyksissÀ 90 % ajasta, ja se sai valmiitkin vastaukset nÀyttÀmÀÀn hitailta: kymmenen sekunnin aikarajalla haetut sivut kirjautuivat lokiin lÀhes minuutin mittaisiksi ja osa hylÀttiin turhaan "liian hitaana". Nyt odottaminen tapahtuu sivussa eikÀ pysÀytÀ muuta hakua. Liidit tulevat samassa jÀrjestyksessÀ kuin ennenkin eikÀ yksikÀÀn jÀÀ lÀhettÀmÀttÀ.
- đ€ Kohdesivustoja kuormitetaan neljĂ€nneksen vĂ€hemmĂ€n, sama tulos. Ohjelma tunnistaa sivuston oikean osoitteen heti eikĂ€ kysele sitĂ€ uudelleen sivu kerrallaan. Mitattuna: neljĂ€nnes vĂ€hemmĂ€n kyselyitĂ€ kohdesivustoille, ja tulos tĂ€smĂ€lleen sama (yhteystiedot ja pÀÀttĂ€jĂ€t ennallaan). Kevyempi jalanjĂ€lki tarkoittaa myös pienempÀÀ riskiĂ€ tulla estetyksi.
- đ Kotisivun tarkistus lukee sivun loppuun asti. Maatarkistus (kuuluuko .com-domain oikean maan firmalle) luki sivusta vain ensimmĂ€iset 120 kilotavua, mutta todisteet - osoite, puhelinnumero, maalinkit - ovat footerissa: mitattuna viimeinen puhelinnumero on mediaanilla vasta 102 kilotavun kohdalla ja joka kymmenennellĂ€ sivulla vasta 466 kilotavun kohdalla. Kuudella sivustolla sadasta tarkistus sanoi "ei todisteita" vaikka sivu kertoi ne selvĂ€sti. Nyt luetaan 500 kilotavuun asti; yksikÀÀn tarkistus ei heikentynyt ja hinta on olematon, koska sivun runko on vain 6 % latausajasta (odotus palvelimen vastauksesta on loput 94 %).
đŹđ§ English
- đ” Domain age is asked only where it is actually available. Domain registries publish the creation date very differently: in Finland it always comes through, while in Germany, Sweden, Estonia and South Africa the registry withholds it for privacy reasons. The app asked everyone anyway - measured in one German run: 579 queries and 194 seconds for zero dates, a third of them hitting the service rate limit. The app now learns during the run: five empty answers from the same source is enough, and the remaining queries are skipped. No country list is hardcoded - if a registry changes its policy, the app notices on the next run.
- đ The same page is no longer fetched twice in different spellings. A sitemap lists the contact page as "/kontakt/" while the app's own list has "/kontakt" - the app treated them as different pages and fetched both, the second being just a redirect to the first. The same applied to the homepage ("" vs "/"). Measured in one German run: 627 wasted requests and 752 seconds, 11% of all page-fetch time.
- ⥠Checking large pages no longer freezes the app. Reading more of a page also means more parsing - up to a second and a half for a single page. That work now runs on a background thread, so the rest of the search keeps moving (measured: app responsiveness 533 ms â 38 ms on the same page).
- đ The same search yields more contact details. The app waited for slow data sources one at a time in a queue, which held back the whole search. Those waits now overlap. Measured on the same search with the same time limit: about 15% more emails and phone numbers than the best previous measurement, with nothing added to the search itself.
- ⥠The search no longer stalls mid-run. The app would wait for one data source at a time in a way that halted everything else while it waited - at worst over ten seconds per lead. Measured in one run: the app was stalled 90% of the time, which also made answers that had already arrived look slow: pages fetched with a ten-second limit were logged as taking almost a minute, and some were discarded as "too slow" for no reason. Waiting now happens on the side and no longer halts the rest of the search. Leads arrive in the same order as before and none are dropped.
- đ€ A quarter less load on target sites, same result. The app recognises a site's correct address up front instead of asking for it again page by page. Measured: a quarter fewer requests to target sites, with results exactly unchanged (contact details and decision makers the same). A lighter footprint also means a lower risk of being blocked.
- đ The homepage check now reads the page to the end. The country check (does a .com domain belong to the right country's company) read only the first 120 kilobytes, but the evidence - address, phone number, country links - sits in the footer: measured, the last phone number appears at 102 kilobytes on the median page and at 466 kilobytes on one page in ten. On six sites in a hundred the check said "no evidence" although the page stated it plainly. Now it reads up to 500 kilobytes; no verdict got worse and the cost is negligible, because the page body is only 6% of load time (waiting for the server is the other 94%).
1.0.953
2026-08-161.0.953 - 2026-08-16 - "đ HTTP kunnolla - kysymys oikein, vastaus heti"
đ«đź Suomi
- đïž SeitsemĂ€n prosenttia kotisivuista tuli takaisin tyhjinĂ€ - korjattu. Kun palvelin vastasi brotli-pakattuna (kaikki Wix-sivustot, LiteSpeed-hostattu WordPress, moni Cloudflare-sivusto), pakkauksen purkaja katkesi kesken ja sivu nĂ€kyi ohjelmalle "ei vastaa". Mitattu 240 kotisivulla DE/EE/SE/ZA: 17 sivustoa (7 %) antoi 0 tavua, sama sivu toisella pinolla 100-1300 kt. Vika oli pÀÀllĂ€ 13.5. alkaen kaikilla sivunhakupoluilla (yhteystietosivut, kotisivutodiste, rikastuslĂ€hteet). Nyt purku toimii; vahti mittaa oikean vian.
- đ§Ź Estetty vastaus haetaan kerran selaimen kĂ€ttelyllĂ€. Kun kotisivu vastaa 403:lla tai haastesivulla, sama osoite kysytÀÀn kerran samalla selainta jĂ€ljittelevĂ€llĂ€ pinolla jota hakukoneet jo kĂ€yttĂ€vĂ€t (HTTP/2, aito TLS-sormenjĂ€lki, selaimen otsakejĂ€rjestys). Mitattu: 197 â 207/240 kotisivua auki. Terveet sivut kulkevat entistĂ€ polkua; per host vain yksi lisĂ€kysymys.
- đ Yhteystietosivut kysytÀÀn suoraan oikealta osoitteelta. 41 % kotisivuista ohjaa apexista www-osoitteeseen ja 3 % kokonaan uuteen domainiin. Aiemmin joka alasivu kysyttiin vanhalta osoitteelta (uusi kĂ€ttely + uudelleenohjaus per sivu) ja uuden domainin sĂ€hköpostit hylĂ€ttiin. Nyt etusivun lopullinen osoite muistetaan, alasivut haetaan sieltĂ€ ja uuden domainin sĂ€hköpostit kelpaavat.
- â±ïž Kuollut host ei polta koko sivubudjettia. Yhteydenmuodostukselle oma 4 s katto, ja jos etusivu ja www eivĂ€t edes avaa yhteyttĂ€, alasivuja ei kysytĂ€ samalta hostilta (ennen 9 kysymystĂ€, mitattu 70 s â 32 s â 8 s per kuollut firma). Vastaus tulee joka tapauksessa alle sekunnissa (mediaani 0,6 s).
- đ©ș Proxyn kuntotarkistus ei tuomitse tervettĂ€ proxya testipÀÀtteen viasta. httpbin.org vastasi 503 kaikkiin 36 kutsuun ja joka kolmas terve proxy leimattiin kuolleeksi. Nyt 5xx-vastaus johtaa toiseen pÀÀtteeseen samalle proxylle, ja toistuvasti pettĂ€vĂ€ pÀÀte lepÀÀ 10 min.
- đŻ Yhteystietosivuja ei enÀÀ arvata 37 kertaa per firma. Kotisivun crawl kysyi jokaiselta firmalta 37 arvattua polkua kerralla (mm. amerikkalaiset johtoryhmĂ€polut saksalaisilta firmoilta): mitatussa Saksan ajossa 4 774 hukkakysymystĂ€ = 45 % kaikesta kotisivuaikaa, ja sivustot jotka ohjaavat tuntemattomat polut etusivulle saivat saman etusivun parsituksi 35 kertaa. Nyt kotisivun omat linkit ("Yhteystiedot", "Who we are", "Get in touch"âŠ) haetaan aina ensin, arvatut polut kysytÀÀn maan omat ensin pienissĂ€ erissĂ€ ja arvaaminen loppuu kun erĂ€ ei tuota mitÀÀn; etusivulle ohjautuva polku on huti. YhteysvirhettĂ€ (DNS/TLS/kieltĂ€ytynyt yhteys) ei enÀÀ uusita heti - mitattu 496 uusinnasta 30 onnistui. Sama Saksan ajo uudestaan: HTTP-pyyntöjĂ€ 10 115 â 5 045, hukka-404:t 4 774 â 1 613, liidit ja sĂ€hköpostit ennallaan (851/196 â 844/195).
- đșïž Yhteystietosivut kysytÀÀn sivustolta itseltÀÀn, ei arvaamalla. 80 %:lla sivustoista on sivukartta (robots.txt â sitemap.xml) ja 31 % kertoo WordPress-rajapinnastaan, jolta saa yhdellĂ€ kysymyksellĂ€ kaikki sivut otsikoineen. Molemmat listaavat oikeat osoitteet - myös kieliprefiksilliset ja sisĂ€kkĂ€iset (/de/kontakt/, /agentur/karriere/), joita mikÀÀn arvauslista ei osu. Nyt sivusto kysytÀÀn ensin ja siitĂ€ haetaan kontakti-, tiimi-, ura- ja vastuullisuussivut; arvaukset jÀÀvĂ€t turvaverkoksi. Mitattu samoilla 135 firmalla samaan aikaan, molemmilla rikastuspoluilla: sivuja 335 â 377, puhelinnumeroita 174 â 186, pÀÀttĂ€jiĂ€ 147 â 168, ei yhtÀÀn menetettyĂ€ kontaktia.
- đ·ïž Kotisivun oma yritystieto luetaan myös rekisterihaun puolella - ilman yhtÀÀn lisĂ€kyselyĂ€. NeljĂ€sosa kotisivuista kertoo koneluettavasti LinkedIn- ja Facebook-osoitteensa, joka kuudes toimipaikkansa ja joka kolmastoista perustamisvuotensa. Sivu oli jo haettu, mutta tuo tieto luettiin vain toisella rikastuspolulla. Nyt molemmilla. Rekisterin tiedot voittavat aina: mitÀÀn ei ylikirjoiteta.
- đ€ Etusivun linkeistĂ€ löydetyt tiimi- ja yhteystietosivut tuottavat taas pÀÀttĂ€jiĂ€. KesĂ€kuusta asti nuo sivut antoivat vain sĂ€hköpostit ja puhelimet: sivun ja sen osoitteen pariutus katkesi listan pituuteen, joten pÀÀttĂ€jien poiminta, sivulta luettava y-tunnus, rekrytointisignaali ja puutekartoitus eivĂ€t nĂ€hneet niitĂ€ lainkaan. Nyt nĂ€kevĂ€t. Vahti todistaa: tiimisivu linkin takana â ennen 0 pÀÀttĂ€jÀÀ, nyt nimi ja titteli oikealla lĂ€hdeosoitteella.
- đ§ Sama etusivu ei tule haetuksi montaa kertaa samassa ajossa. Maatarkistus (kuuluuko .com-domain oikean maan firmalle) haki etusivun sekĂ€ domainin ratkaisussa ettĂ€ ennen yhteystietocrawlia, ja tuntemattomat polut etusivulle ohjaava sivusto sai etusivunsa haetuksi jokaisesta ohjauksesta uudelleen. Nyt maatarkistuksen tulos ja etusivun teksti muistetaan ajon ajan, ja arvatun alasivun ohjausta etusivulle ei seurata (se on huti). Saksan ajossa etusivuhakuja per firma 1,45 â 1,21.
- đ§ Verkkotunnuksen tekniikkatiedot (MX/TXT/CNAME) kysytÀÀn omalta nimipalvelimelta. Aiemmin joka firmalle avattiin uusi salattu yhteys Googlen DNS-palveluun (459 kyselyĂ€, 588 s per ajo, 60 aikakatkaisua). Nyt tavallinen DNS-kysely (millisekunteja), sama tulkinta, Google varalla ja vĂ€limuisti.
- đ§Ÿ RekrytointijĂ€rjestelmiĂ€ ei arvata sokkona. Greenhouse/SmartRecruiters-taulua kysyttiin jokaisen firman nimellĂ€: 533 kysymystĂ€ per ajo, yksi osuma (ja sekin toisen firman). Nyt kysytÀÀn vain kun kotisivu vihjaa rekrytoinnista (Karriere/Jobs/Avoimet työpaikat/ATS-linkki).
- đ©ș httpbin.org poistettu proxyn kuntotesteistĂ€ (kahdessa ajossa samana pĂ€ivĂ€nĂ€ 503 36/36 ja aikakatkaisu 55/84); aikakatkaisu testipÀÀtteeseen johtaa toiseen pÀÀtteeseen ennen kuin proxya tuomitaan.
- â Kuollut puhelinlĂ€hde pois tieltĂ€. Google-haun HTML ilman JavaScriptiĂ€ on pelkkĂ€ kuori (firman nimi ei esiinny sivulla): 6/6 tunnettua firmaa 0 osumaa, ja yhdessĂ€ Ruotsin ajossa 157 kyselyĂ€, 477 s ja 11 rajoitusvastausta ilman yhtÀÀn numeroa. LĂ€hde on oletuksena pois (ATLAS_MAPS_PHONE=1 palauttaa) kunnes kysymys tehdÀÀn oikealle pÀÀtteelle.
đŹđ§ English
- đïž Seven percent of homepages came back empty - fixed. When a server answered brotli-compressed (every Wix site, LiteSpeed-hosted WordPress, many Cloudflare sites), the decompressor broke mid-stream and the page looked like "no answer" to the app. Measured on 240 homepages across DE/EE/SE/ZA: 17 sites (7%) yielded 0 bytes, the same page 100-1300 kB on another stack. The fault had been live since 13 May on every page-fetch path (contact pages, homepage evidence, enrichment sources). Decompression now works; a guard reproduces the real fault.
- đ§Ź A blocked answer is asked once more with a browser handshake. When a homepage answers 403 or a challenge page, the same URL is asked once via the browser-impersonating stack the search engines already use (HTTP/2, real TLS fingerprint, browser header order). Measured: 197 â 207/240 homepages open. Healthy sites take the old path; one extra question per host at most.
- đ Contact pages are asked from the right address. 41% of homepages redirect apex â www and 3% to a whole new domain. Previously every subpage was asked from the old address (a new handshake + redirect per page) and the new domain's emails were rejected. Now the homepage's final address is remembered, subpages are fetched from it and the new domain's emails count.
- â±ïž A dead host no longer burns the whole page budget. Connection setup has its own 4 s cap, and if the homepage and www do not even open a connection, subpages are not asked from that host (previously 9 questions; measured 70 s â 32 s â 8 s per dead firm). Answers arrive in under a second anyway (median 0.6 s).
- đ©ș Proxy health check no longer condemns a healthy proxy for a test endpoint's fault. httpbin.org answered 503 to all 36 calls and every third healthy proxy was marked dead. A 5xx now leads to a second endpoint for the same proxy, and a repeatedly failing endpoint rests for 10 min.
- đŻ Contact pages are no longer guessed 37 times per company. The homepage crawl asked every company for 37 guessed paths at once (including US leadership paths from German firms): in a measured German run 4,774 wasted questions = 45% of all homepage time, and sites that redirect unknown paths to the homepage got the same homepage parsed 35 times. Now the homepage's own links ("Contact", "Who we are", "Get in touch"âŠ) are fetched first, guessed paths are asked country-specific first in small batches and guessing stops when a batch yields nothing; a path redirecting to the homepage is a miss. Connection errors (DNS/TLS/refused) are no longer retried immediately - measured 30 of 496 retries succeeded. Same German run again: HTTP requests 10,115 â 5,045, wasted 404s 4,774 â 1,613, leads and emails unchanged (851/196 â 844/195).
- đșïž Contact pages are asked from the site itself, not guessed. 80% of sites publish a sitemap (robots.txt â sitemap.xml) and 31% advertise their WordPress API, which returns every page with its title in a single question. Both list the real addresses - including language-prefixed and nested ones (/de/kontakt/, /agentur/karriere/) no guess list ever hits. The site is now asked first and contact, team, careers and responsibility pages are fetched from the answer; guesses remain a safety net. Measured on the same 135 companies at the same time, on both enrichment paths: pages 335 â 377, phone numbers 174 â 186, decision makers 147 â 168, no lost contacts.
- đ·ïž A homepage's own company data is now read on the registry path too - with no extra request. A quarter of homepages publish their LinkedIn and Facebook addresses in machine-readable form, one in six their offices and one in thirteen their founding year. The page had already been fetched, but that data was read on only one of the two enrichment paths. Now on both. Registry data always wins: nothing is overwritten.
- đ€ Team and contact pages found via homepage links produce decision makers again. Since June those pages yielded only emails and phones: the pairing of page and address broke at list length, so decision-maker extraction, the registry code read off the page, the hiring signal and the gap analysis never saw them. They do now. The guard proves it: a team page behind a link gave 0 decision makers before, now a name and title with the right source address.
- đ§ The same homepage is not fetched many times in one run. The country check (does a .com domain belong to the right country's company) fetched the homepage both when resolving the domain and before the contact crawl, and a site redirecting unknown paths to its homepage got its homepage fetched again on every redirect. Now the country verdict and homepage text are remembered for the run, and a guessed subpage's redirect to the homepage is not followed (it is a miss). Homepage fetches per company in the German run 1.45 â 1.21.
- đ§ Domain tech facts (MX/TXT/CNAME) are asked from the local resolver. Previously every company opened a new encrypted connection to Google's DNS service (459 queries, 588 s per run, 60 timeouts). Now a plain DNS query (milliseconds), same interpretation, Google as fallback, cached.
- đ§Ÿ Applicant-tracking systems are not guessed blindly. Greenhouse/SmartRecruiters boards were queried by every company's name: 533 questions per run, one hit (and that another company's). Now only when the homepage hints at recruiting (Karriere/Jobs/Careers/ATS link).
- đ©ș httpbin.org removed from proxy health tests (twice in one day: 503 36/36 and timeout 55/84); a timeout on a test endpoint leads to a second endpoint before a proxy is condemned.
- â A dead phone source out of the way. Google Search HTML without JavaScript is a bare shell (the company name does not even appear): 6/6 well-known companies gave 0 hits, and one Swedish run spent 157 queries, 477 s and 11 rate-limit answers for zero numbers. The source is off by default (ATLAS_MAPS_PHONE=1 restores) until the question goes to a proper endpoint.
1.0.952
2026-08-161.0.952 - 2026-08-16 - "đ Haku hukkaa vĂ€hemmĂ€n - 5 maan mittaus"
đ«đź Suomi
- đ Hakukoneiden hukkakutsut pois (mitattu 5 maan ajossa FI/SE/EE/DE/ZA). Brave sai jÀÀhyn jĂ€lkeen yhĂ€ kymmeniĂ€ turhia kyselyjĂ€ (jÀÀhy kirjattiin vÀÀrÀÀn avaimeen), Yandexin captcha poltti kymmeniĂ€ hakuja ja proxyja per ajo eikĂ€ moottoria pantu sivuun, ja tuloksettomia moottoreita kysyttiin koko ajon. Nyt: Brave lepÀÀ oikeasti, Yandex siirtyy sivuun captchan toistuessa (palaa itsestÀÀn), ja moottori joka ei tuota kuuteen kierrokseen ohitetaan loppuajon. Saksan ajossa Yandex-hakuja 78 â 6, Brave 85 â 2.
- đ Paikalliskieliset hakusanat korjattu 11 kielellĂ€. KymmeniĂ€ hakusanoja oli tallentunut ilman ÀÀkkösiĂ€ (esim. "mjukvarufretag", "markedsfringsbyr", "steuerbro") eivĂ€tkĂ€ hakukoneet löytĂ€neet niillĂ€ mitÀÀn; Norjan markkinointitermit olivat kokonaan rikki. Palautettu; suomessa "mainostoimisto" ensin; viro, latvia ja liettua saivat omat markkinointitermit.
đŹđ§ English
- đ Fewer wasted search-engine calls (measured across FI/SE/EE/DE/ZA). Brave kept receiving dozens of useless queries after being throttled (the cooldown was written under the wrong key), Yandex captchas burned dozens of fetches and proxies per run without sidelining the engine, and engines returning nothing were queried all run long. Now Brave really rests, Yandex is sidelined on repeated captcha (and returns by itself), and an engine that yields nothing for six rounds is skipped for the rest of the run. In the German run Yandex calls went 78 â 6, Brave 85 â 2.
- đ Local-language search terms fixed in 11 languages. Dozens of terms had lost their diacritics (e.g. "mjukvarufretag", "markedsfringsbyr", "steuerbro") so engines found nothing with them; Norwegian marketing terms were entirely broken. Restored; Finnish leads with "mainostoimisto"; Estonian, Latvian and Lithuanian got their own marketing terms.
1.0.951
2026-08-151.0.951 - 2026-08-15 - "đ KĂ€ynnistimen itsekorjaus vaatii allekirjoituksen"
đ«đź Suomi
- đ KĂ€ynnistimen itsekorjaus (launcher self-heal) hyvĂ€ksyy vain allekirjoitetun korvaajan. Ohjelma voi korvata rikkinĂ€isen kĂ€ynnistimen palvelimelta; nyt korvaus tehdÀÀn vain jos palvelimen luettelo on ed25519-allekirjoitettu samalla avaimella kuin pĂ€ivitykset. Allekirjoittamaton luettelo ei tee mitÀÀn.
đŹđ§ English
- đ Launcher self-heal accepts only a signed replacement. The app can replace a broken launcher from the server; the replacement now happens only if the server listing is ed25519-signed with the same key as updates. An unsigned listing does nothing.
1.0.950
2026-08-151.0.950 - 2026-08-15 - "đ Suojaukset + liidiruutu kertoo yhden totuuden"
đ«đź Suomi
- đ PĂ€ivitysketju on nyt allekirjoitettu myös kĂ€ynnistimessĂ€. Komponenttiluettelo (mikĂ€ ohjelmaversio ja mikĂ€ kĂ€ynnistinkoodi ladataan) kantaa ed25519-allekirjoituksen, ja kĂ€ynnistin tarkistaa sen ennen kuin lataa mitÀÀn. Aiemmin allekirjoitus koski vain sovelluksen sisĂ€istĂ€ pĂ€ivitystĂ€.
- đ Lisenssitiedosto on sinetöity. Aktivointitilan eheys tarkistetaan laitekohtaisesti; muokattu tiedosto ei avaa ohjelmaa, aito avain aktivoituu uudelleen huomaamatta.
- đ Vanha AFX-avainmuoto poistui kĂ€ytöstĂ€. Jos sinulla on vielĂ€ vanhan mallin AFX-1/3/5-avain, pyydĂ€ uusi AFXE-avain.
- đ Kasvupisteet ottavat nyt huomioon viralliset talousluvut. Aiemmin liidin kasvupisteet lukivat talousluvuista vain sen ettĂ€ liikevaihto on tiedossa: 10 miljoonan liikevaihto, +7 % tulos ja 82 % omavaraisuus eivĂ€t nostaneet pistettĂ€kÀÀn, ja ruutu sanoi "vĂ€hĂ€n kasvusignaaleja" samalla kun avainsignaalit nĂ€yttivĂ€t viisi vahvaa taloussignaalia. Nyt liikevaihdon kasvu, kannattavuus ja tase lasketaan mukaan samoilla kynnyksillĂ€ kuin avainsignaaleissa, ja "Miksi nyt" -rivi nostaa vahvimmat todisteet ensin. Laskeva liikevaihto ei anna pisteitĂ€ mutta nĂ€ytetÀÀn rehellisesti syynĂ€.
- đ§Ÿ Liidiruudun vĂ€itteet siivottu todistepohjaisiksi. Sama liikevaihtorivi ei nĂ€y enÀÀ kahdesti (englanniksi ja suomeksi), tiimikoko 11-49 sanoo "Vakiintunut tiimi" ellei kasvusta ole todistetta (kasvu-% tai rekry), tase nĂ€kyy kerran eikĂ€ "Vahva tase" + "Rahoituskyky" samasta luvusta, ja toimialan avainsanaperustelu nĂ€ytetÀÀn vain kun se koskee nĂ€ytettyĂ€ toimialaa (ei enÀÀ "real_estate (1 hits): property" rautakaupan perĂ€ssĂ€).
- đ Signaalilaskuri ei enÀÀ vĂ€itĂ€ "tarkisti 2, löytyi 0" pankista avatulle liidille. Pankkiin tallennettu signaalirivi on löydetty signaali; otsikko kertoo vain löydetyt kun tarkistusmÀÀrÀÀ ei mitattu, "?"-nimet poistuvat ja "Atlas tunnisti N signaalia" kĂ€yttÀÀ samaa lukua.
- đ¶ Odotusarvo ja klousausprosentti merkitty arvioiksi. "odotusarvo ~550 ⏠· close 25 %" ja "+3 % klousaus" saavat perusteleiman (toimialaheuristiikka, ei mitattu) samaan riviin.
- đ· Liidin tason nimi kertoo mitĂ€ mitataan. 31-vuotias 10 MâŹ:n firma ei ole "EARLY-STAGE PROSPECT": matala taso on nyt "VĂ€hĂ€n todisteita - tutki ensin". Tason otsikot ja ehdotetut kulmat kÀÀntyvĂ€t suomeksi ja venĂ€jĂ€ksi, yhteydenottopolkujen numerointi ei enÀÀ toista "2., 2.".
- đĄ Crawl-huomio WordPress-/HubSpot-sivuista sanoo totuuden. Ei enÀÀ "runko renderöimĂ€ttĂ€" vaan "osa seurantakoodeista voi latautua JS:llĂ€ - vain analytiikka-/mainosgapit pidĂ€tetty".
- đ«đź Kasvupisteiden syyt suomeksi ja venĂ€jĂ€ksi. Osa syistĂ€ ("13 employees - real team", "Contact channel found", "moderate growth signals" ym.) nĂ€kyi englanniksi. Nyt kaikki kÀÀntyvĂ€t, ja vahti varmistaa ettei uusi lause jÀÀ kÀÀntĂ€mĂ€ttĂ€.
đŹđ§ English
- đ The update chain is now signed in the launcher too. The component list (which app version and which launcher code gets downloaded) carries an ed25519 signature and the launcher verifies it before downloading anything. Previously only the in-app update was signed.
- đ The license file is sealed. Activation state integrity is checked per device; a modified file does not unlock the app, a genuine key re-activates silently.
- đ The legacy AFX key format is retired. If you still hold an old-style AFX-1/3/5 key, request a new AFXE key.
- đ Growth score now reads the official financials. Previously the score only counted "revenue on record": a EUR 10M revenue, +7% profit and 82% equity ratio added nothing, and the panel said "few growth signals" right next to five strong financial key signals. Revenue growth, profitability and balance sheet now count with the same thresholds as the key signals, and the "why now" line puts the strongest evidence first. Declining revenue earns no points but is shown honestly as a reason.
- đ§Ÿ Lead panel claims cleaned up to evidence. The same revenue row no longer appears twice (English and Finnish), an 11-49 team reads "Established team" unless growth is evidenced (growth % or hiring), the balance sheet shows once instead of "Strong balance sheet" + "Financial capacity" from the same figure, and the industry keyword note is shown only when it concerns the displayed industry (no more "real_estate (1 hits): property" behind a hardware store).
- đ The signal counter no longer claims "checked 2, found 0" for a lead opened from the bank. A signal row stored in the bank is a found signal; the header lists only found signals when the checked count was not measured, "?" names are gone and "Atlas detected N signals" uses the same number.
- đ¶ Expected value and close rate are marked as estimates. "~EUR 550 expected · 25% close" and "+3% close" now carry the basis label (industry heuristic, not measured) on the same line.
- đ· The lead tier name says what it measures. A 31-year-old EUR 10M company is not an "EARLY-STAGE PROSPECT": the low tier is now "Low-signal prospect - research first". Tier headers and suggested angles translate to Finnish and Russian, and contact-path numbering no longer repeats "2., 2.".
- đĄ The crawl note about WordPress/HubSpot sites tells the truth. No more "body unrendered" but "some trackers may load via JS - only analytics/ads gaps withheld".
- đ«đź Growth-score reasons in Finnish and Russian. Some reasons ("13 employees - real team", "Contact channel found", "moderate growth signals" etc.) showed in English. All of them now translate, and a guard makes sure no new phrase is left untranslated.
1.0.949
2026-08-151.0.949 - 2026-08-15 - "đ Kotisivut luetaan loppuun asti - enemmĂ€n oikeita kotisivuja, kaimat kiinni; Qwant sivuun ilman odottelua"
đ«đź Suomi
- đ Kotisivu luettiin vain alusta, nyt loppuun asti. Rekisterifirman kotisivun tarkistus luki sivusta vain sen mitĂ€ ehti heti tulla verkosta (mitattu 60 sivustolla: 82 % sivuista jĂ€i kesken, keskimÀÀrin vain kolmasosa luettiin). Siksi osa oikeista kotisivuista hylĂ€ttiin turhaan ja firma jĂ€i ilman kotisivua. Nyt sivu luetaan kokonaan (120 kt asti). Mitattu 352 suomalaisella firmalla, kaksi kierrosta: 7 aitoa kotisivua lisÀÀ, ei yhtÀÀn menetettyĂ€, ei hitaampi.
- đ”ïž Kaimavahti nĂ€kee nyt yhteystiedot. Ulkomaisen .com-kaiman erottaa suomalaisesta firmasta sivun alaosan yhteystiedoista (puhelin, osoite). Vanha luku ei koskaan yltĂ€nyt sinne. Esimerkki mittauksesta: kanadalainen sivusto (+1 604 Vancouver) yritti sitoutua suomalaiseen BK Capital Oy:hyn, nyt se hylĂ€tÀÀn oikein.
- 𧱠Qwant: DataDome-este tunnistetaan ja hakukone siirretÀÀn sivuun heti. Este on selaimen JavaScript-evÀste, ei IP-osoite, joten proxy tai uudelleenyritys ei auta ja poltti vain aikaa (pahimmillaan minuutteja per kysely). Nyt ensimmÀinen kutsu tunnistaa esteen (mitattu 2 s), sen jÀlkeen Qwant ohitetaan kaikkialta 30 minuutiksi ilman verkkoa (0 ms) ja palaa itsestÀÀn kÀyttöön kun este hellittÀÀ.
- đ§č Vanhan selainkerroksen jÀÀnteet poistettu ohjelmasta. Selain (Playwright) poistettiin heinĂ€kuussa, mutta sen tyhjĂ€ kuori jĂ€i mukaan pakettiin: 3 115 riviĂ€ koodia joka ei tehnyt mitÀÀn. Mitattiin ettei ohjelma tehnyt yhtÀÀn selainhakua, joten kuori on nyt siivottu. Haun ja rikastuksen toiminta on tĂ€smĂ€lleen sama, ohjelma vain kevenee ja kĂ€ynnistyy siistimmin. Rinnakkaisten hakujen apurit siirtyivĂ€t omaan moduuliinsa sellaisenaan.
đŹđ§ English
- đ Homepages were read only partially, now to the end. The registry-company homepage check only read what happened to arrive first from the network (measured on 60 sites: 82% of pages were cut short, on average only a third was read). Some genuine homepages were therefore rejected and the company was left without a website. The page is now read in full (up to 120 kB). Measured on 352 Finnish companies, two rounds: 7 more genuine homepages, none lost, no slower.
- đ”ïž The namesake guard now sees the contact details. A foreign .com namesake is told apart from the domestic company by the contact details in the page footer (phone, address). The old read never reached them. Example from the measurement: a Canadian site (+1 604 Vancouver) tried to attach to Finnish BK Capital Oy, now it is correctly rejected.
- đ§± Qwant: the DataDome wall is recognised and the engine is sidelined immediately. The wall is a browser JavaScript cookie, not an IP block, so a proxy or a retry cannot help and only burned time (up to minutes per query). Now the first call recognises the wall (measured 2 s), after which Qwant is skipped everywhere for 30 minutes without network (0 ms) and returns automatically when the wall lifts.
- đ§č Leftovers of the old browser layer removed. The browser (Playwright) was removed in July, but its empty shell stayed in the package: 3,115 lines of code that did nothing. We measured that the app performs no browser fetches at all, so the shell is now cleaned out. Hunting and enrichment behave exactly as before - the app is simply lighter and starts more cleanly. The parallel-search helpers moved into their own module unchanged.
1.0.948
2026-08-151.0.948 - 2026-08-15 - "𧱠EvÀsteseinÀ ei ole sisÀltöÀ - Yahoon suostumussivu tunnistetaan taas estoksi"
đ«đź Suomi
- 𧱠SuostumusseinÀ (esim. Yahoon EU-tietosuojasivu) tunnistetaan taas estoksi, ei sisÀllöksi. Edellinen versio alkoi pÀÀstÀÀ lÀpi paksut sivut joilla on captcha-sana, jotta lomakkeen reCAPTCHA ei leimaisi sivustoa estetyksi. Vastamittaus 1 400 satunnaisella firmadomainilla vahvisti korjauksen (13/13 markkerisivua oli aitoa sisÀltöÀ), mutta paljasti yhden poikkeuksen: suostumusseinÀ on tekstiltÀÀn paksu vaikka sillÀ ei ole haettua sisÀltöÀ. Nyt suostumusseinÀn omat tunnisteet estÀvÀt aina koosta riippumatta, haastesivut tunnistetaan kuten ennen ja sisÀltösivut kulkevat lÀpi.
đŹđ§ English
- đ§± A consent wall (e.g. Yahoo's EU privacy page) is recognised as a block again, not as content. The previous version started letting thick pages with a captcha word through so that a form's reCAPTCHA would not mark the site as blocked. A counter-measurement on 1,400 random company domains confirmed the fix (13/13 marker pages were genuine content) but exposed one exception: a consent wall is text-heavy even though it carries no requested content. Consent-wall markers now always block regardless of size, challenge pages are detected as before, and content pages pass.
1.0.947
2026-08-151.0.947 - 2026-08-15 - "đ§ JS-sovellussivustot ja reCAPTCHA-lomakkeet eivĂ€t enÀÀ jĂ€tĂ€ liidiĂ€ tyhjĂ€ksi - kone lukee datan ilman selainta"
đ«đź Suomi
- đĄïž Yhteydenottolomakkeen reCAPTCHA ei enÀÀ leimaa sivustoa estetyksi. Mitattiin 1 324 aidolla yrityssivustolla: 17 % oikeista sisĂ€ltösivuista (181/1083) luokiteltiin virheellisesti botti-estosivuiksi pelkĂ€n "captcha"-sanan takia (lomakkeen reCAPTCHA-widget), jolloin firman etusivu jĂ€i kokonaan lukematta (0 sĂ€hköpostia, 0 signaalia) ja kaista paloi turhiin proxy-yrityksiin. Aito estosivu tunnistetaan nyt suojan omista tunnisteista ja siitĂ€ ettĂ€ sillĂ€ ei ole sisĂ€ltöÀ - vastamittaus 131 suojatulla kohteella (Cloudflare, DataDome, PerimeterX, Anubis, Yandex, Mojeek): kaikki aidot estosivut tunnistetaan edelleen, sisĂ€ltösivuja ei enÀÀ yhtÀÀn vÀÀrin.
- đ§ JS-sovellussivustot (React/Vite/Next-kuoret) eivĂ€t jÀÀ tyhjiksi. 2,7 % kotisivuista (33/1232 mitatusta) on JS-kuoria, joissa sisĂ€ltö syntyy vasta selaimessa. Kone lukee nyt kuoren upotetun datan ja sivuston oman ohjelmakoodin: 17/33 kuoresta löytyi firman oma sĂ€hköposti tai puhelin ilman selainta - yhtĂ€ paljon kuin oikea selain olisi tuonut. Poiminta on tiukka: vain firman oman domainin osoitteet suoraan koodin tekstistĂ€, ei lomake-esimerkkejĂ€ eikĂ€ yhteen liimautuneita merkkijonoja. Sama toimii sekĂ€ haussa ettĂ€ syvĂ€haussa.
- ⥠JS-kuori ei enÀÀ polta proxy-kaistaa. Kuori on sama joka osoitteesta, joten kone ei enÀÀ yritÀ sitÀ 15 kertaa eri reiteillÀ vaan siirtyy suoraan datan lukemiseen.
- đ Ajon yhteenveto kertoo montako JS-kuorta osui ja montako niistĂ€ pelastui ilman selainta.
đŹđ§ English
- đĄïž A contact form's reCAPTCHA no longer marks a site as blocked. Measured on 1,324 real company sites: 17 % of genuine content pages (181/1083) were misclassified as bot-block pages because of the word "captcha" alone (the form's reCAPTCHA widget), so the company's front page was never read (0 emails, 0 signals) while bandwidth burned on useless proxy retries. A real block page is now recognised from the protection vendor's own markers and from having no content - counter-measured on 131 protected targets (Cloudflare, DataDome, PerimeterX, Anubis, Yandex, Mojeek): every real block page is still caught, and no content page is misclassified any more.
- đ§ JS application sites (React/Vite/Next shells) no longer come back empty. 2.7 % of websites (33 of 1,232 measured) are JS shells whose content is rendered in the browser. The engine now reads the shell's embedded data and the site's own application code: 17 of 33 shells yielded the company's own email or phone without a browser - as many as a real browser would have found. Extraction is strict: only the company's own-domain addresses taken directly as string literals, no form placeholders and no glued-together strings. Works in both hunt and Deep Enrich.
- ⥠A JS shell no longer burns proxy bandwidth. The shell is identical from every address, so the engine no longer retries it 15 times over different routes but goes straight to reading the data.
- đ The run summary reports how many JS shells were hit and how many were rescued without a browser.
1.0.946
2026-08-151.0.946 - 2026-08-15 - "đ Goldmine-firman puhelin nĂ€kyy heti kortilla - palvelimen antama numero ei enÀÀ katoa matkalla"
đ«đź Suomi
- đ Kotisivuttoman goldmine-firman puhelinnumero nĂ€kyy nyt kortilla heti. Mitattiin EtelĂ€-Afrikan goldmine-ajosta: palvelin lĂ€hettÀÀ goldmine-riveille puhelimen (EtelĂ€-Afrikassa 10 779 kotisivutonta firmaa numeroineen - juuri se "soita suoraan" -aineisto), mutta ohjelma pudotti numeron kolmessa kohdassa matkalla kortille: rekisteririvin muunnoksessa, hakusiemenessĂ€ ja kotisivuttoman firman kortti-emitissĂ€. Kortti nĂ€ytti tyhjÀÀ ja rikastus etsi 90 sekuntia numeroa jonka jo sai. Nyt puhelin, sĂ€hköposti ja some-kanavat kulkevat palvelimelta kortille sellaisenaan - eikĂ€ mitÀÀn keksitĂ€.
- đ Rekisteririvin lisĂ€tiedot (raw) kulkevat rikastukseen - esimerkiksi rekisterin vastuuhenkilöt luetaan nyt niiltĂ€ mailta jotka ne antavat.
đŹđ§ English
- đ A goldmine company without a website now shows its phone number on the card immediately. Measured on the South Africa goldmine run: the server sends a phone for goldmine rows (South Africa: 10 779 site-less companies with numbers - exactly the "call directly" material), but the app dropped the number at three points on the way to the card: registry-row conversion, the hunt seed, and the site-less company card emit. The card showed empty and enrichment spent 90 seconds looking for a number it already had. Phone, email and social channels now flow from the server to the card as-is - and nothing is invented.
- đ Registry-row extras (raw) now flow into enrichment - e.g. registry officers are read from the countries that provide them.
1.0.945
2026-08-151.0.945 - 2026-08-15 - "đ Goldmine rikastaa ensin ne kotisivuttomat joilla on puhelin - kontaktoitava rivi ennen tyhjÀÀ"
đ«đź Suomi
- đ Kotisivuttomien firmojen kesken puhelinnumerolliset rikastetaan ensin. Mitattiin EtelĂ€-Afrikan goldmine-ajosta uudella versiolla: aikakatkaisut poistuivat (0/61) ja kotisivullisille löytyi yhteystiedot, mutta 63 kotisivutonta firmaa tuotti 0 yhteystietoa - kansalliset hakemistot ovat suojattuja ja some-haku ei löydĂ€ pientĂ€ kylĂ€n kauppaa. Rikastuskiintiö (400 firmaa) tĂ€yttyi siis osin firmoista joille ei ole mitÀÀn löydettĂ€vÀÀ. Nyt kiintiö menee ensin niille kotisivuttomille joilla on jo puhelinnumero kartta-aineistosta - ne ovat soitettavia heti - ja tyhjĂ€t vasta niiden jĂ€lkeen. MikÀÀn ei putoa pois, jĂ€rjestys vain muuttuu.
đŹđ§ English
- đ Among companies without a website, those with a phone number are enriched first. Measured on the South Africa goldmine run with the new version: timeouts were gone (0/61) and companies with sites got contact data, but 63 site-less companies yielded 0 contacts - national directories are protected and social search does not find a small village shop. The enrichment quota (400 companies) was thus partly spent on companies with nothing to find. The quota now goes first to site-less companies that already have a phone number from map data - callable right away - and the empty ones after. Nothing is dropped, only the order changes.
1.0.944
2026-08-151.0.944 - 2026-08-15 - "đ Goldmine-syvĂ€haku sai oikean aikabudjetin - domainittoman firman puhelin ja some-kanava pÀÀtyvĂ€t kortille"
đ«đź Suomi
- đ Goldmine + syvĂ€haku ajoi vahingossa pikamoodilla. Mitattiin EtelĂ€-Afrikan goldmine-ajosta: jokainen firma katkesi 30 sekunnin kohdalla ("Timeout 30s" 14/14) ilman yhtÀÀn yhteystietoa, vaikka valittu tila oli syvĂ€haku. Syy: syvĂ€haun tunnistus tunsi vain ostaja-/myyjĂ€-/markkinatilan syvĂ€variantit, ei goldminen tai silverin - joten goldmine sai pikamoodin budjetin (30 s, ei selainhakua). Nyt mikĂ€ tahansa syvĂ€variantti on syvĂ€haku.
- ⱠDomainiton goldmine-firma saa 90 sekuntia. Kotisivuton paikallisfirma vaatii perÀkkÀin haun nimellÀ, kansallisen hakemiston ja some-kanavien haun - se ei mahdu 30-60 sekuntiin. Nyt ketju mahtuu.
- đ± Jo löydetty data ei enÀÀ katoa aikakattoon. Kun some-haku löysi Facebook-sivun mutta LinkedIn-haku roikkui ja aikakatto katkaisi, kaikki löydetty hĂ€visi ("some dataa tulossa, mut ei pÀÀdy kortille"). Nyt hakemiston puhelin ja some-kanava kirjataan liidille heti kun ne löytyvĂ€t, ja aikakaton pelastuspolku vie ne kortille asti.
đŹđ§ English
- đ Goldmine + Deep accidentally ran in fast mode. Measured on a South Africa goldmine run: every company was cut at 30 seconds ("Timeout 30s" 14/14) with no contact data even though Deep was selected. Cause: deep-mode detection only knew the buyer/seller/market deep variants, not goldmine or silver - so goldmine got the fast budget (30 s, no browser). Any deep variant is now deep.
- â± A goldmine company without a website gets 90 seconds. A local business with no site needs a name search, the national directory and social channels in sequence - that does not fit in 30-60 s. The chain now fits.
- đ± Data already found no longer vanishes at the cap. When the social search found a Facebook page but the LinkedIn search hung and the cap cut in, everything found was lost ("social data coming in but never reaches the card"). The directory phone and social channel are now written to the lead as soon as they are found, and the timeout rescue path carries them to the card.
1.0.943
2026-08-151.0.943 - 2026-08-15 - "đđ Sponsorointi- ja tyky-signaalit löytyvĂ€t nyt haussa - kone lukee sivut joilla ne oikeasti ovat"
đ«đź Suomi
- đ Sponsorointi- ja tyky-signaalit syntyvĂ€t nyt tavallisessa haussa, ei vasta syvĂ€haussa. Mitattiin 133 firman sivustolta: haku kĂ€vi etusivun ja yhteystietosivut lĂ€pi ja tunnistimet toimivat oikein, mutta sponsorointi-, vastuullisuus- ja urasivuja - joilla "tuemme nuorten harrastustoimintaa" ja "jĂ€rjestĂ€mme henkilöstölle virkistyspĂ€iviĂ€" oikeasti lukevat - haku ei hakenut lainkaan. Nyt haku seuraa etusivulta nĂ€mĂ€ sivut (enintÀÀn kaksi, sponsorointi ensin) samalla kĂ€ynnillĂ€ kuin pÀÀttĂ€jĂ€t ja puhelimet, ja ne saavat aina paikan tunnistuksessa. Todistettu Kreaten sivustolla: sponsorointisignaali 1/3 ajosta â 4/4.
- đ Sponsorointitunnistin ymmĂ€rtÀÀ yritysten omat sponsorointiohjelmat. "Tukemme kohdistuu lasten ja nuorten harrastustoimintaan", "sponsorointikohteet kaudelle" - aiemmin vaadittiin sanaa urheilu tai seura. Samalla lisĂ€ttiin suoja: oman henkilöstön tukeminen (tyky) ei enÀÀ nĂ€y sponsorointina - se on oma signaalinsa.
- đ SyvĂ€haku poimii samat sponsorointi-/vastuullisuussivut etusivun linkeistĂ€ ja ajaa tunnistimet niille.
đŹđ§ English
- đ Sponsorship and staff-wellbeing signals now appear in a normal hunt, not only after Deep Enrich. Measured on 133 company sites: the hunt read the front page and contact pages and the detectors were correct, but the sponsorship, responsibility and careers pages - where "we support youth sports" and "we host staff wellbeing days" actually live - were never fetched. The hunt now follows those pages from the front page (up to two, sponsorship first) in the same pass as decision makers and phones, and they always get a slot in detection. Proven on Kreate's site: sponsorship signal 1/3 runs â 4/4.
- đ The sponsorship detector understands corporate sponsorship programmes. "Our support goes to children's and youth hobbies", "sponsorship targets for the season" - previously the word sports or club was required. A guard was added at the same time: supporting your own staff (wellbeing) no longer shows as sponsorship - that is its own signal.
- đ Deep Enrich picks the same sponsorship/responsibility pages from front-page links and runs the detectors on them.
1.0.942
2026-08-151.0.942 - 2026-08-15 - "đ§Ÿ Signaalit puhuvat totta ja oikeaa kieltĂ€ - rahoitusvĂ€ite sidotaan firmaan, kultamerkki kertoo mitĂ€ data oikeasti on"
đ«đź Suomi
- đ§Ÿ "Tuore rahoitus" -perustelu ei enÀÀ synny toisen firman uutisesta. Kun firman sivulla oli uutisvirta jossa luki ettĂ€ jokin toinen yritys kerĂ€si rahoituskierroksen, kone saattoi kirjoittaa tĂ€mĂ€n firman yhteydenottosyyksi "tuore rahoitus havaittu". Nyt rahoitusvĂ€ite hyvĂ€ksytÀÀn vain jos firman oma nimi esiintyy aivan maininnan vieressĂ€ - ilman sitĂ€ vĂ€itettĂ€ ei tehdĂ€ lainkaan. Rekrytointi- ja laajentumissignaalit toimivat kuten ennen (ne ovat firman omalla sivulla aina firman omia).
- đ¶ Kaksi eri euroarviota samasta puutteesta yhdistetty yhdeksi. Liidin "suuntaa-antava hankearvo" laskettiin yhdessĂ€ kohtaa eri taulukolla kuin arvoarvio muualla, joten sama puute (esim. ei markkinointia) nĂ€ytti eri haarukan eri nĂ€kymissĂ€. Nyt molemmat lukevat samaa lĂ€hdettĂ€ - luku on sama joka paikassa.
- đŁïž Signaalitekstit nyt kokonaan valitulla kielellĂ€ - myös toiseen suuntaan. Mitattiin ettĂ€ "Tappiollinen (2025)" ja kolme selitystekstiĂ€ jĂ€ivĂ€t englanniksi suomen- ja venĂ€jĂ€nkielisessĂ€ nĂ€kymĂ€ssĂ€, ja toisaalta useat viranomaisrekisterien selitteet (kaupparekisterin tilamerkinnĂ€t, taseen rahoituskyky) olivat kovakoodattua suomea, joka nĂ€kyi englannin- ja venĂ€jĂ€nkieliselle kĂ€yttĂ€jĂ€lle suomena. Kaikki korjattu ja lukittu vahdilla, joka kaatuu jos uusi signaali jÀÀ kÀÀntĂ€mĂ€ttĂ€.
- đ Kultamerkin selite kertoo mitĂ€ data oikeasti on. GOLD-merkin vihje vĂ€itti kaikille goldmine-korteille "tuore rekisterifirma". Riville jolla ei ole rekisteröintipĂ€ivÀÀ eikĂ€ verkkosivua mutta on puhelin (tyypillinen esimerkiksi Afrikan maiden kartta-aineistossa) selite sanoo nyt rehellisesti "phone-first seed - puhelin on kanava, ei uusi rekisteröinti". Tuoreelle rekisterifirmalle selite on ennallaan.
đŹđ§ English
- đ§Ÿ "Recent funding" no longer comes from another company's news. When a company's site carried a news feed saying that some other firm raised a round, the reason-to-contact could read "recent funding detected" for this company. Funding is now claimed only if the company's own name appears right next to the mention - without it, no claim is made. Hiring and expansion signals work as before (on the company's own site they are self-referential).
- đ¶ Two euro estimates for the same gap merged into one. The lead's "indicative project value" was computed in one place with a different table than the value estimate elsewhere, so the same gap (e.g. no marketing) showed different ranges in different views. Both now read the same source - the number is the same everywhere.
- đŁïž Signal texts fully in the chosen language - in both directions. Measured: "Loss-making (2025)" and three explanations stayed English in the Finnish and Russian views, and several official-register explanations (trade register status entries, balance-sheet capacity) were hardcoded Finnish that English and Russian users saw as Finnish. All fixed and locked by a guard that fails if a new signal is left untranslated.
- đ The gold badge tooltip says what the data really is. The GOLD badge hint claimed "fresh registry company" for every goldmine card. For a row with no registration date and no website but a phone (typical of map-sourced data in e.g. African markets) the hint now honestly says "phone-first seed - the phone is the channel, not a new registration". For a genuinely fresh registry company the hint is unchanged.
1.0.941
2026-08-151.0.941 - 2026-08-15 - "â±ïž Hidas tietolĂ€hde ei enÀÀ jÀÀdytĂ€ hakua - kova aikakatto katkaisee jumin"
đ«đź Suomi
- â±ïž Suomalaisen liikevaihto- ja yhteystietohaun hitain reitti ei enÀÀ roiku puoli minuuttia. Terveystarkastus paljasti ettĂ€ osa tietolĂ€hdehauista (asiakastieto, fonecta, finder vĂ€lityspalvelimen kautta) venyi jopa 37 sekuntiin vaikka aikakaton piti katkaista ne 15 sekunnissa - haku tuntui hetkittĂ€in jÀÀtyneeltĂ€. Syy: tuo reitti ei kulkenut saman aikakaton lĂ€pi kuin muut, eikĂ€ siinĂ€ ollut varmistavaa kovaa katkaisua, joten kun laskenta ruuhkautui, hidas yhteys jĂ€i roikkumaan. Nyt reitti kĂ€yttÀÀ samaa katkaisua kuin kaikki muutkin (yhteys enintÀÀn 6 s, koko haku enintÀÀn 12 s) plus varmistavan kovan katon, joka katkaisee jumin vaikka alempi ajastin ei ehtisi. Tulos: yksikÀÀn tietolĂ€hdehaku ei enÀÀ syö kymmeniĂ€ sekunteja tuottamatta mitÀÀn.
đŹđ§ English
- â±ïž The slowest data-source lookup no longer hangs for half a minute. The health check found that some data-source lookups (business registry, directory, phone via a proxy) stretched to as much as 37 seconds even though the time cap was supposed to cut them off at 15 - the search felt momentarily frozen. The cause: that route did not go through the same cap as the others, and it had no backstop hard cut, so when computation got congested a slow connection was left hanging. The route now uses the same cut as everything else (connect at most 6s, whole lookup at most 12s) plus a backstop hard cap that cuts a hang even if the lower timer does not fire in time. Result: no data-source lookup eats tens of seconds while producing nothing.
1.0.940
2026-08-151.0.940 - 2026-08-15 - "ⳠVanha mittaus vanhenee - hakukoneen viime viikon kunto ei enÀÀ mÀÀrÀÀ tÀmÀn pÀivÀn valintaa"
đ«đź Suomi
- ⳠHakukoneiden mittausdata vanhenee nyt kalenteriajan mukaan. Kone oppii mitkÀ hakukoneet toimivat missÀkin, mutta se muisti aiemmin vanhan tiedon niin kauan kuin uutta ei tullut tilalle - eli harvoin kÀytetyn hakukoneen kahden viikon takainen "toimii hyvin" -arvio jÀi voimaan ikuisesti, vaikka suojat olisivat sen jÀlkeen kiristyneet. Nyt mittaus haipuu ajan myötÀ (kahdessa viikossa puoleen), joten vanha todiste vÀistyy ja hakukone tulee testatuksi uudelleen sen sijaan ettÀ sitÀ joko luotettaisiin tai vÀltettÀisiin loputtomasti vanhentuneen tiedon perusteella. PerÀkkÀiset haut saman tunnin sisÀllÀ lasketaan samaksi tuoreeksi nÀytöksi, joten aktiivisesti kÀytettyihin hakukoneisiin tÀmÀ ei vaikuta - vain kauan koskematta olleeseen dataan.
- đŻ Hakukone joka torjuttiin (ei ollut hyödytön) ei enÀÀ tipu turhaan. Kone lopetti aiemmin sellaisen hakukoneen kĂ€ytön joka tuotti 0 tulosta, erottelematta syytĂ€ - vaikka syy olisi ollut hetkellinen esto (suoja torjui pyynnön) eikĂ€ se ettĂ€ hakukone olisi oikeasti hyödytön. Nyt kone kirjaa MIKSI tulos jĂ€i tyhjĂ€ksi: jos syy on esto, hakukonetta ei tuomita hyödyttömĂ€ksi vaan se saa toisen mahdollisuuden toisen reitin kautta.
- 𧟠Laskennallinen suoja (Anubis) ohitetaan nyt kaikilla hakukoneilla. TÀmÀ kyky oli aiemmin vain yhdellÀ hakukoneella; nyt mikÀ tahansa hakukone joka törmÀÀ tÀhÀn avoimeen laskentahaasteeseen ratkaisee sen automaattisesti ja jatkaa - ilman selainta. (DataDome-suojaa ei silti luvata ohitettavan; se raja pidetÀÀn rehellisenÀ.)
- đ° Valinta huomioi nyt myös kustannuksen. Kun kaksi hakukonetta on yhtĂ€ hyviĂ€, kone valitsee halvemman (ilmaisen suoran haun ennen maksullista vĂ€lityspalvelinta vaativaa) sen sijaan ettĂ€ kohtelisi niitĂ€ samanarvoisina. Ei ohita paremmuutta - vain ratkaisee tasapelin edullisemman hyvĂ€ksi.
- đ°ïž Poistetut yhteystiedot löytyvĂ€t nyt myös arkistosta automaattisesti. Jos firman verkkotunnus löytyy mutta nykysivulta ei irtoa sĂ€hköpostia, kone hakee sen internet-arkistosta (Wayback Machine) - julkinen lĂ€hde jota mikÀÀn anti-bot-suoja ei vartioi. Aiemmin tĂ€mĂ€ oli vain kĂ€yttĂ€jĂ€n erikseen kĂ€ynnistĂ€mĂ€ssĂ€ syvĂ€analyysissĂ€.
đŹđ§ English
- âł Search-engine measurements now age by calendar time. The machine learns which engines work where, but it used to keep old data for as long as no new data replaced it - so a rarely-used engine's two-week-old "works well" verdict stayed in force forever, even if protections had tightened since. Measurements now fade over time (halving in two weeks), so old evidence gives way and an engine gets re-tested rather than being trusted or avoided indefinitely on stale data. Consecutive searches within the same hour count as the same fresh sample, so this does not affect actively-used engines - only data left untouched for a long time.
- đŻ An engine that was blocked (not useless) is no longer dropped needlessly. The machine used to stop using an engine that returned 0 results without distinguishing why - even if the cause was a temporary block (a protection refused the request) rather than the engine actually being useless. It now records WHY a result came back empty: if the cause is a block, the engine is not judged useless but gets another chance via a different route.
- đ§ź A computational protection (Anubis) is now bypassed on all engines. This ability was previously on just one engine; now any engine hitting this open proof-of-work challenge solves it automatically and continues - without a browser. (DataDome is still not promised as bypassable; that line is kept honest.)
- đ° Selection now also considers cost. When two engines are equally good, the machine picks the cheaper one (a free direct search over one that needs a paid proxy) instead of treating them as equal. It does not override quality - only breaks the tie in favor of the cheaper option.
- đ°ïž Deleted contact details are now also recovered from the archive automatically. If a company's domain is found but the current page yields no email, the machine looks it up in the internet archive (the Wayback Machine) - a public source no anti-bot protection guards. Previously this was only in the user-triggered deep analysis.
1.0.939
2026-08-151.0.939 - 2026-08-15 - "đŻ Moottorinvalitsin oppii maakohtaisesti - ei enÀÀ yhtĂ€ keskiarvoa koko lĂ€nnelle"
đ«đź Suomi
- đŻ Hakukoneiden paremmuus opitaan nyt maakohtaisesti. Aiemmin Suomi, Saksa, Ranska ja Yhdysvallat niputettiin samaan "lĂ€nsi"-ryhmÀÀn: moottori joka tuottaa Yhdysvalloissa loistavasti mutta Ranskassa heikosti sai yhden sotketun keskiarvon, ja sama jĂ€rjestys pakotettiin molempiin. Nyt kone oppii moottorin tuoton per maa (mittausdata oli jo olemassa, valinta ei vain lukenut sitĂ€). Ohut maadata nojaa varovasti alueen keskiarvoon eikĂ€ heilahda yhdestĂ€ osumasta; kun maakohtaista mittausta karttuu, se voittaa. Tulos: jokainen maa saa sille oikeasti parhaat moottorit kĂ€rkeen, ei koko alueen kompromissia.
- đŻ Uusi maa aloittaa nyt mitatusti parhailla moottoreilla. Maat joita ei ollut erikseen kalibroitu kĂ€ynnistyivĂ€t kiinteĂ€llĂ€ oletuskolmikolla, jossa oli mukana moottori joka on omalla mittauksella heikoin ja ajon suurin kuormittaja. Nyt uuden maan aloitusjĂ€rjestys johdetaan koko kertyneestĂ€ mittausdatasta - heikko vajoaa, mitattu paras nousee - jo ennen kuin maasta itsestÀÀn on yhtÀÀn dataa. Kalibroituihin maalistoihin ei kosketa.
- đŻ Moottorit opitaan nyt myös kielikohtaisesti. Hakukoneiden osaaminen vaihtelee valtavasti kirjoitusjĂ€rjestelmĂ€n mukaan: sama kone joka loistaa englannissa voi olla heikko koreaksi tai kiinaksi. Ennen kaikki ei-lĂ€ntiset kielet (arabia, korea, japani, hindi...) niputettiin yhteen "muut"-ryhmÀÀn. Nyt kieli on oma oppimistasonsa, joka kokoaa saman kielen kyselyt monesta maasta (englanti yli Yhdysvaltojen ja Britannian, espanja yli Espanjan ja Latinalaisen Amerikan) - tarkempi kuin maanosa, laajempi kuin yksittĂ€inen maa. Koreankielinen haku nojaa nyt koreankielisten hakukoneiden mitattuun tuottoon, ei sekalaiseen "muut"-keskiarvoon.
- đ Kolme valmista mutta kytkemĂ€töntĂ€ moottoriparannusta otettiin kĂ€yttöön. Yahoo (toiseksi tuottavin hakukone) kĂ€yttÀÀ nyt maakohtaista alueversiotaan (uk/de/fr/br/in/au/sgâŠ) yhden yhteisen yhdysvaltalaisen sijaan - todennĂ€köisesti parempi tuotto Euroopassa ja Aasiassa. Yksityisyyshakukone Startpage (Suomen mitattu paras) lokalisoi vihdoin haun maan mukaan. Ja hakukonelaivue pyytÀÀ nyt myös Googlen ja Bingin tuloksia vĂ€littĂ€jĂ€n kautta - reitti jolla ne saadaan törmÀÀmĂ€ttĂ€ itse niiden suojiin. Kaikki mitatusti seurattuja ja kytkettĂ€vissĂ€ pois pÀÀltĂ€.
đŹđ§ English
- đŻ Search-engine quality is now learned per country. Previously Finland, Germany, France and the US were pooled into one "Western" bucket: an engine that performs great in the US but poorly in France got one muddied average, and the same order was forced on both. The machine now learns each engine's yield per country (the measurement data already existed - the selector just did not read it). Thin country data leans gently on the regional average and does not swing on a single hit; as country-specific measurement accumulates, it wins. Result: every country gets the engines that are actually best for it at the top, not a whole-region compromise.
- đŻ A new country now starts with the measured-best engines. Countries that had not been calibrated separately started with a fixed default trio that included an engine which is, on our own measurement, the weakest and the run's biggest load. A new country's starting order is now derived from all accumulated measurement data - the weak one sinks, the measured best rises - before the country has any data of its own. Calibrated country lists are left untouched.
- đŻ Engines are now learned per language too. A search engine's competence varies enormously by writing system: the same engine that shines in English can be weak in Korean or Chinese. Previously all non-Western languages (Arabic, Korean, Japanese, Hindi...) were pooled into one "other" bucket. Language is now its own learning level that gathers same-language queries across many countries (English across the US and Britain, Spanish across Spain and Latin America) - finer than a continent, broader than a single country. A Korean-language search now leans on the measured yield of Korean-capable engines, not a mixed "other" average.
- đ Three ready-but-unwired engine improvements were switched on. Yahoo (the second most productive engine) now uses its country-specific regional edition (uk/de/fr/br/in/au/sgâŠ) instead of one shared US one - likely better yield in Europe and Asia. The privacy engine Startpage (Finland's measured best) finally localizes the search to the country. And the search-engine fleet now also requests Google and Bing results through a relay - the route that gets them without colliding with their protections ourselves. All measured, tracked, and switchable off.
1.0.938
2026-08-141.0.938 - 2026-08-15 - "đŻ Moottorinvalitsin oppii maakohtaisesti - ei enÀÀ yhtĂ€ keskiarvoa koko lĂ€nnelle"
đ«đź Suomi
- đŻ Hakukoneiden paremmuus opitaan nyt maakohtaisesti. Aiemmin Suomi, Saksa, Ranska ja Yhdysvallat niputettiin samaan "lĂ€nsi"-ryhmÀÀn: moottori joka tuottaa Yhdysvalloissa loistavasti mutta Ranskassa heikosti sai yhden sotketun keskiarvon, ja sama jĂ€rjestys pakotettiin molempiin. Nyt kone oppii moottorin tuoton per maa (mittausdata oli jo olemassa, valinta ei vain lukenut sitĂ€). Ohut maadata nojaa varovasti alueen keskiarvoon eikĂ€ heilahda yhdestĂ€ osumasta; kun maakohtaista mittausta karttuu, se voittaa. Tulos: jokainen maa saa sille oikeasti parhaat moottorit kĂ€rkeen, ei koko alueen kompromissia.
- đŻ Uusi maa aloittaa nyt mitatusti parhailla moottoreilla. Maat joita ei ollut erikseen kalibroitu kĂ€ynnistyivĂ€t kiinteĂ€llĂ€ oletuskolmikolla, jossa oli mukana moottori joka on omalla mittauksella heikoin ja ajon suurin kuormittaja. Nyt uuden maan aloitusjĂ€rjestys johdetaan koko kertyneestĂ€ mittausdatasta - heikko vajoaa, mitattu paras nousee - jo ennen kuin maasta itsestÀÀn on yhtÀÀn dataa. Kalibroituihin maalistoihin ei kosketa.
đŹđ§ English
- đŻ Search-engine quality is now learned per country. Previously Finland, Germany, France and the US were pooled into one "Western" bucket: an engine that performs great in the US but poorly in France got one muddied average, and the same order was forced on both. The machine now learns each engine's yield per country (the measurement data already existed - the selector just did not read it). Thin country data leans gently on the regional average and does not swing on a single hit; as country-specific measurement accumulates, it wins. Result: every country gets the engines that are actually best for it at the top, not a whole-region compromise.
- đŻ A new country now starts with the measured-best engines. Countries that had not been calibrated separately started with a fixed default trio that included an engine which is, on our own measurement, the weakest and the run's biggest load. A new country's starting order is now derived from all accumulated measurement data - the weak one sinks, the measured best rises - before the country has any data of its own. Calibrated country lists are left untouched.
1.0.937
2026-08-141.0.937 - 2026-08-15 - "đĄïž Haku nĂ€kee suojien lĂ€pi tarkemmin - tyhjĂ€ kuori ei ole enÀÀ 'onnistuminen'"
đ«đź Suomi
- đĄïž TyhjĂ€ kuorisivu ei enÀÀ mene lĂ€pi onnistumisena. Haku hyvĂ€ksyi minkĂ€ tahansa 200-vastauksen, myös JavaScript-kuoren ilman sisĂ€ltöÀ. Se saastutti sekĂ€ koneen oppimismuistin (vÀÀrĂ€ "voittaja"-taktiikka) ettĂ€ onnistumismittarin. Nyt tyhjĂ€/kuorivastaus tunnistetaan eikĂ€ sitĂ€ kirjata voitoksi - haku jatkaa oikean sisĂ€llön hakemista. Aitoa pientĂ€ sivua (yhteystiedot) tai rakenteista dataa (hakukone-API, sivukartta) tĂ€mĂ€ ei koske.
- đĄïž Suojan ohitusmuisti (evĂ€steet) sĂ€ilyy nyt ajojen vĂ€lillĂ€. Aiemmin istuntoevĂ€steet katosivat joka kĂ€ynnistyksessĂ€, joten jokainen ajo joutui "lĂ€mmittĂ€mÀÀn" istunnon uudelleen ylimÀÀrĂ€isellĂ€ latauksella. Nyt evĂ€steet muistetaan levyllĂ€ vuorokauden - kone nĂ€yttÀÀ suojien silmissĂ€ palaavalta kĂ€vijĂ€ltĂ€ ja haku on nopeampi ja huomaamattomampi.
- đĄïž Cloudflaren haaste ratkaistaan nyt automaattisesti siellĂ€ missĂ€ se ei vaadi selainta. Kun suoja tunnistetaan Cloudflareksi, kone nappaa lĂ€pipÀÀsyavaimen ja uusii pyynnön kerran - domainikohtaisella jÀÀhdytyksellĂ€ ettei sitĂ€ hakata turhaan. Google-suostumussivu ohittaa nyt suoraan oikeaan reittiin sen sijaan ettĂ€ kiipeĂ€isi tikas kerrallaan. NĂ€issĂ€ ei luvata mahdottomia: kovinta suojaa (DataDome) ei ohiteta - se raja pidetÀÀn rehellisenĂ€.
đŹđ§ English
- đĄïž An empty shell page no longer passes as a success. The fetch accepted any 200 response, including a JavaScript shell with no content. That polluted both the machine's learning memory (a wrong "winner" tactic) and the success metric. An empty/shell response is now recognised and not recorded as a win - the fetch keeps looking for real content. This does not affect a genuinely small page (a contact page) or structured data (a search-engine API, a sitemap).
- đĄïž The protection-bypass memory (cookies) now survives between runs. Session cookies were lost on every startup, so each run had to "warm up" the session again with an extra load. Cookies are now remembered on disk for a day - the machine looks like a returning visitor to protections, and the fetch is faster and quieter.
- đĄïž A Cloudflare challenge is now solved automatically where it needs no browser. When a protection is identified as Cloudflare, the machine captures a clearance token and retries once - with a per-domain cooldown so it is not hammered. Google's consent page now skips straight to the right route instead of climbing one rung at a time. No impossibilities are promised here: the hardest protection (DataDome) is not bypassed - that line is kept honest.
1.0.936
2026-08-141.0.936 - 2026-08-14 - "đ± Loydetty kanava nakyy heti - myos toistoajossa, ilman uutta hakua"
đ«đź Suomi
- đ± Aiempien ajojen kanavaloydot kiinnittyvat nyt kortille ja pankkiin heti. Mitattu toistoajosta: aiemmin loydetyt Facebook/Instagram/varauskanavat elivat vain valimuistissa, ja ne kiinnittyivat liidiin ainoastaan raskaassa rikastusvaiheessa - jonka 400 paikkaa eivat koskaan yltaneet jo kertaalleen kasiteltyyn firmaan. Kayttajalle se nakyi niin, etta sama ajo nayttaa tyhjaa vaikka kanavat on jo loydetty. Nyt kanava kiinnitetaan muistista heti kun rivi piirretaan - ilman verkkoa - joten kortti nayttaa yhteydenottopolun ja rivi karttuu pankkiin ensimmaisesta sekunnista.
- đĄïž Muistiin aiemmin tallentuneet vaarat kanavat hylataan lukuvaiheessa. Vanhemman version loyha poiminta ehti tallentaa muistiin muutamia vaaran toimijan sivuja, ja ne olisivat elaneet siella 30 paivaa. Nyt muistista palautuva kanava kelpaa vain jos firman oma nimi lukee osoitteessa - todentamaton osuma ei palaudu koskaan. Vaara kanava kortilla on pahempi kuin tyhja.
- đ§ Haun kiertomuisti ei enaa jakaudu kahtia. Mitattu terveystarkastuksesta: kiertokursorin tiedosto saattoi syntya kahteen paikkaan kaynnistystavasta riippuen, jolloin toistoajo jatkoi vaarasta kohdasta ja lupaus "koko pooli kierretaan ennen toistoa" petti hiljaa. Nyt polku ratkeaa aina samaan paikkaan, ja vanhaan paikkaan eksynyt tiedosto yhdistetaan automaattisesti oikeaan ensimmaisella ajolla.
đŹđ§ English
- đ± Channel findings from earlier runs now attach to the card and the bank immediately. Measured on a repeat run: previously found Facebook/Instagram/booking channels lived only in a cache and attached to a lead only during the heavy enrichment phase - whose 400 slots never reached a company already processed once. To the user it looked like the same run showing nothing even though the channels were already found. The channel is now attached from memory the moment the row is drawn - no network - so the card shows the contact path and the row accumulates into the bank from the first second.
- đĄïž Wrong channels stored earlier are rejected at read time. An older version's loose matching managed to store a few wrong operators' pages, and they would have lived in memory for 30 days. A channel returned from memory now qualifies only if the company's own name appears in the address - an unverifiable match never comes back. A wrong channel on a card is worse than an empty one.
- đ§ The hunt's rotation memory no longer splits in two. Measured by the health check: the rotation cursor file could be created in two different places depending on how the app was launched, so a repeat run continued from the wrong position and the promise "the whole pool cycles before repeating" silently broke. The path now always resolves to one place, and a file stranded in the old location is merged into the right one automatically on the first run.
1.0.935
2026-08-141.0.935 - 2026-08-14 - "đŠ Pankki kasvaa myos kotisivuttomista - ja kun uutta ei ole, rikastetaan vanhaa"
đ«đź Suomi
- đŠ Kotisivuton firma saa nyt pysyvan pankki-identiteetin. Mitattu: ajot tuottivat kanavallisia ja puhelimellisia loytoja kotisivuttomista firmoista, mutta liidipankki ei kasvanut lainkaan, koska pankin avain oli verkkotunnus - kotisivuton loyto katosi ajojen valilla ja seuraava ajo teki saman tyon uudelleen. Nyt avain johdetaan rekisteritunnuksesta tai nimesta ja kaupungista: loydot karttuvat pankkiin, PANKISSA-merkki ja turhan uudelleenrikastuksen ohitus toimivat myos kotisivuttomille, ja kun firma myohemmin saa verkkotunnuksen, rivit yhdistyvat automaattisesti yhdeksi.
- đ Kun haun pooli on kierretty lapi, rikastus siirtyy pankin vanhoihin riveihin. Mitattu viidennelta toistoajolta: koko rikastuskiintio (400 paikkaa) paloi riveihin jotka oli jo todettu tyhjiksi, eika yksikaan pankin sadoista puolivalmiista riveista saanut uutta yritysta. Nyt tyhjaksi todetut muistetaan ja aidosti uudet kasitellaan ensin - ja kun uutta ei ole, paikat kayvat automaattisesti pankin rivien taydentamiseen.
- đĄïž Kanavaosuman naytto kiristyi. Mitattu vaarista osumista: yhden yleisen sanan osuma riitti ja kortille paatyi vaaran toimijan sivu (kahvila toisesta maasta, oppilaitoksen sivu samannimiselle kohteelle). Nyt vaaditaan kaksi erottuvaa nimitokenia, ja pelkka otsikko-osuma vaatii lisaksi firman kaupunkimaininnan samasta hakutuloksesta. Vaara kanava kortilla on pahempi kuin tyhja.
đŹđ§ English
- đŠ A company without a website now gets a durable bank identity. Measured: runs produced channel and phone findings for website-less companies, yet the lead bank did not grow at all, because the bank key was the domain - a website-less finding vanished between runs and the next run redid the same work. The key is now derived from the registry id or the name plus city: findings accumulate in the bank, the IN BANK badge and the skip of needless re-enrichment work for website-less rows too, and when the company later gains a domain the rows merge into one automatically.
- đ When the hunt pool has been cycled through, enrichment moves to the bank's older rows. Measured on the fifth repeat run: the whole enrichment quota (400 slots) burned on rows already found empty, while none of the bank's hundreds of half-finished rows got another attempt. Rows found empty are now remembered and genuinely new ones go first - and when nothing new remains, the slots automatically go to completing the bank's rows.
- đĄïž Channel matching got stricter. Measured from wrong matches: a single generic word was enough and a different operator's page reached the card (a cafe from another country, a university page for a same-named site). Two distinctive name tokens are now required, and a title-only match additionally requires the company's city in the same search result. A wrong channel on a card is worse than an empty one.
1.0.934
2026-08-141.0.934 - 2026-08-14 - "đŸ Somekanavat muistetaan - toistoajo ei hae samoja uudelleen"
đ«đź Suomi
- đŸ Toistoajo haki samat somekanavat uudelleen joka kerralla. Mitattu saman haun seitsemannelta ajokerralta: kotisivuttomien firmojen Facebook/Instagram/varauskanavat haettiin hakukoneista uudelleen jokaisessa ajossa, koska tulokset eivat tallentuneet mihinkaan - noin 15 sekuntia turhaa hakutyota per firma per ajo. Nyt kanavatulokset muistetaan levylla 30 paivaa - myos tyhja tulos, jottei tyhjaa hakua toisteta. Toistoajo lukee muistista sekunnin murto-osassa ja hakukuorma seka ajoaika putoavat. Kuukauden jalkeen firma saa uuden yrityksen, koska kanava on voinut syntya sen jalkeen.
đŹđ§ English
- đŸ Repeat runs re-searched the same social channels every time. Measured on the seventh run of the same hunt: Facebook/Instagram/booking channels of website-less companies were re-queried from search engines on every run because results were stored nowhere - about 15 seconds of wasted search work per company per run. Channel results are now remembered on disk for 30 days - including empty results, so an empty search is not repeated. A repeat run reads from memory in a fraction of a second, cutting search load and run time. After a month the company gets a fresh attempt, since a channel may have appeared.
1.0.933
2026-08-141.0.933 - 2026-08-14 - "đŠ Ensin ruudulle, sitten pankkiin - toistoajo ei enaa nayta tyhjalta"
đ«đź Suomi
- đŠ Ajon tulokset nakyvat nyt aina ruudulla - myos pankista tutut firmat. Mitattu asiakaskokemus: sama haku ajettiin kuudennen kerran ja ruutu jai kaytannossa tyhjaksi, koska lahes koko tulosjoukko oli jo liidipankissa ja pankissa oleva piilotettiin loytolistasta kokonaan. Kayttajalle se nayttaa rikkinaiselta ohjelmalta vaikka pankki karttuu taustalla. Uusi linjaus: jokainen ajon tulos piirtyy tutkaan ja listalle, ja pankista tuttu rivi kertoo sen PANKISSA-merkilla - se ei esiinny uutena loytona eika sita rikasteta turhaan uudelleen. Vanha piilotus on palautettavissa asetuksella.
đŹđ§ English
- đŠ A run's results now always show on screen - including companies already in the bank. Measured user experience: the same hunt run a sixth time left the screen practically empty, because nearly the whole result set was already in the lead bank and banked rows were hidden from the discovery list entirely. To the user that looks like a broken program even though the bank keeps growing. New policy: every result of a run is drawn on the radar and the list, and a bank-known row says so with an IN BANK badge - it is not presented as a new find and is not re-enriched needlessly. The old hiding behaviour remains available via a setting.
1.0.931
2026-08-141.0.931 - 2026-08-14 - "đĄïž Somehaku ei koske LinkedIniin koneen omalla IP-osoitteella"
đ«đź Suomi
- đĄïž LinkedIn-tarkistukset menivat koneen omalla IP-osoitteella. Somekanavahaun hakukoneosuus kulki jo valityskaytannon mukaan, mutta LinkedIn-osoitteen pikatarkistukset (kolme kutsua per firma) menivat suoraan - sadat kutsut ajossa olisivat polttaneet koneen IP:n LinkedInin silmissa. Nyt tarkistukset kulkevat proxy-poolin lapi, ja jos proxya ei ole saatavilla, tarkistus ohitetaan kokonaan: hakukonehaku loytaa saman osoitteen ilman etta LinkedIniin kosketaan suoraan. Koneen oma IP ei koske LinkedIniin enaa koskaan.
đŹđ§ English
- đĄïž LinkedIn probes went out on the machine's own IP. The social-channel search's engine queries already followed the proxy policy, but the LinkedIn URL quick-probes (three calls per company) went direct - hundreds of calls per run would have burned the machine's IP with LinkedIn. Probes now go through the proxy pool, and when no proxy is available the probe is skipped entirely: the search-engine fallback finds the same URL without touching LinkedIn directly. The machine's own IP never touches LinkedIn again.
1.0.930
2026-08-141.0.930 - 2026-08-14 - "đ± Alustakanavat nakyvat nyt ruudulla asti"
đ«đź Suomi
- đ± Alustakanavat kerattiin mutta eivat nakyneet ruudulla. Mitattu heti edellisen version liveajosta: 11 kanavaa viidessa minuutissa meni liidipankkiin, mutta yksikaan ei nakynyt listalla - nakyvyysportti paasti lapi vain rivit joilla on verkkotunnus, sahkoposti tai puhelin, eika Facebook/Instagram/varauskanava ollut sen ehtolistassa. Kanava on asia jolle myyja voi tehda jotain, joten kanavallinen rivi nakyy nyt. Lisaksi: liidikortin riville tuli đ±-merkki (kertoo yhdella silmayksella etta yhteydenottopolku on olemassa), ja paneelin somelinkkeihin lisattiin Instagram ja varauskanava alustan omalla nimella (Fresha, Booksy, Timma...).
- â Kaimavahdin osumatarkkuus varmistettiin mittaamalla: viidesta hylatysta verkkotunnuksesta nelja oli aidosti vaaria (parkkisivu, kaatunut palvelin, SSL-virhe) - portti toimii. Yksi aito ohilyonti kirjattiin jatkoselvitykseen.
đŹđ§ English
- đ± Platform channels were collected but never shown on screen. Measured from the previous version's live run: 11 channels in five minutes reached the lead bank, yet none appeared in the list - the visibility gate only passed rows with a domain, email or phone, and Facebook/Instagram/booking channels were not in its criteria. A channel is something a seller can act on, so channel-bearing rows are now visible. Also: lead rows got a đ± marker, and the panel's social links now include Instagram and the booking platform under its own brand name (Fresha, Booksy, Timma...).
- â The namesake guard's precision was verified by measurement: four of five rejected domains were genuinely wrong (parking page, crashed server, SSL error) - the gate works. One true miss was logged for follow-up.
1.0.929
2026-08-141.0.929 - 2026-08-14 - "đ± Alustakanavat loytavat nyt oikeasti perille - todennettu Cape & Scissorsilla"
đ«đź Suomi
- đ± Edellisen version alustakanavahaku ei loytanyt mitaan - kolme vikaa samassa ketjussa, kaikki mitattu. Todennus tehtiin samalla firmalla jonka asiakas tarkisti kasin (Cape & Scissors Hair Studio, Hartenbos): (1) hakua kutsuttiin ilman hakukonetta, jolloin se palasi aina tyhjana; (2) hakulause loysi roskaa - korjattu muoto palauttaa samalle firmalle Facebook-sivun, Instagramin ja Fresha-varaussivun; (3) poimintasaanto hylkasi oikean osuman koska osoite oli sivun julkaisupolku - nyt osoite normalisoidaan sivun juureen, ja aikakatot korjattiin niin etteivat tulokset peruunnu juuri ennen valmistumista. Lopputulos ajettu lapi oikealla datalla: kortille nousee Facebook-sivu, Instagram-tili ja varaussivu. Uutena poimitaan myos varausalustat (Fresha, Booksy, Treatwell, SetMore, Vagaro, Timma).
đŹđ§ English
- đ± The previous version's platform-channel search never found anything - three faults in one chain, all measured. Verified on the same company the customer checked by hand (Cape & Scissors Hair Studio, Hartenbos): (1) the search was invoked without a search engine, so it always returned empty; (2) the query found junk - the corrected form returns the company's Facebook page, Instagram and Fresha booking page; (3) the extraction rule rejected the real hit because the URL was a post path - URLs are now normalised to the page root, and timeouts were fixed so results are no longer cancelled just before completion. Verified end to end on real data. Booking platforms (Fresha, Booksy, Treatwell, SetMore, Vagaro, Timma) are now collected too.
1.0.928
2026-08-141.0.928 - 2026-08-14 - "đ± Kotisivuton paikallisbisnes saa kanavan: Facebook/LinkedIn kortille"
đ«đź Suomi
- đ± Kotisivuton firma jai tyhjaksi vaikka yhteydenottokanava loytyy verkosta sekunnissa. Todennettu tapaus Etela-Afrikan ajosta: Cape & Scissors Hair Studio (Hartenbos) on oikea yritys jolla on varauspalvelulistaus ja Facebook-sivu - mutta kortti sanoi "ei yhteystietoja", koska maan hakemistopalvelut estavat haut eika alustakanavia poimittu mistaan. Pieni paikallisyritys elaa alustoilla, ei omalla sivustolla. Nyt kun hakemistot ja rekisterit eivat tuota puhelinta eika sahkopostia, somekanavat haetaan yrityksen nimella ja Facebook/LinkedIn-sivu nousee kortille yhteydenottopoluksi. Kanava naytetaan kanavana - keksittyja yhteystietoja ei synnyteta.
đŹđ§ English
- đ± A company without a website stayed empty even when a contact channel exists online. Verified case from a South Africa run: Cape & Scissors Hair Studio (Hartenbos) is a real business with a booking-platform listing and a Facebook page - yet the card said "no contact details", because the country's directory services block lookups and platform channels were never collected. Small local businesses live on platforms, not on their own sites. Now, when directories and registries yield no phone or email, social channels are searched by company name and the Facebook/LinkedIn page rises to the card as a contact path. A channel is shown as a channel - no fabricated contact details.
1.0.927
2026-08-141.0.927 - 2026-08-14 - "đ Maan omat verkkotunnukset loytyvat - ei .fi-arvailua muille maille"
đ«đź Suomi
- đ Kotisivujen paattely kokeili vaaran maan verkkotunnuksia. Mitattu Etela-Afrikan ajosta: etelaafrikkalaiselle leipomolle kokeiltiin lourettas.fi- ja lourettascake.fi-osoitteita ("kokeile .fi pohjoismaisille" -saanto laukesi jokaiselle maalle), ja rikastuksen oma paattelykartta ei tuntenut Etela-Afrikkaa lainkaan - joten maan omia .co.za-osoitteita ei kokeiltu koskaan, vain .com. Seuraus: kotisivuton firma poltti jopa kymmenen turhaa verkkokyselya vaariin maihin ja oikea osoite jai loytymatta. Nyt paattely kayttaa aina maan omaa verkkotunnusta (87 maan kartta) seka .com:ia, eika mitaan muuta. Suomen ja muiden maiden haku sailyy ennallaan.
đŹđ§ English
- đ Website guessing tried the wrong country's domains. Measured from a South Africa run: a South African bakery was probed at lourettas.fi and lourettascake.fi (a "try .fi for Nordic companies" rule fired for every country), and the enrichment path's own domain map did not know South Africa at all - so the country's own .co.za addresses were never tried, only .com. A company without a website burned up to ten futile lookups against wrong countries while the right address went unfound. Guessing now uses the country's own domain (87-country map) plus .com, and nothing else. Finland and other countries behave exactly as before.
1.0.926
2026-08-141.0.926 - 2026-08-14 - "đ Liikevaihtohaut kulkevat rotating-kotiverkkoproxyn kautta"
đ«đź Suomi
- đ Talouslahteiden haut kulkevat nyt rotating residential -proxyn kautta. Mitattu paivan kuudennen ajon kohdalta: asiakastieto alkoi kuristaa koneen omaa IP-osoitetta (175 aikakatkoa yhdessa ajossa, pahimmillaan 113 minuutissa) ja rikastus hidastui yhteen firmaan minuutissa. Proxy-hallintapaneeli paljasti juurisyyn: rotating-vaylan lapi ei ollut kulkenut yhtaan pyyntoa koskaan - 5.8. rakennettu mekanismi jai odottamaan osoitetta jota ei kirjattu asetuksiin. Osoite on nyt kaytossa ja talouslahteet (asiakastieto, kauppalehti, finder, fonecta) hakevat ensin rotating-vaylan lapi: jokainen pyynto lahtee eri koti-IP:sta, joten yhden osoitteen kuristus ei osu koskaan. Mitattu keskella kuristusta: vastaus 1,3 sekunnissa vaylan lapi. Suora haku jai varapoluksi ja kaytos ilman vaylaa on tasmalleen entinen.
đŹđ§ English
- đ Financial-source lookups now go through the rotating residential proxy. Measured at the day's sixth run: the data source began throttling the machine's own IP (175 timeouts in one run, peaking at 113/minute) and enrichment slowed to one company per minute. The proxy dashboard revealed the root cause: zero requests had ever passed through the rotating gateway - the mechanism built on Aug 5 was waiting for an endpoint that was never written into the settings. The endpoint is now configured and financial sources fetch through the gateway first: every request leaves from a different residential IP, so per-IP throttling never hits. Measured mid-throttle: a response in 1.3 seconds through the gateway. Direct fetch remains the fallback and behaviour without a gateway is exactly as before.
1.0.924
2026-08-141.0.924 - 2026-08-14 - "đ§Ÿ Sivusignaalit syttyvat nyt myos tavallisessa haussa"
đ«đź Suomi
- đ§Ÿ Signaalit (kumppanuus, tyhy-paivat, urheilutausta, sivuston teknologia) eivat syttyneet tavallisessa haussa juuri koskaan. Mitattu rakennushaun liveajosta: signaalitunnistus ajoi vain 6 firmalle 47:sta - kaikki rekisteripolun kautta. Syy: haun liideilla on KOLME rikastuspolkua, ja eilinen korjaus osui niista kahteen. Kolmas - se jota valtaosa haun liideista kayttaa - hakee firman sivut omalla koodillaan, poimii puhelimet ja heittaa sivut pois ajamatta signaalitunnistusta. Nyt sama jaettu tunnistus ajetaan siinakin (enintaan 6 sivua per firma), loydokset yhdistyvat kortin signaalilistaan ja sivuston teknologiat kulkevat mukana. Todiste on edelleen aina sivun oma lause.
đŹđ§ English
- đ§Ÿ Site signals (partnership, staff wellbeing days, sports background, site technology) almost never fired in a normal hunt. Measured from a live construction-industry run: detection ran for only 6 of 47 companies - all via the registry path. A hunt's leads flow through THREE enrichment paths and yesterday's fix covered two. The third - the one most hunt leads use - fetches the company's pages with its own code, harvests phones and discards the pages without running detection. The same shared detection now runs there too (up to 6 pages per company), findings merge into the card's signal list, and site technologies travel along. The evidence is still always the site's own sentence.
1.0.922
2026-08-141.0.922 - 2026-08-14 - "đ« Kanavaton rekisteriloyto ei enaa tayta myyntikarkea"
đ«đź Suomi
- đ« Ostajahaun karki tayttyi liideista joille ei voi tehda mitaan. Mitattu urheiluhaun liveajosta: listalle nousi "yhteydenoton arvoinen" -merkinnalla (55 pistetta) firmoja joilla ei ole verkkosivua eika sahkopostia - vain rekisterista kaivettu puhelinnumero ja paattajan nimi. Kortin oma seuraava askel sanoi samaan aikaan "Ohita - ei yhteystietoja". Syy: paatoskerros antoi pisteet paattajasta, puhelimesta ja sijainnista riippumatta siita, onko firmalla mitaan kanavaa jota myyja voi kayttaa. Nyt myyntikarki (QUALIFIED/HOT) on ansaittava kanavalla: verkkosivu tai sahkoposti. Ilman kanavaa liidi sailyy listalla tutkittavana (EXPLORE), mutta ei tayta karkea eika HOT-laskuria. Goldmine-haussa mikaan ei muutu - kotisivuton firma on siella tuote - eika saanto koske omaa listaa tai nimihakua.
đŹđ§ English
- đ« The buyer-search shortlist filled with leads nothing can be done with. Measured from a live sports-industry run: companies with no website and no email - only a phone number and a board member's name dug from the registry - appeared as "worth contacting" (score 55) while the card's own next step said "Skip - no contact details". The decision layer scored decision maker, phone and location without asking whether the seller has any usable channel. The shortlist (QUALIFIED/HOT) now requires a channel: a website or an email address. Without one the lead stays visible as EXPLORE but never fills the shortlist or the HOT counter. Goldmine mode is unchanged - a company without a website is the product there - and user lists and name lookups are exempt.
1.0.921
2026-08-141.0.921 - 2026-08-14 - "đ Y-tunnus kulkee perille - liikevaihto ja paattajat loytyvat"
đ«đź Suomi
- đ Rekisterin y-tunnus ei kulkenut rikastukseen, ja se maksoi liikevaihdon seka paattajat. Mitattu liveajosta (193 liidia): liikevaihto naytettiin 21 liidille, paattaja puuttui 155:lta, ja lokissa oli 159 aikakatkoa suomalaisiin tietolahteisiin seka 196 kertaa "ei y-tunnusta". Ketju: rekisterihavainto kantoi y-tunnuksen, mutta rikastuskutsu heitti sen pois - eika rikastuksen tietomallissa edes ollut y-tunnus-kenttaa. Siksi Kauppalehti ohitti firman ja Asiakastieto kaytti 20 sekunnin aikabudjettinsa y-tunnuksen etsimiseen verkosta uudelleen, mika aikakatkaistui ruuhkassa. Nyt y-tunnus kulkee havainnosta perille asti, ja jos se puuttuu, se haetaan koneen omasta rekisterikannasta nimella (alle sekunti, ei verkkoa). Samalla poistuu turha verkkoresolvaus joka ruuhkautti kaikki muutkin lahteet.
- đïž Paikallinen y-tunnushaku ei voinut koskaan osua. Se haki vain verkkotunnuksella, mutta rekisteriaineistossa verkkotunnus-sarake on tyhja (mitattu: 0/600). Lisatty nimihaku samasta kannasta - rekisterifirman nimi tulee suoraan PRH:sta, joten se tasmaa maaritelmallisesti.
- đ Urheiluhaun kohina kuriin. Liveajossa listalle nousi lakitoimisto, varainhoitaja ja vaatekauppa. Syy: toimialaluokituksessa ei ollut urheiluluokkaa, joten haun kohdetta ei voitu maarittaa eika sivullisia pudottaa. Luokka lisatty ja mitattu 106 oikealla B2B-sivulla: nolla vaaraa urheiluluokitusta, ja urheiluhaku pudottaa nyt 53/106 sivullista. Samalla korjattiin saanto joka olisi pudottanut kuntosalit ja seurat urheiluhausta itsestaan.
đŹđ§ English
- đ The registry business ID never reached enrichment, costing revenue and decision makers. Measured from a live run (193 leads): revenue shown for 21, decision maker missing for 155, 159 timeouts against Finnish data sources and 196 "no business ID" skips. The registry hit carried the ID, but the enrichment call dropped it - and the enrichment data model did not even have the field. Kauppalehti skipped the company and Asiakastieto burned its 20-second budget re-resolving the ID over the network, which timed out under load. The ID now travels end to end, and when missing it is looked up by name from the local registry database (sub-second, no network).
- đïž The local business-ID lookup could never match: it searched by domain only, but the registry data has an empty domain column (measured: 0/600). A name lookup on the same database was added.
- đ Sports-search noise fixed. A law firm, a wealth manager and a clothing store appeared in a sports search because the industry taxonomy had no sports class. The class was added and measured on 106 real B2B sites: zero false sports classifications, and the sports search now drops 53/106 bystanders - while a rule that would have dropped gyms and clubs from the sports search itself was corrected.
1.0.920
2026-08-141.0.920 - 2026-08-14 - "đ§Ÿ Haetut sivut kertovat nyt myos signaalit, eivat vain puhelinnumeroita"
đ«đź Suomi
- đ§Ÿ Kortin sivusignaalit eivat syntyneet haussa lainkaan. Mitattu v1.0.919:n liveajosta (urheilu, Uusimaa, 193 liidia): merkinnat sivuston teknologiasta, kumppanuudesta ja tyhy-paivista esiintyivat lokissa nolla kertaa koko ajossa. Syy: tunnistus oli kytketty kahteen polkuun, mutta haku rikastaa kolmannella. Se hakee firman etusivun ja yhteystietosivut, poimii niista puhelimet ja paattajat ja heittaa sivun pois. Sivut olivat siis jo haettuna, mutta yksikaan sivusignaali ei syntynyt. Nyt sama jaettu tunnistus ajetaan myos siina polussa, enintaan kuudelle sivulle firmaa kohti, eika sivun sisalto jaa liidille roikkumaan.
- đ€ Aakkoset HTML-koodauksessa piilottivat suomalaiset sanat. Osa sivuista kirjoittaa a:n ja o:n muodossa "tyhy-päivä". Tunnistus vertasi naita sanastoon sellaisenaan, joten suomenkielinen sivu jai lukematta juuri niilta osin joilla on merkitysta. Koodaus puretaan nyt ennen vertailua, ja se koskee kaikkia sivusignaaleja.
đŹđ§ English
- đ§Ÿ Card site signals were never produced during a hunt. Measured from the v1.0.919 live run (193 leads): markers for site technology, partnership and staff wellbeing days appeared zero times in the whole run. The detection was wired into two paths, but a hunt enriches through a third one, which fetches the company's home and contact pages, harvests phones and decision makers, and discards the page. The pages were already fetched; no site signal was ever created. The same shared detection now runs there too, for at most six pages per company, and the page content is not left attached to the lead.
- đ€ HTML-encoded Finnish characters hid the words. Some sites write "tyhy-päivä" instead of the plain characters, so the vocabulary never matched. Encoding is now decoded before matching, for every site signal.
1.0.919
2026-08-141.0.919 - 2026-08-14 - "đ Urheiluhaku loytaa yritykset, eika edellinen haku enaa vuoda listalle"
đ«đź Suomi
- đ§č Uuden haun listalle valui edellisen haun firmoja. Mitattu yhdesta ajosta: edellinen haku paattyi 11:25:33, uusi haku sanalla "urheilu" alkoi 11:25:42, ja kello 11:29:22 asti listalle tuli 36 liidia joista noin 30 oli edellisen rakennusliike-haun firmoja. Syy: kotisivuttomien rekisterifirmojen rikastus jatkoi nelja minuuttia sen jalkeen kun ajo oli merkitty valmiiksi, eivatka liidit kantaneet tietoa siita mihin hakuun ne kuuluvat, joten ne nayttivat uuden haun tuloksilta. Nyt jokainen liidi vertaa omaa hakusanaansa ajossa olevaan, ja vaaraan hakuun kuuluva ei paase listalle. Oma lista ja nimihaku eivat kuulu portin piiriin, eika leimaton liidi putoa koskaan.
- đ Hakusana "urheilu" ei loytanyt yhtaan urheilualan yritysta rekisterista. Loki kertoi syyn suoraan: hakusanalle ei loytynyt toimialaa, joten rekisterihaku ohitettiin kokonaan ja koko haku jai kolmen hakukonekyselyn varaan. Sanastossa olivat "kuntosali", "kuntokeskus" ja "urheiluliike" mutta ei alan yleisinta sanaa "urheilu". Mitattu rekisterista: pelkastaan Pirkanmaalla on 471 urheilutoimialan yritysta joita haku ei nahnyt. Sama koski sanoja "liikunta", "elamyspalvelut" ja "ohjelmapalvelut". Toimialakartta laajennettiin naiden osalta, ja laajennus mitattiin niin ettei se tuo vaaria toimialoja: urheiluvalinekaupan koodi olisi vetanyt mukaan leipomo-, makeis- ja polttoainekaupan, joten se jatettiin tietoisesti pois.
- đ Uusi signaali kortille: firma jarjestaa henkilostolleen tyhy-, virkistys- tai palkitsemispaivia. Todiste on sivun oma lause, ei tulkinta. Elamyspalveluiden tarjoaja merkitaan erikseen omalla merkillaan, jottei kilpailijaa esiteta ostajana. Mitattu 67 aidolla elamyspalvelusivulla: tarjoaja tunnistetaan 19 kertaa ilman yhtaan vaaraa osumaa.
- đ Uusi signaali: urheilutausta tai -kiinnostus. Vaatii henkiloviitteen tai yksiselitteisen sanan, joten tuotekuvaus ("matto jota kaytetaan SM-liigassa") tai asiakkaalle kirjoitettu lause ("urheilutaustasta riippumatta") ei enaa nayta firman taustalta.
- đ€ Kumppanuussignaalista poistettiin mitattua roskaa. 93 oikean sivun otoksessa kolmesta osumasta kaksi oli vaaria, molemmat samasta syysta: sana "halli" osui sanaan HALLITUS, jolloin tavallinen tilitoimiston sivu nayttti seuran kumppanilta. Sama koski sanoja "seura" ("seuraava") ja ruotsin "lag" ("lager").
đŹđ§ English
- đ§č Leads from the previous search leaked into the next one. Measured from one run: the previous search ended at 11:25:33, a new search for "urheilu" started at 11:25:42, and up to 11:29:22 the list received 36 leads of which about 30 belonged to the previous construction-company search. Enrichment of registry companies without a website kept running for four minutes after the run was marked complete, and leads carried no marker of which search they belonged to. Each lead now compares its own keyword against the running search, and a lead from another search never reaches the list. User lists and name lookups are exempt, and an unmarked lead is never dropped.
- đ The keyword "urheilu" (sports) found no companies in the registry. The log stated the cause: no industry matched the keyword, so the registry path was skipped entirely and the whole search rested on three search-engine queries. Measured from the registry: 471 sports-industry companies in Pirkanmaa alone were invisible to the search. The industry map now covers sports, fitness, experience and activity services, and the expansion was measured so that it does not pull in wrong industries.
- đ New card signal: the company hosts wellbeing or reward days for its own staff. The evidence is the site's own sentence. A company that sells such services is marked separately so a competitor is never shown as a buyer. Measured on 67 real activity-service sites: 19 providers identified, no false positives.
- đ New signal: sports background or interest, requiring a person reference or an unambiguous term, so product copy and customer-facing wording no longer read as the company's own background.
- đ€ Measured noise removed from the partnership signal. In a 93-site sample, two of three hits were wrong for the same reason: the Finnish word for "hall" matched inside the word for "board of directors".
đ«đź Suomi
- ⥠Talousluvut, rekry ja uutiset jaivat hakematta, koska jokainen suomalainen tietolahde aikakatkaistiin. Mitattuna yhdesta ajosta: aikakatko fonecta 35 kertaa, finder 29, asiakastieto 28, rekry 15, uutiset 6. Tulos nakyi kortilla niin, etta 76 prosentilla liideista oli y-tunnus mutta vain 4 prosentilla liikevaihto. Samat lahteet vastasivat samalta koneelta suoraan alle 1,2 sekunnissa. Syy ei siis ollut lahteissa: Atlas reititti kaikki rikastushaut ensin valityspalvelimen kautta, joka onnistuu naissa vain viidesosassa yrityksista ja polttaa epaonnistuessaan koko aikabudjetin. Valityspalvelin on oikea oletus hakukoneille, jotka torjuvat konesalien osoitteet, mutta vaara naille tietolahteille. Nyt tietolahteet haetaan ensin suoraan lyhyella katolla, ja mika tahansa epaonnistuminen putoaa tasmalleen entiseen polkuun. Mitattu finder.fi: 0,8 sekuntia aiemman 8-20 sekunnin aikakatkon sijaan.
- đ§ Kuusi sahkopostiosoitetta oli rikki URL-koodauksen takia. Kortilla luki yhteystietona esimerkiksi "%20info@rakennusverraton.fi" tai "20info@rakennusverraton.fi". Sivun linkissa on URL-koodattu valilyonti, joka jai osoitteen eteen, ja viesti olisi lahtenyt olemattomaan osoitteeseen. Sama vika hylkasi puhelinnumeroita. Nyt osoite otetaan talteen ehjana eika sita pudoteta. Prosenttiluvut tekstissa sailyvat ennallaan.
đŹđ§ English
- ⥠Financials, hiring and news were never fetched because every Finnish data source timed out. Measured in a single run: fonecta timed out 35 times, finder 29, asiakastieto 28, hiring 15, news 6. On the card this showed up as 76 percent of leads having a business ID but only 4 percent having revenue. The same sources answered directly from the same machine in under 1.2 seconds. The sources were not the problem: Atlas routed every enrichment lookup through the proxy first, which succeeds for only a fifth of these attempts and burns the whole time budget when it fails. A proxy is the right default for search engines, which reject datacenter addresses, but the wrong default for these data sources. Data sources are now fetched directly first with a short cap, and any failure falls back to exactly the previous path. Measured on finder.fi: 0.8 seconds instead of the previous 8-20 second timeout.
- đ§ Six email addresses were broken by URL encoding. A card would show a contact such as "%20info@rakennusverraton.fi" or "20info@rakennusverraton.fi". The link on the page contains a URL-encoded space that stayed in front of the address, and a message would have gone to an address that does not exist. The same fault was rejecting phone numbers. The address is now recovered intact rather than dropped. Percentages in ordinary text are left untouched.
1.0.918
2026-08-141.0.918 - 2026-08-14 - "⥠Suomalaiset tietolahteet vastaavat vihdoin"
đ«đź Suomi
- ⥠Talousluvut, rekry ja uutiset jaivat hakematta, koska jokainen suomalainen tietolahde aikakatkaistiin. Mitattuna yhdesta ajosta: aikakatko fonecta 35 kertaa, finder 29, asiakastieto 28, rekry 15, uutiset 6. Tulos nakyi kortilla niin, etta 76 prosentilla liideista oli y-tunnus mutta vain 4 prosentilla liikevaihto. Samat lahteet vastasivat samalta koneelta suoraan alle 1,2 sekunnissa. Syy ei siis ollut lahteissa: Atlas reititti kaikki rikastushaut ensin valityspalvelimen kautta, joka onnistuu naissa vain viidesosassa yrityksista ja polttaa epaonnistuessaan koko aikabudjetin. Valityspalvelin on oikea oletus hakukoneille, jotka torjuvat konesalien osoitteet, mutta vaara naille tietolahteille. Nyt tietolahteet haetaan ensin suoraan lyhyella katolla, ja mika tahansa epaonnistuminen putoaa tasmalleen entiseen polkuun. Mitattu finder.fi: 0,8 sekuntia aiemman 8-20 sekunnin aikakatkon sijaan.
- đ§ Kuusi sahkopostiosoitetta oli rikki URL-koodauksen takia. Kortilla luki yhteystietona esimerkiksi "%20info@rakennusverraton.fi" tai "20info@rakennusverraton.fi". Sivun linkissa on URL-koodattu valilyonti, joka jai osoitteen eteen, ja viesti olisi lahtenyt olemattomaan osoitteeseen. Sama vika hylkasi puhelinnumeroita. Nyt osoite otetaan talteen ehjana eika sita pudoteta. Prosenttiluvut tekstissa sailyvat ennallaan.
đŹđ§ English
- ⥠Financials, hiring and news were never fetched because every Finnish data source timed out. Measured in a single run: fonecta timed out 35 times, finder 29, asiakastieto 28, hiring 15, news 6. On the card this showed up as 76 percent of leads having a business ID but only 4 percent having revenue. The same sources answered directly from the same machine in under 1.2 seconds. The sources were not the problem: Atlas routed every enrichment lookup through the proxy first, which succeeds for only a fifth of these attempts and burns the whole time budget when it fails. A proxy is the right default for search engines, which reject datacenter addresses, but the wrong default for these data sources. Data sources are now fetched directly first with a short cap, and any failure falls back to exactly the previous path. Measured on finder.fi: 0.8 seconds instead of the previous 8-20 second timeout.
- đ§ Six email addresses were broken by URL encoding. A card would show a contact such as "%20info@rakennusverraton.fi" or "20info@rakennusverraton.fi". The link on the page contains a URL-encoded space that stayed in front of the address, and a message would have gone to an address that does not exist. The same fault was rejecting phone numbers. The address is now recovered intact rather than dropped. Percentages in ordinary text are left untouched.
1.0.916
2026-08-141.0.916 - 2026-08-14 - "đ Rekrytointisignaali takaisin - ja signaalit jaavat talteen"
đ«đź Suomi
- đ Rekrytointitietoja ei haettu tavallisessa ostajahaussa lainkaan. Atlas hakee yrityksen omilta urasivuilta tiedon siita rekrytoiko se juuri nyt - se on vahva ostosignaali, koska kasvava yritys palkkaa ja palkkaava yritys investoi. Haku oli kuitenkin rajattu vain goldmine-hakuun, joten tavallisessa ostajahaussa se ei kaynnistynyt kertaakaan: mitattuna 663 liidia kahdelta vuorokaudelta, eika yhdellakaan rekrytieto. Nyt haku ajetaan myos ostaja- ja markkinahaussa. Aikabudjetti ei muutu (sama 15 sekunnin katto), oma lista ohitetaan, ja tarvittaessa sen voi kytkea pois.
- đ¶ Signaalit eivat tallentuneet liidipankkiin. Uutiset, kumppanuudet ja muut yrityksen omat signaalit nakyivat liidikortilla, mutta niita ei kirjoitettu kantaan: tallennus luki eri kenttaa kuin mihin ne kerataan. Kahden vuorokauden 663 liidista signaaleja oli tallessa 6. Siksi liidipankin signaalisuodattimet eivat loytaneet mitaan. Nyt signaalit sailyvat lahteineen.
đŹđ§ English
- đ Hiring data was never fetched in a normal buyer search. Atlas reads a company's own careers pages to see whether it is hiring right now - a strong buying signal, since a growing company hires and a hiring company invests. The lookup was limited to goldmine searches only, so in a normal buyer search it never ran: measured across 663 leads from two days, not one carried hiring data. It now runs in buyer and market searches too. The time budget is unchanged (same 15-second cap), your own list is skipped, and it can be switched off if needed.
- đ¶ Signals were not saved to the lead vault. News, partnerships and other company-specific signals appeared on the lead card but were never written to the database: the save path read a different field from the one they are collected into. Of 663 leads over two days, 6 had signals stored. That is why the vault's signal filters found nothing. Signals are now kept, with their sources.
1.0.915
2026-08-141.0.915 - 2026-08-14 - "đ¶ Nakyyko yhdella silmayksella kenella on varaa ostaa"
đ«đź Suomi
- đ¶ Rahoituskyky nakyy nyt listassa. Myyja joka myy sponsorointia tai yhteistyota tarvitsee yhdella silmayksella tiedon siita onko firmalla varaa. Liikevaihto oli omana sarakkeenaan, mutta se ei yksin kerro maksukykya: 3 M⏠liikevaihto 8 prosentin omavaraisuudella on eri asia kuin 300 k⏠60 prosentilla. Tilinpaatostieto oli jo haettu, se ei vain noussut mihinkaan nakyvaan. Nyt listan signaalisarakkeessa lukee esimerkiksi "Vahva tase - omavaraisuus 59 % · liikevaihto 4.2 M⏠· tulos +8.2 %", ja lahde kulkee mukana. Luokittelu noudattaa suomalaisen tilinpaatosanalyysin vakioasteikkoa (vahintaan 40 % hyva, 20-40 % tyydyttava), ja luku nakyy aina jotta paatelman voi tarkistaa itse. Ilman omavaraisuusastetta maksukykya ei vaiteta lainkaan, eika heikosta taseesta tehda myyntisignaalia.
đŹđ§ English
- đ¶ Financial capacity now shows in the list. A seller offering sponsorship or partnership needs to see at a glance whether a company can afford it. Revenue had its own column, but revenue alone does not show capacity: âŹ3M of revenue at 8 % equity ratio is a different matter from âŹ300k at 60 %. The financial data was already fetched, it simply never surfaced anywhere visible. The list's signal column now reads, for example, "Strong balance sheet - equity ratio 59 % · revenue âŹ4.2M · profit +8.2 %", with the source included. The classification follows the standard Finnish financial-analysis scale (40 % or above good, 20-40 % satisfactory), and the figure is always shown so the conclusion can be checked. Without an equity ratio no capacity is claimed at all, and a weak balance sheet is never turned into a sales signal.
1.0.914
2026-08-131.0.914 - 2026-08-14 - "đą Tutkalle palaavat pallot - skannaustyo nakyy taas"
đ«đź Suomi
- đą Tutka jai tyhjaksi vaikka skannattu-luku nousi. Edellisessa versiossa lisatty listasiivous - joka piilottaa rivit joilla ei ole verkkotunnusta eika yhteystietoa - pudotti vahingossa myos tutkan loytopallot. Mitattuna: tutkalla nakyi 24 palloa samaan aikaan kun skannauslaskuri sanoi 439, ja loki kertoi 200 firmaa piilotetuksi. Ohjelma siis kavi lapi satoja yrityksia mutta ruutu nayttti silta ettei se loyda mitaan. Syy: sama viesti kuljettaa seka listan rivit etta tutkan pallot, ja siivous kohdistui molempiin. Pallo on eri asia kuin listarivi - se kertoo "tama firma kaytiin lapi", ei "talle voi myyda". Pallot palaavat, ja listasiivous sailyy ennallaan.
đŹđ§ English
- đą The radar stayed empty while the scanned counter kept rising. The list clean-up added in the previous version - which hides rows with no domain and no contact details - also dropped the radar's discovery dots by mistake. Measured: the radar showed 24 dots while the scan counter said 439, and the log reported 200 companies hidden. The program was working through hundreds of companies while the screen suggested it was finding nothing. The cause: the same message carries both list rows and radar dots, and the clean-up applied to both. A dot is not a list row - it says "this company was checked", not "this one is sellable". The dots are back, and the list clean-up is unchanged.
1.0.913
2026-08-131.0.913 - 2026-08-14 - "đ€ Todiste nakyy listassa, ei vain kortin sisalla"
đ«đź Suomi
- đ€ Yrityksen omalta sivulta poimittu todiste jai piiloon. Kun Atlas loytaa firman sivulta lauseen joka kertoo ostosignaalista - esimerkiksi "Olemme ylpeita Ilves-juniorien paayhteistyokumppani jo viidetta vuotta" - se nakyi vain liidikortin sisalla. Listan "SIGNAALI & MIKSI NYT" -sarakkeessa luki sen sijaan yleisluontoinen syy kuten "puhelinnumero saatavilla". Myyja ei siis nahnyt vahvinta ostosignaalia siina nakymassa jossa han selaa satoja riveja. Nyt firman omat todistesignaalit nousevat listan sarakkeeseen ja kortille omana merkkinaan, ja sponsorointi/kumppanuus nousee liikevaihdon ja uutisen edelle - se on harvinaisempi ja ratkaisevampi. Todiste on aina sivun oma lause lahteineen, ei paattely; ilman lausetta ei nayteta mitaan.
đŹđ§ English
- đ€ Evidence taken from the company's own site stayed hidden. When Atlas finds a sentence on a company's site that signals buying intent - for example "We have proudly been the main partner of the Ilves juniors for five years" - it appeared only inside the lead card. The list's "SIGNAL & WHY NOW" column instead showed a generic reason such as "phone contact available". The seller therefore could not see the strongest buying signal in the view where hundreds of rows are scanned. A company's own evidence signals now rise into the list column and onto the card as their own marker, and sponsorship/partnership ranks above revenue and news - it is rarer and more decisive. The evidence is always the site's own sentence with its source, never an inference; without a sentence nothing is shown.
1.0.912
2026-08-131.0.912 - 2026-08-13 - "đ Yhteystietosivu loydetaan linkista, ei arvaamalla"
đ«đź Suomi
- đ Sahkopostit jaivat loytymatta koska yhteystietosivulle ei paasty. Sahkoposti on pienyrityksella lahes aina yhteystietosivulla, ei etusivulla. Atlas yritti arvata sivun osoitteen kiinteasta listasta, ja kun arvaus meni ohi, jaljelle jai pelkka etusivu: mitatussa ajossa 33 firmaa sai vain yhden sivun ja 16 ei yhtaan. Etusivun linkkien seuraaminen oli olemassa mutta ajoi vain 18 kertaa 98:sta, koska sanasto ei tunnistanut Suomen yleisimpia polkuja (/yhteys, /yhteydenotto, /asiakaspalvelu, /ajanvaraus, /toimipisteet, /henkilokunta) eika linkin tekstia luettu lainkaan - moni sivu reitittaa yhteystiedot numeeriseen osoitteeseen jossa lukee vain "Yhteystiedot". Sanasto kattaa nyt kymmenen kielta, ja linkin teksti seka kuvalinkin kuvaus luetaan osoitteen lisaksi.
- đ„ HOT-luku nayttti eri lukua kuin lista. Laskurissa saattoi lukea 5 kun listassa oli 19 HOT-rivia. Laskuri ja lista kayttivat samaa saantoa mutta eri dataa: laskuri arvioi jokaisen paivityksen erikseen, lista yhdistetyn rivin. Nyt luku lasketaan samasta listasta jonka naet.
- đŁïž Ohjelma nautti jumittuneelta vaikka se eteni. Vasemmassa palkissa saattoi lukea sama firma kymmenia minuutteja, koska koristeellinen "mita Atlas tekee" -rivi kirjoitti todellisen edistymisen yli muutaman sekunnin valein. Nyt todellinen tila voittaa, ja firman nimi haviaa kun se ei enaa pade.
- â ïž Vieras sahkopostiosoite merkitaan. Yrityksen sivulla voi esiintya ulkopuolisen osoite (sivuntekija, kumppani). Jos vapaan palvelun osoite ei viittaa yritykseen, se merkitaan nyt selvasti - sita ei poisteta, koska pienyrityksella se voi olla ainoa osoite.
đŹđ§ English
- đ Emails went unfound because the contact page was never reached. For a small business the email is almost always on the contact page, not the front page. Atlas tried to guess the page address from a fixed list, and when the guess missed, only the front page remained: in the measured run 33 companies got a single page and 16 got none. Following the front page's own links existed but ran only 18 times out of 98, because the vocabulary did not recognise the most common Finnish paths (/yhteys, /yhteydenotto, /asiakaspalvelu, /ajanvaraus, /toimipisteet, /henkilokunta) and the link text was not read at all - many sites route contact details to a numeric address whose link simply reads "Contact". The vocabulary now covers ten languages, and link text plus image link descriptions are read alongside the address.
- đ„ The HOT figure disagreed with the list. The counter could read 5 while the list showed 19 HOT rows. Both applied the same rule but to different data: the counter judged each update in isolation, the list judged the merged row. The figure is now counted from the same list you see.
- đŁïž The program looked stuck while it was progressing. The left panel could show the same company for tens of minutes because the decorative "what Atlas is doing" line overwrote real progress every few seconds. Real status now wins, and the company name disappears once it no longer applies.
- â ïž A foreign email address is marked. A company's site can carry an outsider's address (web designer, partner). If a free-provider address does not refer to the company, it is now clearly marked - not removed, since for a small business it may be the only address.
1.0.911
2026-08-131.0.911 - 2026-08-13 - "â±ïž Yksikaan haku ei saa venya aikakattonsa yli"
đ«đź Suomi
- â±ïž Osa hauista venyi yli oman aikakattonsa. Jarjestelman valvonta mittasi 302 aikakatkoa, joista 20 ylitti 15 sekunnin katon ja pisin kesti 31 sekuntia. Syy: HTTP-istunnot luotiin 20 sekunnin oletusaikakatolla, vaikka haun kokonaiskatto on 12 sekuntia. Jos kutsupolku ei antanut omaa aikarajaa, se peri hiljaisesti tuon loysemman oletuksen - eli aikabudjetti oli sopimus jota mikaan ei valvonut. Nyt oletus on sidottu samaan kattoon, ja valvonta tarkistaa jatkossa ettei oletusta voi asettaa kattoa loysemmaksi. Kaytannossa: jumiin jaava sivu luovuttaa nopeammin, jolloin haku ehtii ladata enemman oikeasti vastaavia sivuja.
đŹđ§ English
- â±ïž Some fetches ran past their own time limit. System monitoring measured 302 timeouts, of which 20 exceeded the 15-second cap and the longest took 31 seconds. The cause: HTTP sessions were created with a 20-second default timeout even though the total fetch cap is 12 seconds. A call path that did not set its own limit silently inherited the looser default - the time budget was a contract nothing enforced. The default is now tied to the same cap, and a guard checks that it can never be set looser than the cap. In practice: a hanging page gives up sooner, so a search has time to load more pages that actually respond.
1.0.910
2026-08-131.0.910 - 2026-08-13 - "đ§ Sahkopostit takaisin - yksi epaonninen haku ei vie firman yhteystietoja"
đ«đź Suomi
- đ§ Sahkopostien loytyminen heikkeni 10.8. alkaen. Liidipankista mitattuna: sahkopostin sisaltavien liidien osuus oli 7.-9.8. 57-67 %, ja 10.8. alkaen 35-43 %. Puhelin, paattaja ja HOT-osuus eivat pudonneet - pudotus koski vain sahkoposteja eli sita mika vaatii yhteystietosivun lataamisen. Syy loytyi 8.8. lisatysta valimuistista, joka muisti epaonnistuneen sivunhaun 180 sekuntia. Puuttuvalle sivulle (404) se on oikein. Mutta jos haku epaonnistui yhteysvirheeseen, myos se muistettiin yhta pitkaan - ja koska yhteystietosivu haetaan vasta myohemmassa vaiheessa, se ohitettiin vaikka verkko oli jo palautunut. Yksi epaonninen ensiyritys vei siis koko firman sahkopostit. Nyt yhteysvirhe muistetaan 25 sekuntia ja puuttuva sivu 180 kuten ennen: turhat toistot pysyvat poissa, mutta seuraava vaihe saa yrittaa uudelleen.
đŹđ§ English
- đ§ Email discovery got worse from 10 August onward. Measured from the lead vault: the share of leads carrying an email was 57-67 % on 7-9 August and 35-43 % from 10 August. Phone, decision maker and HOT share did not drop - the fall was specific to email, which is the field that requires loading the contact page. The cause was a cache added on 8 August that remembered a failed page fetch for 180 seconds. For a missing page (404) that is correct. But a fetch that failed on a connection error was remembered just as long - and because the contact page is fetched in a later stage, that stage was skipped even though the network had already recovered. One unlucky first attempt therefore cost the company all of its emails. A connection error is now remembered for 25 seconds and a missing page for 180 as before: wasted repeats stay gone, but the next stage is allowed to try again.
1.0.909
2026-08-131.0.909 - 2026-08-13 - "đ Alueen ulkopuolinen firma nakyy sellaisena"
đ«đź Suomi
- đ Listalla oli firmoja hakualueen ulkopuolelta ilman etta sita nakyi. Kun rajaat haun esimerkiksi Uudellemaalle, mukaan voi tulla firma jonka rekisterikotipaikka on toisaalla. Atlas TIESI sen jo - se oli laskenut liidin pisteet alas ja kirjannut syyn - mutta kortilla luki vain "alue vahvistamatta", koska kaksi eri tilannetta oli niputettu samaksi viestiksi: "emme saaneet vahvistusta" ja "rekisteri vahvistaa etta firma on muualla". Nyt jalkimmainen sanotaan suoraan ja kaupunki nakyy: "Rekisterin kotipaikka Ylojarvi - hakualueen ulkopuolelta". Merkinta nakyy myos listalla, joten rivia ei voi sekoittaa oikean alueen firmaan. Liidia EI poisteta, koska aluetieto voi olla vaarassa - se merkitaan.
- đșïž Samanniminen pikkupaikka saattoi siirtaa firman toiselle puolelle maata. Kaupunkikannassa on useita samannimisia paikkoja, ja haku palautti niista mielivaltaisen. Mitattu: Nummela osoitti Porin lahelle, 150 km oikeasta Nummelasta, ja se osui viime haussa 18 kertaan. Nyt: jos sama nimi loytyy useammalta alueelta eika vakiluku erota niita, sijaintia ei arvata lainkaan. Isot kaupungit ratkeavat kuten ennenkin.
đŹđ§ English
- đ The list contained companies from outside the searched area without saying so. When you limit a search to one region, a company registered elsewhere can still appear. Atlas already knew - it had lowered the lead's score and recorded the reason - but the card only said "area unconfirmed", because two different situations were merged into one message: "we could not confirm" and "the registry confirms the company is elsewhere". The latter is now stated directly with the city: "Registered location Ylojarvi - outside the searched area". The marker also appears in the list, so such a row cannot be mistaken for one inside the area. The lead is NOT removed, because location data can be wrong - it is marked.
- đșïž A small place with the same name could move a company to the other side of the country. The city database contains several places sharing a name, and the lookup returned an arbitrary one. Measured: Nummela pointed near Pori, 150 km from the real Nummela, and it occurred 18 times in the last search. Now, if the same name exists in several regions and population does not separate them, the location is not guessed at all. Large cities resolve as before.
1.0.906
2026-08-131.0.906 - 2026-08-13 - "đ± Listalle vain firmoja joihin voi ottaa yhteytta"
đ«đź Suomi
- đ± Joka kolmas rivi listalla oli sellainen jolle ei voinut tehda mitaan. Rekisterista loytyy firmoja joilla ei ole verkkosivua, ja jos niille ei loydy myoskaan sahkopostia tai puhelinta, rivilla ei ole mitaan mihin tarttua: ei sivua jolle mennĂ€, ei numeroa johon soittaa, ei osoitetta johon kirjoittaa. Ne eivat myoskaan tallentuneet liidipankkiin, joten ne katosivat kun haku loppui. Viime hausta mitattuna: 629 liidista 318 oli ilman verkkotunnusta, ja niista 186 ilman mitaan yhteystietoa. Nama piilotetaan nyt listalta. Firma jolla on puhelin mutta ei sivua NAKYY edelleen - sille voi soittaa. Jos rikastus loytaa myohemmin yhteystiedon, firma ilmestyy listalle silloin; mitaan ei heiteta lopullisesti pois. Oma lista ja nimihaku nayttavat kaiken kuten ennenkin, ja goldmine-haussa kotisivuton firma on edelleen tulos siina missa muutkin.
đŹđ§ English
- đ± Every third row on the list was one you could do nothing with. The registry contains companies with no website, and when no email or phone is found for them either, the row offers nothing to act on: no site to visit, no number to call, no address to write to. They were not saved to the lead vault either, so they vanished when the search ended. Measured from the last search: of 629 leads, 318 had no domain, and 186 of those had no contact details at all. These are now hidden from the list. A company with a phone but no website still APPEARS - you can call it. If enrichment later finds a contact, the company shows up then; nothing is discarded permanently. Your own list and name search show everything as before, and in goldmine search a company without a website is still a result like any other.
1.0.905
2026-08-121.0.905 - 2026-08-13 - "đ° Liikevaihto ei jaa hakematta aikakatkon takia"
đ«đź Suomi
- đ° Osa firmoista jai ilman liikevaihtoa vaikka rekisterissa oli luvut. Talouslukujen haulla oli 10 sekunnin katto, mutta itse kysely sai kayttaa 12 sekuntia ja yritti viela kolmesti - eli sisin osa sai kuluttaa monikymmenkertaisesti enemman aikaa kuin sita ymparoiva katto salli. Kun rekisteripalvelin oli hidas, kysely katkaistiin joka kerta kesken ensimmaista yritysta, eika samaa firmaa yritetty enaa uudelleen. Luvut eivat siis puuttuneet siksi ettei rekisteri tiennyt niita, vaan siksi ettei kysely ehtinyt alkuunkaan: viime ajossa 22 firmaa jai nain ilman liikevaihtoa. Nyt kyselylla on yksi yhteinen aikabudjetti joka mahtuu kattoon, ja peraikkaisia kyselyita tehdaan vain jos aikaa on jaljella.
- đȘ Ohjelman sulkeminen kesken haun ei jaa odottamaan rekisteria. Sulkiessa jonossa odottavat rekisterikyselyt heitetaan pois sen sijaan etta ne ajettaisiin ensin loppuun.
đŹđ§ English
- đ° Some companies were left without revenue figures even though the registry had them. The financial lookup had a 10-second ceiling, but the query itself was allowed 12 seconds and retried three times - the innermost part could spend many times longer than the ceiling around it permitted. Whenever the registry server was slow, the query was cut off during its very first attempt, and that company was never retried. The figures were missing not because the registry did not know them, but because the query never got started: in the last run 22 companies were left without revenue this way. The query now has a single shared time budget that fits inside the ceiling, and follow-up queries are only made if time remains.
- đȘ Closing the program mid-search no longer waits for the registry. Queued registry queries are discarded on exit instead of being run to completion first.
1.0.904
2026-08-121.0.904 - 2026-08-12 - "đ§ Ohjelma ei jaady kun rekisteripalvelin hidastuu"
đ«đź Suomi
- đ§ Haku saattoi pysahtya minuuteiksi tayteen hiljaisuuteen. Kun yritysrekisterin palvelin hidastui, haku nayttti kuolleelta: laskurit eivat liikkuneet, tutkaan ei ilmestynyt palloja eika listalle liideja. Mitatussa tapauksessa hiljaisuus kesti 10 minuuttia, minka jalkeen kaikki purkautui kerralla. Syy: hitaat rekisterikyselyt ajettiin samassa jaetussa jonossa kaiken muun kanssa, ja kun palvelin ei vastannut, ne varasivat koko jonon. Nimenselvitys, levytyot ja sahkopostitarkistukset jaivat odottamaan saman tukoksen taakse. Rekisterikyselyilla on nyt oma rajattu jononsa: hidas palvelin hidastaa vain rekisteritietojen taydennysta, ei koko hakua.
đŹđ§ English
- đ§ A search could stop dead for minutes at a time. When the company registry server slowed down, the search looked dead: counters stopped moving, no dots appeared on the radar and no leads reached the list. In the measured case the silence lasted 10 minutes, after which everything arrived at once. The cause: slow registry queries ran in the same shared queue as everything else, and when the server stopped responding they occupied the whole queue. Name resolution, disk work and email checks all waited behind the same blockage. Registry queries now have their own bounded queue: a slow server only delays registry details, not the entire search.
1.0.903
2026-08-121.0.903 - 2026-08-12 - "đą Uusi haku alkaa nollasta"
đ«đź Suomi
- đą HOT-laskuri nayttti edellisen haun luvut. Kun aloitit uuden haun, ylapalkin HOT-luku jatkoi siita mihin edellinen jai: ruudulla saattoi lukea 80 HOT vaikka uudessa haussa oli 11 liidia. Muut luvut nollautuivat oikein, mutta HOT laskettiin erillisesta listasta jota ei tyhjennetty haun alussa. Luku ei siis ollut hieman pielessa vaan kertoi kokonaan eri hausta. Nyt jokainen haku alkaa nollasta, seka tavallisessa haussa etta listahaussa.
đŹđ§ English
- đą The HOT counter showed numbers from the previous search. When you started a new search, the HOT figure in the top bar continued from where the previous one left off: the screen could read 80 HOT while the new search had 11 leads. The other figures reset correctly, but HOT was counted from a separate list that was never cleared at the start of a run. The number was therefore not slightly off - it described a different search entirely. Every search now starts from zero, both in regular search and in list search.
1.0.902
2026-08-121.0.902 - 2026-08-12 - "⥠Syvahaku luovuttaa nopeammin hakukoneesta joka ei tunne yritysta"
đ«đź Suomi
- ⥠Syvahaku odotti turhaan kolme tayttaa aikakatkoa. Ohjelma lopetti kyselyt hakukoneelle joka ei tunne yritysta vasta kolmen tyhjan vastauksen jalkeen. Mitattu omasta jarjestelmatarkistuksesta: yksi syvahaku kesti 81 sekuntia ja siita 140 sekuntia (rinnakkain) oli odotusta hakukoneilta jotka palauttivat nollan - yksi niista poltti yksin 75 sekuntia eli tasan kolme taytta aikakatkoa. Nyt raja on kaksi, eli sama hakukone saastaa yhden taydeen aikakaton jokaista yritysta kohden. Vahintaan kaksi hakukonetta jaa aina ajoon, joka viides ohitus on koeyritys, ja yksikin tulos palauttaa hakukoneen heti kayttoon.
đŹđ§ English
- ⥠Deep search waited through three full timeouts for nothing. The program stopped querying a search engine that does not know the company only after three empty answers. Measured in the system check: a single deep search took 81 seconds, of which 140 seconds (in parallel) was spent waiting on engines that returned zero - one of them burned 75 seconds alone, exactly three full timeouts. The limit is now two, so the same engine saves one full timeout for every company. At least two engines always keep running, every fifth skip is a probe, and a single result brings an engine straight back.
1.0.901
2026-08-121.0.901 - 2026-08-12 - "đïž Remonttialan ostajat loytyvat suomenkielisella haulla"
đ«đź Suomi
- đïž Isannointi, rakennuttaja ja maalausliike palauttivat tyhjan ruudun. Rekisterihaku tunsi jo sanat "rakennusliike" ja "kiinteistonvalitys", mutta remonttialan tarkeimmat ostajasegmentit puuttuivat sanastosta kokonaan. Mitattu: "isannointi" 0 rivia, "rakennuttaja" 0 rivia - vaikka samat yritykset loytyvat rekisterista toimialakoodilla. Nyt ne kaannetaan automaattisesti rekisterin omaan sanastoon, ja jokainen vastine on valittu mittaamalla mika tuottaa oikean toimialan. Mukana myos aakkosettomat kirjoitusasut, koska hakukenttaan kirjoitetaan miten sattuu.
đŹđ§ English
- đïž Property management, developers and painting companies returned an empty screen. The registry search already knew "construction" and "real estate", but the most important buyer segments in the renovation trade were missing from the vocabulary entirely. Measured: "isannointi" 0 rows, "rakennuttaja" 0 rows - even though the same companies are in the registry under their industry code. They are now translated automatically into the registry's own vocabulary, and every mapping was chosen by measuring which one returns the correct industry. Spellings without Finnish accents are included, because people type search terms however they like.
1.0.900
2026-08-121.0.900 - 2026-08-12 - "đŠđș Australian aluehaku toimii vihdoin"
đ«đź Suomi
- đŠđș Australian aluehaku palautti nolla yritysta. Australian yritysrekisteri tallentaa osavaltion koodina (NSW, VIC, QLD), mutta ohjelma haki alueen koko nimella ("New South Wales"), jolloin osumia ei tullut yhtaan - ja haku putosi pelkkien hakukoneiden varaan. Mitattu: NSW 50 rivia, "New South Wales" 0 rivia. Nyt ohjelma kokeilee koodia automaattisesti jos nimi ei tuota tulosta. Koodi luetaan maan omista asetuksista, joten sama korjaus toimii jokaisessa maassa jonka rekisteri kayttaa koodeja. Muut maat kayttaytyvat tasan kuten ennen.
đŹđ§ English
- đŠđș Australian regional search returned zero companies. The Australian business registry stores the state as a code (NSW, VIC, QLD), but the program searched with the full region name ("New South Wales"), so nothing matched - and the search fell back to search engines alone. Measured: NSW 50 rows, "New South Wales" 0 rows. The program now tries the code automatically when the name returns nothing. The code is read from each country's own settings, so the same fix works for every country whose registry uses codes. Other countries behave exactly as before.
1.0.899
2026-08-121.0.899 - 2026-08-12 - "đ Rekisterin valmiit yhteystiedot kortille + liidipaneeli suomeksi"
đ«đź Suomi
- đ Yritysrekisterin valmiit yhteystiedot menivat hukkaan. Taustajarjestelma lahettaa jokaisella firmarivilla myos sahkopostin, paattajan nimen ja tittelin, mutta ohjelma otti riveilta vastaan vain osan kentista - loput putosivat aanettomasti. Mitattu omasta ajostasi: rekisteri lahetti 20 rivilla 10 sahkopostia ja 7 yhteyshenkiloa, ja korteille paatyi sahkoposti 15 %:lle ja paattaja 16 %:lle. Nyt ne tulevat mukaan sellaisenaan. Tama myos nopeuttaa hakua, koska samaa tietoa ei enaa etsita uudelleen ryomimalla.
- đ§ Valikkoteksti ei paase paattajaksi. Osassa maita rekisterin yhteyshenkilo-kentassa on sivun valikkotekstia ("Call Us", "Term Deposits") oikean nimen sijaan. Kortilla ei nayteta sellaista: jos arvo ei ole ihmisen nimi, paattajaa ei nayteta lainkaan. Keksitty paattaja on pahempi kuin ei paattajaa.
- đ«đź Liidipaneeli puhuu nyt suomea myos syvahaun jalkeen. Paneelin ylin lohko (osumatodennakoisyys, perustelut, paras yhteydenottopolku, ehdotettu kulma) ja kasvupisteiden "Miksi nyt" olivat englanniksi, koska ne muodostetaan lauseina eika valmiista kaannoksista. Nyt ne nakyvat suomeksi ja venajaksi, ja nimet, luvut ja roolit sailyvat sellaisenaan. Jos jokin lause on viela kaantamatta, se nakyy englanniksi eika arvattuna suomennoksena.
đŹđ§ English
- đ Ready-made contact details from the company registry were being thrown away. The backend sends an email address, a decision maker's name and title on every company row, but the program only accepted some of the fields - the rest were dropped silently. Measured in your own run: the registry sent 10 emails and 7 named contacts across 20 rows, while the cards ended up with an email on 15 % and a decision maker on 16 %. They now come through as they are. This also speeds up the search, because the same information is no longer looked up again by crawling.
- đ§ Menu text can no longer become a decision maker. In some countries the registry's contact field holds page menu text ("Call Us", "Term Deposits") instead of a real name. The card no longer shows those: if the value is not a person's name, no decision maker is shown at all. An invented decision maker is worse than none.
- đ«đź The lead panel now speaks Finnish after deep search too. The top block (probability, reasons, best contact path, suggested angle) and the growth score's "why now" were in English because they are composed as sentences rather than picked from translations. They now appear in Finnish and Russian, with names, numbers and roles preserved. Any sentence not yet translated stays in English rather than being guessed.
1.0.898
2026-08-121.0.898 - 2026-08-12 - "đ°ïž Taustatieto nakyviin - ja syvahaku hakee uutiset myos ilman kotisivua"
đ«đź Suomi
- đ°ïž Tutkassa ja listassa nakyy nyt merkki, kun yrityksesta on jo taustatietoa. Sadat rivit nayttavat samalta, eika myyja nae mille riville on jo kertynyt aitoa taustaa. Nyt rivilla on merkki: đ° kun yrityksesta on uutinen (osoita hiirella niin naet montako ja mista lehdesta) ja đ° kun liikevaihto on virallisesta lahteesta (summa ja lahde tulevat samaan vihjeeseen). Jos taustaa ei ole, merkkia ei tule.
- đ° Syvahaku hakee yrityksen uutiset nyt myos silloin, kun yrityksella ei ole kotisivua. Aiemmin haku jai kokonaan tekematta, jos liidilta puuttui maatieto - ja juuri rekisterista nimella loytyneilta yrityksilta se puuttuu. Ne ovat samalla ne yritykset joilla ei ole verkkosivua, eli uutiset olivat niiden AINOA tiedonlahde. Maa paatellaan nyt automaattisesti.
- đ Taustajarjestelman web-signaalit paatyvat vihdoin kortille. Ohjelma luki niita vaaralla nimella, joten ne eivat olisi nakyneet koskaan. Korjattu, ja vanha nimi tuettu edelleen.
đŹđ§ English
- đ°ïž The radar and the list now show a marker when a company already has background intel. Hundreds of rows look alike, and a seller cannot see which ones already carry real background. Rows now carry a marker: đ° when there is news about the company (hover to see how many and from which publication) and đ° when the revenue comes from an official source (amount and source in the same tooltip). No background, no marker.
- đ° Deep search now fetches a company's news even when the company has no website. Previously the lookup was skipped entirely if the lead had no country information - and that is exactly what is missing from companies found by name in the registry. Those are also the companies with no website, so news was their ONLY source of intel. The country is now derived automatically.
- đ Web signals from the backend finally reach the card. The program was reading them under the wrong name, so they would never have appeared. Fixed, with the old name still supported.
1.0.897
2026-08-121.0.897 - 2026-08-12 - "đ§± Syvahaku kertoo nyt myos miten sivusto on rakennettu"
đ«đź Suomi
- đ§± Syvahaku ei kertonut miten yrityksen sivusto on rakennettu, vaikka se oli juuri hakenut sivun. Syvahaku noutaa yrityksen kotisivun tunnistaakseen etta kyse on oikeasta yrityksesta, mutta se ei analysoinut sivua lainkaan - sivu haettiin ja heitettiin pois. Siksi kortilta puuttuivat teknologiat (esimerkiksi WordPress, Cloudflare, kavijaseuranta) ja sivuston rakenne (onko blogia, rekrytointisivua, sosiaalista mediaa, asiakkuudenhallintaa). Nama nakyivat vain tavallisessa haussa. Nyt molemmat kayttavat samaa analyysia, joten syvahaku antaa saman tiedon. Mitattu samalla sivulla: 23 rakennekenttaa, teknologiat ja mahdollinen kumppanuus todisteineen.
- đ©č Yksi hiljainen virhe korjattu matkan varrella. Signaalimoduulista puuttui lokitus kokonaan, minka takia ensimmainen lokirivi kaatoi funktion ja puolet tyosta katosi aanettomasti. Nyt se nakyy lokissa.
đŹđ§ English
- đ§± Deep search did not tell you how the company's website is built, even though it had just fetched the page. Deep search fetches the company homepage to confirm it is the right company, but it never analysed that page - the page was fetched and thrown away. As a result the card was missing technologies (for example WordPress, Cloudflare, visitor analytics) and site structure (whether there is a blog, a careers page, social media, a CRM). Those appeared only in regular search. Both now use the same analysis, so deep search gives you the same information. Measured on the same page: 23 structure fields, technologies and any partnership with its evidence.
- đ©č One silent error fixed along the way. The signal module had no logging at all, so the first log line crashed the function and half the work vanished without a trace. It is now visible in the log.
1.0.896
2026-08-121.0.896 - 2026-08-12 - "đ Vaalea teema + uutishaku nipuiksi"
đ«đź Suomi
- đ Vaalea teema. Atlas on ollut aina tumma. Nyt ylapalkin napista voi vaihtaa vaaleaan ja takaisin milloin tahansa. Tumma teema on tasmalleen ennallaan.
- đ§ș Yritysten uutiset haetaan nyt oikeasti nipuissa. Ohjelma hakee uutiset taustalla samalla kun haku tuo liideja. Mitattu omasta ajostasi: nippuja muodostui 26 kappaletta 40 yritykselle eli keskimaarin 1,6 yritysta per haku, vaikka yhteen mahtuu 25 - liidit saapuvat yksi kerrallaan, ja ohjelma lahti hakemaan heti ensimmaisesta. Nyt nimet kerataan ensin (10 yritysta tai 6 sekuntia), jolloin sama tyo tehdaan murto-osalla kutsuja. Haku itse ei odota tata hetkeakaan.
- â±ïž Taustahaku sai lisaaikaa. Neljasosa taustahauista katkesi liian tiukkaan aikakattoon, koska se kaytti samaa katkoa kuin nappia painamalla tehty haku. Taustahaku on oma tyojononsa eika mikaan odota sita, joten se saa nyt 15 sekuntia. Kaytannossa: enemman uutisia kortille samalla vaivalla.
đŹđ§ English
- đ Light theme. Atlas has always been dark. You can now switch to a light theme from the top bar and back at any time. The dark theme is exactly as it was.
- đ§ș Company news is now genuinely fetched in batches. The program fetches news in the background while the search brings in leads. Measured in your own run: it made 26 batches for 40 companies, an average of 1.6 companies per request even though 25 fit in one - leads arrive one at a time and the program started fetching from the first one. Names are now collected first (10 companies or 6 seconds), so the same work takes a fraction of the requests. The search itself never waits for this.
- â±ïž The background fetch got more time. A quarter of background fetches were cut short by too tight a deadline, because they used the same one as a search you trigger by hand. The background fetch is its own queue and nothing waits for it, so it now gets 15 seconds. In practice: more news on cards for the same effort.
1.0.895
2026-08-121.0.895 - 2026-08-12 - "⥠Syvahaku ei enaa odota hakukonetta joka ei tunne yritysta"
đ«đź Suomi
- ⥠Syvahaku ei enaa kysy neljatta kertaa hakukoneelta joka ei tunne yritysta. Syvahaku tekee samasta yrityksesta useita kyselyita (nimivariantit, paattajahaku, uutiset). Mitattu omasta ajostasi: yksi liidi kesti 2 min 30 s, ja siita 202 sekuntia oli odotusta hakukoneilta jotka palauttivat nolla tulosta joka kerta. Jos hakukone ei loyda yritysta kolmella ensimmaisella kyselylla, se ei yksinkertaisesti tunne sita, eika neljas kysely muuta asiaa. Nyt se ohitetaan taman yrityksen kohdalla. Vahintaan kaksi hakukonetta jaa aina ajoon, joka viides ohitus on koeyritys, ja yksikin tulos palauttaa hakukoneen heti kayttoon. Oppi koskee vain kasiteltavaa yritysta ja unohtuu kun siirryt seuraavaan. Haku (ei syvahaku) toimii tasan kuten ennen.
- đ·ïž Yrityksen omat tiedot eivat sekoitu ohjelman omiin signaaleihin. Taustajarjestelma lahettaa yrityksen mukana web-signaaleja, ja ne kulkevat nyt omassa nimiavaruudessaan. Aiemmin ne olisivat voineet nayttaa kortilla havaittuna signaalina vaikka arvo oli "ei" - nyt kortille paasee vain se mika on totta, ja arvo nakyy todisteena.
đŹđ§ English
- ⥠Deep search no longer asks a fourth time from a search engine that does not know the company. Deep search runs several queries about the same company (name variants, decision-maker lookup, news). Measured in your own run: a single lead took 2 min 30 s, of which 202 seconds was waiting on engines that returned zero results every time. If an engine cannot find the company in the first three queries, it simply does not know it, and a fourth query will not change that. It is now skipped for this company. At least two engines always keep running, every fifth skip is a probe, and a single result brings the engine straight back. What is learned applies only to the company being processed and is forgotten when you move to the next one. Regular search behaves exactly as before.
- đ·ïž A company's own data no longer mixes with the program's own signals. The backend sends web signals alongside the company, and they now travel in their own namespace. Previously they could have appeared on the card as a detected signal even when the value was "no" - now only what is true reaches the card, and the value is shown as the evidence.
1.0.894
2026-08-121.0.894 - 2026-08-12 - "đ° Yrityksen uutiset myos hakutuloksiin, ilman hidastumista"
đ«đź Suomi
- đ° Yrityksen omat uutiset nakyvat nyt myos haun aikana, eivat vain syvahaussa. Haku ei kuitenkaan jaa odottamaan niita hetkeksikaan: ohjelma lukee jo haetut uutiset heti ja hakee puuttuvat taustalla nipuissa, 25 yritysta yhdella kutsulla. Mitattu: haun oma kutsu kestaa alle sadasosasekunnin, ja viiden yrityksen uutiset haettiin taustalla noin viidessa sekunnissa yhdella kutsulla. Kortti taydentyy kun tulos saapuu. Jos yrityksesta ei ole kirjoitettu, kortilla ei nay mitaan - uutista ei koskaan keksita.
đŹđ§ English
- đ° A company's own news now appears during the search too, not only in deep search. The search never waits for it: the program reads already-fetched news instantly and fetches the rest in the background in batches, 25 companies per call. Measured: the search's own call takes under a hundredth of a second, and news for five companies was fetched in the background in about five seconds with a single call. The card fills in when the result arrives. If nothing has been written about the company, the card shows nothing - news is never invented.
1.0.893
2026-08-121.0.893 - 2026-08-12 - "đ° Yrityksen omat uutiset kortille lahteineen"
đ«đź Suomi
- đ° Syvahaku kertoo nyt mita YRITYKSESTA on kirjoitettu, ei vain mita alalla tapahtuu. Taustajarjestelma lukee 158 uutislahdetta ja kannassa on yli 55 000 juttua. Tahan asti niita pystyi hakemaan vain maan ja toimialan tasolla, joten yksittaisen yrityksen omat uutiset jaivat saamatta. Nyt syvahaku hakee ne yrityksen nimella: kortille tulee otsikko, julkaisun nimi ja klikattava linkki juttuun. Kayta tata kun haluat tietaa miksi juuri nyt kannattaa ottaa yhteytta. Uutista ei koskaan keksita: jos osumia ei ole, kortilla ei nay mitaan.
- đ·ïž Uutissignaali kiinnittyy YRITYKSEEN, ei vain maahan. Aiemmin taustajarjestelman signaalit (esimerkiksi yrityskauppa-aalto tai rahoitusaalto) nakyivat kortilla kansallisena taustatietona, koska ohjelma ei voinut tietaa koskiko se juuri tata yritysta. Nyt kun osuma tulee yrityksen omalla nimella, signaali kiinnittyy suoraan siihen yritykseen ja nakyy sen omana signaalina todisteineen. Pelkka maininta uutisessa ei riita: signaaliksi paasee vain juttu jonka taustajarjestelma on itse luokitellut signaaliksi.
- đ Haku tehdaan aina maan kanssa. Uutiskanta on monikielinen, ja ilman maarajausta yrityksen nimi voi osua vaaraan juttuun toisella kielella. Siksi haku tehdaan vain kun liidin maa tiedetaan.
đŹđ§ English
- đ° Deep search now tells you what has been written about the COMPANY, not just what is happening in its industry. The backend reads 158 news sources and holds over 55 000 articles. Until now they could only be queried by country and industry, so a single company's own news never reached you. Deep search now looks them up by company name: the card shows the headline, the publication and a clickable link to the article. Use it when you want to know why this is the right moment to make contact. News is never invented: with no matches, nothing is shown.
- đ·ïž A news signal now attaches to the COMPANY, not just the country. Previously the backend's signals (for example a wave of acquisitions or funding) appeared on the card as national background, because the program could not tell whether they concerned this specific company. Now that the match comes from the company's own name, the signal attaches to that company and appears as its own signal with the evidence. A mere mention in the news is not enough: only an article the backend itself classified as a signal qualifies.
- đ The lookup always includes the country. The news corpus is multilingual, and without a country filter a company name can match an unrelated article in another language. The lookup therefore runs only when the lead's country is known.
1.0.891
2026-08-121.0.891 - 2026-08-12 - "đ Puhelinnumerot takaisin kortille, lehdet ja kumppanuudet nakyviin"
đ«đź Suomi
- đ Kortilta puuttui puhelinnumeroita jotka ohjelma oli jo loytanyt. Mitattu omasta ajostasi 12.8.: 56 liidista 41 menetti KAIKKI puhelimensa viimeisessa vaiheessa, yhteensa 69 numeroa. Esimerkiksi 4Event Oy: pisteytys laski kaksi puhelinta, ja samana sekuntina kortille lahti nolla. Syy oli se, etta numeroiden viimeinen tarkistus tehtiin tietamatta maata, jolloin kotimaisessa muodossa oleva numero (esim. 040 771 0005) ei voinut saada maakoodia ja putosi hiljaa pois. Nyt maa paatellaan verkkotunnuksen paatteesta ja liidin omasta maasta, ja jos maata ei saada, numero ei katoa aanettomasti vaan syy kirjataan. Toimii kaikissa maissa, eika maakoodia koskaan arvata.
- đ° Ohjelma kertoo nyt mista lehdista markkinasignaali tulee ja kuinka monta juttua sen takana on. Kortilla luki ennen vain tarina ja lahteena "GDELT". Taustajarjestelma lukee 158 uutislahdetta ympari maailman ja tietaa jokaisesta signaalista myos artikkelimaaran, julkaisut ja sen milloin vaikutus tyypillisesti osuu. Nyt ne nakyvat: esimerkiksi "164 artikkelia · vaikutus 7-90 pv · lahteet Kauppalehti, Talouselama, Arctic Startup". Jos jokin naista puuttuu, sita ei nayteta eika keksita.
- đ€ Uusi signaali: firma on jo jonkun seuran tai tapahtuman kumppani. Jos yrityksen omilla sivuilla lukee esimerkiksi "toimimme juniorijoukkueen yhteistyokumppanina", se nakyy nyt kortilla ja kortti nayttaa loydetyn tekstin sellaisenaan. Tallainen yritys on kumppanuusmyynnille paras liidi: se on jo osoittanut seka budjetin etta halun nakya. Pelkka sana "yhteistyokumppanit" ei riita, koska se on useimmiten lista alihankkijoista - signaali vaatii myos urheilu- tai tapahtumayhteyden.
đŹđ§ English
- đ Phone numbers the program had already found were missing from the card. Measured in your own run on Aug 12: 41 of 56 leads lost ALL their phone numbers in the final step, 69 numbers in total. For example 4Event Oy: scoring counted two phones, and in the same second zero reached the card. The cause was that the final check ran without knowing the country, so a number in national format (e.g. 040 771 0005) could not get its country code and was dropped silently. The country is now derived from the domain suffix and the lead's own country, and if it still cannot be determined the number is no longer dropped silently. Works in every country, and the country code is never guessed.
- đ° The program now shows which publications a market signal comes from and how many articles are behind it. The card used to show only the story and "GDELT" as the source. The backend reads 158 news sources worldwide and knows, for every signal, the article count, the publications and when the effect typically lands. Those are now visible: for example "164 articles · impact in 7-90 days · sources Kauppalehti, Talouselama, Arctic Startup". Anything missing is simply not shown, never invented.
- đ€ New signal: the company already sponsors a club or an event. If the company's own site says something like "we are a partner of the junior team", the card now shows it together with the exact sentence found. Such a company is the best lead for partnership sales: it has already proven both budget and willingness to be seen. The word "partners" alone is not enough, since it usually lists subcontractors - the signal also requires a sports or event context.
1.0.890
2026-08-121.0.890 - 2026-08-12 - "đȘ Haettu kohderyhma ei enaa putoa omaan porttiin"
đ«đź Suomi
- đȘ Ohjelma pudotti juuri ne firmat jotka haettiin, jos ala oli kuluttaja-ala. Atlaksessa on suodatin joka poistaa kuluttajayritykset silloin kun haet yritysasiakkaita: parturi ei ole ostaja, jos etsit myyntitoimistoja. Suodatin ei kuitenkaan katsonut mita sina haet, joten se poisti parturit myos parturihausta. Mitattu omasta ajostasi 12.8.: haku oli "barber shop", tutkaan tuli 470 osumaa ja niista 226 pudotettiin perusteella "kuluttajayritys" (mukana Gold Barber Oy ja Parturiliike Makela Oy), listalle jai 33. Nyt suodatin katsoo ensin hakusanaa: jos haet nimenomaan kuluttaja-alaa, mitaan ei poisteta. Yritysasiakashaku toimii tasan kuten ennen, eli sivulliset kuluttajayritykset karsiutuvat siita edelleen.
- đ Sama haku kayttaytyi eri tavalla eri kielella. Suomenkielinen "parturi kampaamo" paasi lapi, mutta kaannetty "barber shop" ei, koska vain jalkimmainen tunnistettiin toimialaksi. Nyt lopputulos on sama kielesta riippumatta.
đŹđ§ English
- đȘ The program dropped exactly the firms you searched for, if the sector was consumer-facing. Atlas has a filter that removes consumer businesses when you are looking for business customers: a barber is not a buyer if you are looking for sales agencies. The filter did not look at what you were actually searching for, so it also removed barbers from a barber search. Measured in your own run on Aug 12: the search was "barber shop", 470 hits reached the radar, 226 of them were dropped as "consumer business" (including Gold Barber Oy and Parturiliike Makela Oy), and 33 made it to the list. The filter now looks at your search term first: if you are explicitly searching a consumer sector, nothing is removed. Business-customer searches behave exactly as before, so incidental consumer businesses are still filtered out of those.
- đ The same search behaved differently in different languages. The Finnish "parturi kampaamo" passed through, but the translated "barber shop" did not, because only the latter was recognised as an industry. The outcome is now the same regardless of language.
1.0.889
2026-08-121.0.889 - 2026-08-12 - "đ©č Haku ei enaa hidasta itseaan jumiin"
đ«đź Suomi
- đ©č Haku hidastui kesken ajon itsestaan, eika palautunut. Eilinen paivitys lyhensi odotusaikoja silloin kun verkko on ruuhkassa. Se lyhensi kuitenkin vahingossa myos sen ajan, jonka yhteyden avaaminen sai kestaa, vaikka ohjelma oli juuri paattanyt antaa avaamiselle ruuhkassa enemman aikaa. Yhteydet katkesivat siis omaan asetukseen, ja jokainen katkennut yhteys kirjautui ohjelmalle uudeksi todisteeksi siita etta verkko on huono. Niin syntyi kierre, josta ohjelma ei paassyt itse pois. Mitattu omasta ajostasi 12.8.: ensimmaisen minuutin aikana loytyi 8 liidia, kierteen alettua enaa 1 minuutissa, ja katkenneita yhteyksia kertyi 806 kolmessa minuutissa. Nyt odotusaika ei koskaan alita sita aikaa jonka yhteyden avaaminen ruuhkassa tarvitsee, eika myoskaan hakukoneen omaa mitattua vastausaikaa. Ruuhkan tuoma nopeutus jaa voimaan, ja hyvassa verkossa mikaan ei muutu.
- đ„ïž Sama teknologia ei enaa nay liidikortilla kahdesti. Kortilla saattoi lukea "next.js" ja "Next.js" tai "cloudflare" ja "Cloudflare" perakkain, koska sivun koodista ja palvelimen vastauksesta luetut nimet kirjoitettiin eri tavalla. Nyt sama teknologia nakyy tasan kerran, siina muodossa jonka ensimmainen lahde antoi.
đŹđ§ English
- đ©č The search slowed itself down mid-run and never recovered. Yesterday's update shortened waiting times when the network is congested. By accident it also shortened the time allowed for opening a connection, even though the program had just decided to allow more time for exactly that when congested. Connections were therefore cut short by our own setting, and every cut connection was recorded as fresh evidence that the network was bad. That created a loop the program could not exit on its own. Measured in your own run on Aug 12: 8 leads in the first minute, then only 1 per minute once the loop started, and 806 cut connections in three minutes. The wait can now never fall below the time that opening a connection needs when congested, nor below the search engine's own measured response time. The speedup under congestion stays, and nothing changes on a healthy network.
- đ„ïž The same technology no longer appears twice on a lead card. A card could show "next.js" and "Next.js", or "cloudflare" and "Cloudflare", because the names read from the page source and from the server response were written differently. Each technology now appears exactly once, in the form the first source provided.
1.0.887
2026-08-111.0.887 - 2026-08-12 - "đ Syvarikastus ei enaa odota kuolleita hakukoneita"
đ«đź Suomi
- â±ïž Syvarikastus odotti 25 sekuntia hakukoneilta jotka eivat vastanneet. Mitattu omasta ajostasi: yksi liidi kesti 2 min 35 s, ja siita yli 5 minuuttia oli pelkkaa odotusta moottoreilta jotka palauttivat nolla tulosta (sama moottori jopa nelja kertaa perakkain, 25 sekuntia kerrallaan). Samaan aikaan ohjelma itse oli jo havainnut verkon ruuhkautuneen. Nyt odotusaika lyhenee automaattisesti kahdesta syysta: kun verkko on ruuhkassa ja kun sama moottori on juuri jattanyt vastaamatta. Mitattu: 25 s â 8,8 s ruuhkassa, 6 s kun moottori on jo pettanyt. Hyvassa verkossa odotus on tasan entinen, joten mikaan ei hidastu.
- đ§ Haku ei enaa pysahtele isoilla sivuilla. Yhteystietojen poiminta usean megatavun sivulta tehtiin samassa saikeessa kuin kaikki muu, jolloin koko ohjelma jahmettui parhaimmillaan 2,6 sekunniksi kerrallaan. Se nakyi myos siina, etta muut haut nayttivat yhtakkia kestaneen 20-34 sekuntia. Isot sivut kasitellaan nyt erillaan, eika muu tyo jaa odottamaan.
- đ Julkiset hakupalvelimet toimivat nyt myos toisella hakutavalla. Ohjelma kayttaa kymmenia julkisia SearXNG-palvelimia lisamoottoreina. Toinen niiden kahdesta hakutavasta oli rikki: se ei osannut kayttaa suojattua yhteytta, ja virheen takia ohjelma merkitsi PARHAAN palvelimen 15 minuutin taolle - vaikka vika oli meissa, ei siina. Nyt molemmat hakutavat kayttavat samaa toimivaa yhteytta.
đŹđ§ English
- â±ïž Deep enrichment waited 25 seconds for search engines that never answered. Measured in your own run: a single lead took 2 min 35 s, of which over 5 minutes was pure waiting on engines that returned zero results (the same engine up to four times in a row, 25 seconds each). Meanwhile the program had already detected that the network was congested. The wait now shortens automatically for two reasons: when the network is congested, and when the same engine has just failed to answer. Measured: 25 s â 8.8 s when congested, 6 s when the engine has already failed. On a healthy network the wait is exactly what it was, so nothing gets slower.
- đ§ Searching no longer stutters on large pages. Extracting contacts from a multi-megabyte page ran in the same thread as everything else, freezing the whole program for up to 2.6 seconds at a time. It also made unrelated fetches appear to take 20-34 seconds. Large pages are now handled separately and nothing else waits for them.
- đ Public search servers now work on the second search path too. The program uses dozens of public SearXNG servers as extra engines. One of their two search paths was broken: it could not use a secure connection, and because of that error the program put its BEST server on a 15-minute timeout - even though the fault was ours, not the server's. Both paths now use the same working connection.
1.0.886
2026-08-111.0.886 - 2026-08-11 - "⥠Haku ei enaa pysahtele, ja hakukoneita on kymmenia lisaa"
đ«đź Suomi
- ⥠Haku pysahtyi 10 sekunniksi jokaisen liidin kohdalla. Liikevaihdon haku rekisterista tehtiin kohdassa, joka pysaytti koko ohjelman siksi aikaa. Mitattu omasta ajostasi: 18 pysahdysta, pisimmat yli 10 sekuntia, ja samoina hetkina muiden hakujen kesto rajahti 15 sekunnista 129 sekuntiin. Kaytannossa haku tuntui jaatyvan valilla. Nyt liikevaihto haetaan rinnalla, eika mikaan odota sita. Liikevaihto tulee kortille tasan kuten ennenkin.
- đ« Ohjelma luuli hakukoneiden torjuneen meidat, vaikka pyyntoa ei ollut edes lahetetty. Sama liikevaihtohaku sekoitti ohjelman sisaisen tyojonon niin, etta osa hauista kaatui ennen verkkoon lahtoa, ja ne kirjattiin silti "hakukone torjui" -merkinnalla. Vaara merkinta kertyi oppimistietoon, joka paattaa mita hakukoneita kaytetaan. Nyt merkinta syntyy vain aidosta torjunnasta.
- đ Kymmenia uusia hakukoneita, ilman yhtaan lisamaksua. Ohjelma kaytti yhta julkista SearXNG-palvelinta, joka torjui meidat hiljaa: se vastasi "onnistui" mutta palautti tyhjan sivun. Mittaus: 344 hakua, 0 tulosta. Nyt kaytossa on 32 palvelinta ja lista paivittyy itsestaan. Mitattu 11.8.: 13 palvelinta 24:sta tuotti tuloksia heti, parhaat 20-32 osumaa alle kahdessa sekunnissa. Ohjelma mittaa ne itse ja valitsee parhaat, eika kukaan joudu yllapitamaan listaa kasin.
- â±ïž Tavoittamaton kotisivu ei enaa polta 12 sekuntia turhaan. Kun yrityksen sivu ei vastannut lainkaan, ohjelma kokeili samaa sivua viela kahden eri yhteyden kautta. Mitattu: 400 tallaista turhaa yritysta yhdessa ajossa ja vain 14 aitoa torjuntaa. Nyt ero tunnistetaan: jos kukaan ei vastaa, sivu ohitetaan heti. Jos sivu on olemassa mutta torjuu, vaihtoehtoiset reitit kokeillaan kuten ennenkin.
- đ Myos firmannimi-haku sai saman nopeutuksen. Yllakuvattu pysahtely korjattiin ensin vain toimialahausta ja listasta. Nimihaku jai ulos, eli se jumitti yha 10 sekuntia jokaisen loydetyn firman kohdalla. Nyt kaikki neljĂ€ hakutapaa kayttavat samaa nopeaa reittia.
- đŹ Ohjelma oppii nyt siita, mitka sahkopostiosoitteet menevat perille. Kun arvattu osoite palautuu virheella, ohjelma merkitsi ennen vain sen yhden osoitteen. Nyt se oppii MILLAINEN osoitemuoto epaonnistui milla sahkopostialustalla (esim. etunimi.sukunimi@ Microsoftin palvelimilla) ja valitsee seuraavalle firmalle paremman muodon. Myos onnistuminen opettaa: mika tahansa vastaus - jopa automaattinen lomavastaus - todistaa etta osoite on olemassa. Tieto kertyy omaan kayttoosi eika sita jaeta mihinkaan.
đŹđ§ English
- ⥠The hunt froze for 10 seconds on every lead. The registry revenue lookup ran at a point that halted the whole program while it waited. Measured from your own run: 18 stalls, the longest over 10 seconds, and during those moments other fetches stretched from 15 seconds to 129. In practice the search felt like it kept freezing. Revenue is now fetched alongside the run instead of blocking it, and it still reaches the card exactly as before.
- đ« The program recorded search engines as blocking us when no request had been sent. That same revenue lookup disturbed the program's internal work queue, so some fetches failed before reaching the network and were still logged as "the engine blocked us". Those false entries fed the learning data that decides which engines get used. A block is now recorded only when one genuinely happened.
- đ Dozens of new search engines, at no extra cost. The program used a single public SearXNG server that was rejecting us silently: it answered "success" but returned an empty page. Measured: 344 searches, 0 results. It now uses 32 servers and the list refreshes itself. Measured on 11 August: 13 of 24 servers produced results immediately, the best returning 20-32 hits in under two seconds. The program measures them itself and keeps the best, so nobody has to maintain the list by hand.
- â±ïž An unreachable website no longer burns 12 seconds for nothing. When a company site did not answer at all, the program retried the same site through two more connections. Measured: 400 such futile attempts in a single run against only 14 genuine rejections. The difference is now recognised: if nobody answers, the page is skipped at once. If the page exists but rejects us, the alternative routes are tried exactly as before.
- đ Company-name search got the same speed-up. The stalling described above was first fixed only for industry search and lists. Name search was left out, so it still froze for 10 seconds on every company found. All four search paths now use the same fast route.
- đŹ The program now learns which e-mail addresses actually arrive. When a guessed address bounced, the program used to mark only that one address. It now learns WHICH address format failed on WHICH mail platform (for example firstname.lastname@ on Microsoft servers) and picks a better format for the next company. Success teaches it too: any reply, even an automatic out-of-office, proves the address exists. The knowledge accumulates for your own use and is never shared anywhere.
1.0.885
2026-08-101.0.885 - 2026-08-10 - "đ§ Koko maata ei suljeta myynnilta ilman tietoa siita missa katastrofi on"
đ«đź Suomi
- đ§ 13 suomalaista liidia meni kontaktikieltoon 24.8. asti ilman syyta. Ohjelma sai kriisisignaalin "1 233 luonnonkatastrofi-artikkelia Suomessa" ja merkitsi jokaisen listan liidin tilaan "ala kontaktoi" kahdeksi viikoksi. Suomessa ei ole kansallista luonnonkatastrofia: luku syntyy siita etta suomalaismedia raportoi maailman katastrofeista. Tarkistin signaalin palvelimelta: se kertoi maan mutta EI yhtaan aluetta, ja laukaisuikkuna oli kolmen viikon takaa (13.-15.7.). Nyt maata ei suljeta myynnilta ilman tietoa siita MISSA katastrofi on. Varoitus nakyy yha bannerissa, mutta liidit pysyvat kontaktoitavina.
- âïž Aito paikallistettu katastrofi estaa yha. Jos signaali kertoo alueen - esimerkiksi tulva Porissa - porilaiset liidit menevat kontaktikieltoon kuten ennenkin. Myos vanhat palvelinversiot, jotka eivat osaa lahettaa aluetietoa lainkaan, kayttaytyvat tasmalleen kuten ennen.
đŹđ§ English
- đ§ 13 Finnish leads were put on "do not contact" until 24 August for no reason. The program received a crisis signal reading "1,233 natural disaster articles in Finland" and marked every lead on the list do-not-contact for two weeks. Finland has no national natural disaster: the number comes from Finnish media reporting on disasters elsewhere in the world. I checked the signal on the server: it named the country but NOT a single region, and its trigger window was three weeks old (13-15 July). A country is no longer closed to sales without knowing WHERE the disaster is. The warning still appears in the banner, but the leads stay contactable.
- âïž A genuine, located disaster still blocks. When the signal names a region - a flood in Pori, say - leads in Pori go to do-not-contact exactly as before. Older server versions that cannot send region information at all also behave exactly as before.
1.0.884
2026-08-101.0.884 - 2026-08-10 - "đ Hakusana kaannetaan rekisterin kielelle kun se ei muuten osu"
đ«đź Suomi
- đ Englanninkielinen hakusana ei loytanyt suomalaisia yrityksia. Haku sanalla "locksmith" Kymenlaaksossa skannasi 53 yritysta ja tuotti nolla liidia: kaupparekisterin toimialanimikkeet ovat suomeksi ja ruotsiksi, joten englanninkielinen sana ei osu niihin. Ohjelma haki siis sattumanvaraisia yrityksia, toimialaportti hylkasi ne kaikki, ja ruudulle jai "0 passed filters". Nyt hakusana kaannetaan rekisterin kielelle. Mitattu samasta hausta: "locksmith" loysi ennen 1 yrityksen, nyt 24 aitoa lukko- ja turva-alan yritysta.
- âïž Kaannos ei ole automaattinen vaan mitattu. Pelkka kaantaminen olisi huonontanut osaa hauista: "sales consulting" antoi alkuperaisella sanalla 50 yritysta ja kaannoksella yhden. Siksi alkuperainen sana ajetaan aina ensin, ja kaannosta kokeillaan vain jos tulos jaa laihaksi - ja se pidetaan vain jos se tuottaa enemman. Yksikaan toimiva haku ei siis voi huonontua.
đŹđ§ English
- đ An English keyword found no Finnish companies. A search for "locksmith" in Kymenlaakso scanned 53 companies and produced zero leads: the trade register's industry labels are in Finnish and Swedish, so an English word matches almost nothing. The program fetched unrelated companies, the industry gate rejected all of them, and the screen showed "0 passed filters". The keyword is now translated into the register's language. Measured on that same search: "locksmith" previously found 1 company, now 24 genuine lock and security firms.
- âïž The translation is measured, not automatic. Translating everything would have made some searches worse: "sales consulting" returned 50 companies with the original word and one with the translation. So the original runs first, a translation is tried only when the result comes back thin, and it is kept only when it returns more. No working search can get worse.
1.0.883
2026-08-101.0.883 - 2026-08-10 - "đžđȘ Ruotsi saa liikevaihdon jo haussa, ei vasta kasin"
đ«đź Suomi
- đ° Ruotsalaiset liidit jaivat ilman liikevaihtoa haussa. Ohjelmassa on ollut Ruotsin oma talouslahde koko ajan, mutta sita kutsuttiin vain silloin kun kaynnistit syvarikastuksen kasin. Tavallisessa haussa ruotsalainen firma nayttaytyi ilman lukuja, vaikka ne olisivat olleet yhden pyynnon paassa. Nyt lahde ajetaan haun aikana samalla tavalla kuin Suomessa. Varmistin lahteen toimivan ennen julkaisua: Spotify 114,5 mrd SEK, Klarna 3,16 mrd SEK, Fortnox 1,80 mrd SEK.
- đ Mittasin kuuden maan tilan lapikotaisin. Viro, Latvia ja Norja saavat liikevaihdon suoraan rekisterista (Latvialla on 1,97 miljoonaa talousriviĂ€ 254 274 yritykselle). Ruotsi ja Suomi eivat voi saada sita rekisterista, koska kumpikaan maa ei julkaise tilinpaatoksia avoimena datana - niille luvut tulevat rikastusketjusta, ja se ketju on nyt kaytossa molemmissa.
- đ„ Toimialahaku nayttaa nyt yritykset ensin, ei karttapisteita. Mitattu Latviasta: haku palautti kahdeksan riviĂ€, joista NELJA ENSIMMAISTA oli karttapalvelusta poimittuja paikkoja ("camp site") ja vasta viides oli oikea rekisterifirma. Asiakas nakisi siis ensin leirintaalueita ja vasta sivun puolivalissa ne yritykset joita haki. Nyt viralliset rekisterifirmat tulevat karkeen ja karttapisteet jaavat perann taytteeksi. Yhtaan rivia ei pudoteta, joten mikaan maa ei menetĂ€ maaraa.
đŹđ§ English
- đ„ Industry search now shows companies first, not map points. Measured in Latvia: a search returned eight rows and the FIRST FOUR were map-service places ("camp site"), with the first real registered company appearing fifth. A customer would see camp sites before the businesses they searched for. Official register rows now come first and map points remain at the end as filler. No row is dropped, so no country loses volume.
- đ° Swedish leads came back without revenue during a hunt. The program has carried a Swedish financial source all along, but it was only invoked when you started a deep enrichment by hand. In an ordinary hunt a Swedish company appeared with no figures even though they were one request away. The source now runs during the hunt, exactly as it does for Finland. Verified before release: Spotify 114.5bn SEK, Klarna 3.16bn SEK, Fortnox 1.80bn SEK.
- đ Measured the state of six countries end to end. Estonia, Latvia and Norway get revenue straight from the register (Latvia holds 1.97 million financial rows for 254 274 companies). Sweden and Finland cannot: neither country publishes filings as open data, so their figures come from the enrichment chain - which is now active for both.
1.0.881
2026-08-101.0.881 - 2026-08-10 - "⥠Aikainen rikastus kattaa nyt myos ne firmat joilla ei ole verkkosivua"
đ«đź Suomi
- ⥠Rikastuksen aikaistus ei toiminut Suomessa - nyt toimii. Edellinen versio antoi rikastukseen heti ne rekisterifirmat joilla oli verkkosivu. Suomen kaupparekisteri ei kuitenkaan kerro verkkosivuja lainkaan, joten kotimaisessa ajossa jonoon meni nolla firmaa ja odotus oli yha yli viisi minuuttia. Mitattu suoraan ajostasi: 238 firmaa rekisterista, joista yksikaan ei tuonut verkkosivua. Nyt myos verkkosivuttomat firmat menevat rikastukseen heti, koska ohjelma osaa hakea niille sivun ja yhteystiedot nimella ja y-tunnuksella ilman hakukoneita. Sama firma ei kasitella kahdesti: tuplaesto tunnistaa sen nimella silloin kun verkkotunnusta ei ole.
đŹđ§ English
- ⥠The early-enrichment head start did not work for Finland - now it does. The previous version handed registry companies to enrichment immediately, but only those that came with a website. The Finnish trade register does not publish websites at all, so in a domestic run nothing was queued and the wait was still over five minutes. Measured straight from your run: 238 companies from the register, not one with a website. Companies without a website now go into enrichment right away too, because the program can find their site and contact details from the name and business ID without using search engines. No company is handled twice: when there is no domain, the duplicate check uses the name.
1.0.880
2026-08-101.0.880 - 2026-08-10 - "⥠Aikainen rikastus kattaa nyt myos ne firmat joilla ei ole verkkosivua"
đ«đź Suomi
- ⥠Rikastuksen aikaistus ei toiminut Suomessa - nyt toimii. Edellinen versio antoi rikastukseen heti ne rekisterifirmat joilla oli verkkosivu. Suomen kaupparekisteri ei kuitenkaan kerro verkkosivuja lainkaan, joten kotimaisessa ajossa jonoon meni nolla firmaa ja odotus oli yha yli viisi minuuttia. Mitattu suoraan ajostasi: 238 firmaa rekisterista, joista yksikaan ei tuonut verkkosivua. Nyt myos verkkosivuttomat firmat menevat rikastukseen heti, koska ohjelma osaa hakea niille sivun ja yhteystiedot nimella ja y-tunnuksella ilman hakukoneita. Sama firma ei kasitella kahdesti: tuplaesto tunnistaa sen nimella silloin kun verkkotunnusta ei ole.
đŹđ§ English
- ⥠The early-enrichment head start did not work for Finland - now it does. The previous version handed registry companies to enrichment immediately, but only those that came with a website. The Finnish trade register does not publish websites at all, so in a domestic run nothing was queued and the wait was still over five minutes. Measured straight from your run: 238 companies from the register, not one with a website. Companies without a website now go into enrichment right away too, because the program can find their site and contact details from the name and business ID without using search engines. No company is handled twice: when there is no domain, the duplicate check uses the name.
1.0.879
2026-08-101.0.879 - 2026-08-10 - "đ° Liikevaihto myos muissa maissa kuin Suomessa, ja massaposti aukeaa aina"
đ«đź Suomi
- đ° Liikevaihto tuli vain kolmelle liidille sadasta. Viron ajossa 125 liidista luku nakyi kolmella, ja tasan ne kolme olivat ne joilla oli valmiina virallinen rekisteritunnus. Data ei puuttunut mistaan: Viron rekisterissa on 373 054 yritysta, jokaisella tunnus ja tilinpaatokset. Syy oli siina etta rikastuksella on kaksi reittia, ja rekisterihaku oli kytketty vain toiseen. Kun ajossa on paljon liideja, osa ohjataan taustajonoon: juuri ne jaivat ilman lukuja. Lisaksi automaattinen talouslukujen haku toimi vain Suomessa. Nyt rekisterihaku tehdaan yhdessa kohdassa jonka lapi jokainen liidi kulkee, joten luvut tulevat samalla tavalla kaikissa maissa ja kummallakin reitilla.
- đ§ Massapostia ei voinut avata jos edellinen lahetys oli kesken. Ohjelma jatkaa keskeneraista lahetysjonoa kaynnistyksen jalkeen, ja niin kauan kuin jono eli, massalistan sai auki: nappi vain kertoi etta lahetys on jo menossa. Kaytannossa uuden ajon liideja ei voinut lahettaa tuntikausiin. Nyt lista aukeaa aina kun painat nappia, ja valitsemasi liidit LISATAAN jonoon. Vanha jono ei katoa eika ketaan lahetetĂ€ kahdesti.
- đ Yksi hakukone vei Viron hakujen ensimmaiset kyselyt tuottamatta mitaan. Sama moottori joka poistettiin Suomen karjesta aiemmin tanaan oli Virossa listan ensimmaisena. Mitattu tasta ajosta: nolla tulosta kuudesti, ja joka kerta odotettiin 25 sekuntia turhaan. Se on nyt poistettu Viron karjesta. Moottori ei poistu kaytosta ja palaa itsestaan jos tilanne muuttuu.
- ⥠Rikastus ei enaa odota hakukoneita. Mitattu omasta ajostasi: rekisteri antoi 1500 firmaa 8 sekunnissa, mutta rikastus alkoi vasta 3 min 22 s myohemmin kun hakukoneet olivat valmiit. Firmat siis makasivat koskemattomina yli kolme minuuttia, vaikka rekisteririvilla on nimi, osoite, toimiala ja usein verkkosivu heti. Nyt ne menevat rikastukseen samalla sekunnilla kun rekisteri vastaa, ja hakukoneet jatkavat rinnalla. Sama firma ei rikastu kahdesti: myohempi vaihe ohittaa jo jonossa olevat.
đŹđ§ English
- ⥠Enrichment no longer waits for the search engines. Measured in your own run: the register delivered 1500 companies in 8 seconds, but enrichment only began 3 min 22 s later, once the engines had finished. The companies sat untouched for over three minutes even though a register row carries a name, an address, an industry and often a website right away. They now go into enrichment the second the register answers, with the engines continuing alongside. No company is enriched twice: the later stage skips whatever is already queued.
- đ° Revenue reached only three leads in a hundred. In an Estonian run, 3 of 125 leads showed a figure, and those three were exactly the ones that already carried an official registry number. Nothing was missing at the source: the Estonian register holds 373 054 companies, each with a number and filed accounts. The cause was that enrichment has two routes and the registry lookup was wired into one of them. When a run produces many leads, some are handed to a background queue: those were the ones left without figures. On top of that, the automatic financial lookup only ever ran for Finland. The lookup now happens at the single point every lead passes through, so figures arrive the same way in every country and on both routes.
- đ§ The mass mail list could not be opened while a send was still running. The program continues an unfinished send queue after a restart, and while that queue lived the list stayed shut: the button only reported that sending was already under way. In practice a new run's leads could not be mailed for hours. The list now opens whenever you press the button, and the leads you pick are ADDED to the queue. The old queue is not lost and nobody is mailed twice.
- đ One search engine took the first queries of every Estonian search without producing anything. The same engine that was dropped from Finland's front line earlier today was first in line for Estonia. Measured in this run: zero results six times, each after a wasted 25 second wait. It has been removed from Estonia's front line. The engine stays in use and returns on its own if the situation changes.
1.0.877
2026-08-101.0.877 - 2026-08-10 - "đ Kaksi maata rekisterista SERPin sijaan, ja Irlanti nakyviin"
đ«đź Suomi
- đžđŹ Singapore hakee nyt yritykset virallisesta rekisterista. Aiemmin lahes kaikki singaporelaiset loydot tulivat hakukoneista, vaikka maan kaupparekisteri on julkaistu ilmaiseksi koko ajan. Ohjelma osoitti vaaraan tiedostoon: siina oli yritysten nimet mutta EI toimialaa eika osoitetta, joten toimialahaku jai aina tyhjaksi. Nyt kaytossa on oikea lahde, 154 919 toiminnassa olevaa yritysta, ja jokaisella on toimialakoodi, katuosoite, postinumero ja perustamispaiva. Lopetetut yritykset jatetaan hakematta, joten haku on myos nopeampi.
- đ§đ· Brasilian koko yritysrekisteri kytkettiin. Receita Federal julkaisee sen kuukausittain ilmaiseksi, mutta ohjelma ei osannut lukea sita: tiedosto tulee 20 osassa, pakatun tiedoston sisus on eri muodossa kuin muualla, eika siina ole otsikkorivia. Nyt se luetaan, ja mukana tulee osoitteen ja toimialan lisaksi puhelinnumero ja sahkopostiosoite suoraan rekisterista. Otoksessa numero loytyi 99,9 prosentilta ja sahkoposti 89 prosentilta.
- đźđȘ Irlanti oli ladattu koneellesi mutta lukukelvoton. Rekisterissa on 814 251 riviĂ€, mutta ohjelma etsi niista sanaa "active" eika Irlannin rekisteri kayta sita sanaa lainkaan. Tulos oli nolla osumaa joka kerta. Nyt kaytossa on 326 642 toiminnassa olevaa irlantilaisyritysta. Sama korjaus suojaa jatkossa jokaista uutta maata: ohjelma pudottaa vain ne joiden tiedetaan lopettaneen, eika hylkaa yritysta siksi etta sen tila on kirjoitettu tuntemattomalla sanalla.
- đŻ Toimialahaku ei enaa harhaudu yritysten omista kuvauksista. Osa rekistereista antaa yrityksen kirjoittaa toimialansa omin sanoin. Ohjelma paatteli naista "mika koodi tarkoittaa mitakin", ja yksi vaarin kirjoitettu kuvaus levisi koko koodiin. Mitattu esimerkki: haku sanalla mainostoimisto palautti 92 399 yritysta, joista oikeita oli 1 311. Nyt paattely tehdaan vain silloin kun rekisterin kuvaus on aidosti koodin virallinen nimi.
đŹđ§ English
- đžđŹ Singapore now sources companies from the official register. Almost every Singapore lead used to come from search engines, even though the country's business register has been free all along. The program pointed at the wrong file: it held company names but NO industry and NO address, so an industry search always came back empty. It now uses the correct source, 154 919 live companies, each with an industry code, street address, postal code and incorporation date. Closed companies are no longer downloaded at all, which also makes the fetch faster.
- đ§đ· Brazil's entire company register is connected. Receita Federal publishes it free every month, but the program could not read it: the file arrives in 20 parts, the contents of the archive are in a different format from every other country, and there is no header row. It reads now, and alongside address and industry it brings phone number and e-mail straight from the register. In a live sample a phone number was present for 99,9 percent and an e-mail for 89 percent.
- đźđȘ Ireland was already downloaded on your machine but unreadable. The register holds 814 251 rows, but the program looked for the word "active" and the Irish register never uses that word. The result was zero matches, every time. 326 642 live Irish companies are now available. The same fix protects every future country: the program only drops companies known to have closed, and no longer discards one because its status is written in an unfamiliar word.
- đŻ Industry search no longer drifts on companies' own descriptions. Some registers let a company describe its industry in its own words. The program used those to infer "which code means what", and one odd description spread across the whole code. Measured example: a search for advertising agencies returned 92 399 companies of which 1 311 were right. That inference now happens only where the register's description really is the official name of the code.
1.0.876
2026-08-091.0.876 - 2026-08-10 - "đ Hakukone joka ei paase lapi millaĂ€n reitilla ei enaa vie ensimmaisia kyselyita"
đ«đź Suomi
- đ Yksi hakukone vei jokaisen haun ensimmaiset kyselyt tuottamatta mitaan. Se oli nostettu Suomen ensisijaisten listalle heinakuussa, jolloin se toimi. Sen jalkeen kertynyt oma mittaus kertoo: 1 osuma 262 kyselysta. Syy ei ole meissa: palvelun suojaus torjuu meidat jokaisella reitilla jota kaytamme, ja ne kaikki on mitattu erikseen. Suora yhteys torjutaan, valityspalvelinjoukko torjutaan, ja myos maksettu kotiyhteysreitti torjutaan vaikka esiinnymme tavallisena selaimena. Samassa mittauksessa toinen hakukone meni saman reitin lapi normaalisti, eli reitti itse toimii. Hakukone ei poistu kaytosta: se ajaa edelleen taustalla ja on yha muiden maiden listalla, ja jos suojaus hellittaa, se palaa karkeen itsestaan mittauksen kautta ilman paivitysta.
- âïž Miksi tama kannattaa tietaa: ensisijaisten lista ohjaa jokaisen haun ensimmaiset kyselyt ennen kuin ohjelman oma oppiminen ehtii korjata jarjestyksen. Yksi tuottamaton nimi listan karjessa maksaa aikaa jokaisessa haussa, joka paiva.
đŹđ§ English
- đ One search engine took the first queries of every search without producing anything. It was promoted to Finland's primary list in July, when it worked. Our own measurement since then says: 1 hit out of 262 queries. The cause is not on our side: the service's protection turns us away on every route we use, and each has been measured separately. A direct connection is refused, the proxy pool is refused, and the paid home-connection route is refused as well, even while presenting as an ordinary browser. In the same measurement another engine passed through that route normally, so the route itself works. The engine is not disabled: it still runs in the background and remains on other countries' lists, and if the protection eases it returns to the front on its own through measurement, with no update needed.
- âïž Why this matters: the primary list steers the first queries of every search before the program's own learning can reorder them. One unproductive name at the front costs time in every search, every day.
1.0.875
2026-08-091.0.875 - 2026-08-09 - "đ§ź Sama kuumuusraja kaikkialla, ja talousluvun puuttumiselle rehellinen syy"
đ«đź Suomi
- đŻ Sama yritys oli kuuma kortilla mutta ei tietopankissa. Kortit ja tutka kayttivat kuumuuden rajana 55:ta, tietopankin taulukko 70:ta, joten sama yritys nayttautui eri lampoisena riippuen siita mista sita katsoi. Nyt koko naekyma (suodatin, liekki-ikoni, varit, valilampoisen ylaraja ja suodattimen teksti) lukee saman rajan yhdesta paikasta. Suodattimen nimesta poistettiin lukuarvo, koska raja elaa koodissa eika tekstissa.
- â±ïž "Ei talouslukuja" tarkoitti kahta eri asiaa. Kun virallislahde ei ehtinyt vastata, tulos kirjattiin samaan koriin kuin "yritysta ei loydy rekisterista". Mitattu yhdesta ajosta: 29 yritysta joilla tilinpaatosta ei yksinkertaisesti ole, 16 joille liikevaihto saatiin, ja 7 joilla lahde ei ehtinyt vastata. Myyja naki kaikissa saman tekstin eika tiennyt kannattaako yrittaa uudelleen. Nama erotetaan nyt toisistaan.
- đ Kunnontarkistus kertoo mitka hakukoneet jaavat suojakartoituksen ulkopuolelle. Suojien kartoitus kaytti kasin kirjoitettua listaa, joka jaa auttamatta jalkeen kun uusia hakukoneita lisataan. Tarkistus vertaa listaa nyt oikeaan hakukonelistaan ja nimeaa puuttuvat.
- âïž "Mita myyt" -kentta kertoo nyt mihin se menee. Kentan ohje sanoo etta teksti paatyy viestiin sellaisenaan ja etta se kannattaa kirjoittaa yhtena lauseena, niin kuin sen sanoisi aaneen.
đŹđ§ English
- đŻ The same company was hot on the card but not in the data bank. Cards and the radar used 55 as the hotness threshold while the data bank table used 70, so the same company looked different depending on where you viewed it. The whole view (filter, flame icon, colours, the warm upper bound and the filter label) now reads one threshold from a single place. The numeric value was removed from the filter label because the threshold lives in code, not in text.
- â±ïž "No financial figures" meant two different things. When an official source did not answer in time, the result was recorded in the same bucket as "company not found in the register". Measured on one run: 29 companies with simply no filed statement, 16 where revenue was obtained, and 7 where the source did not answer in time. A seller saw the same text in all cases and could not tell whether it was worth retrying. These are now separated.
- đ The health check now names the engines left outside protection mapping. That mapping used a hand-written list that inevitably falls behind as engines are added. The check now compares it against the real engine list and names what is missing.
- âïž The "what you sell" field now says where it goes. Its hint states that the text goes into the message as is and is best written as one sentence, the way you would say it out loud.
1.0.874
2026-08-091.0.874 - 2026-08-09 - "đ Kunnontarkistus mittaa nyt sita hakua jonka se valvoo"
đ«đź Suomi
- đ Kunnontarkistus mittasi eri jarjestelmaa kuin sita jota se valvoo. Ohjelma ajaa haussa 17 hakukonetta rinnakkain ja valitsee jokaiselle reitin erikseen: osa menee suoraan, osa valityspalvelimen kautta. Kunnontarkistus sen sijaan haki kahdeksaa kovakoodattua osoitetta yksi kerrallaan suoralla yhteydella. Se oli siis eri joukko hakukoneita, eri jarjestyksessa ja eri reittia pitkin, ja tulos raportoitiin haun tilana. Nyt tarkistus lukee saman hakukonelistan kuin haku, ajaa ne rinnakkain samalla reittivalinnalla ja kertoo kuinka moni tuotti tuloksia. Mitattu: 17 kytkettya hakukonetta, 10 ajossa, molemmat reitit kaytossa, koko kierros 12 sekunnissa.
- đ Hakukonelista on nyt yhdessa paikassa. Lista rakennettiin aiemmin haun sisalla eika sita paassyt lukemaan muualta, minka takia uusi hakukone piti muistaa lisata erikseen kunnontarkistukseen. Sama unohdus toistui kesan aikana viidesti. Nyt listaa yllapidetaan yhdessa paikassa ja molemmat lukevat sen.
- đ Tarkistus kertoo myos jarjestyksen ja reitit. Raportti nayttaa missa jarjestyksessa hakukoneet ajetaan tassa maassa, kuinka moni menee suoraan ja kuinka moni valityspalvelimen kautta, ja halyttaa jos tuottavia hakukoneita jaa alle kaksi tai jos kaikki paatyvat samalle reitille.
đŹđ§ English
- đ The health check measured a different system from the one it watches. A search runs 17 engines in parallel and picks a route for each: some go direct, some through a proxy. The health check instead fetched eight hard-coded addresses one at a time over a direct connection. That is a different set of engines, in a different order, over a different route, and the result was reported as the state of search. The check now reads the same engine list as the search, runs them in parallel with the same route selection, and reports how many produced results. Measured: 17 engines wired, 10 running, both routes in use, the whole round in 12 seconds.
- đ The engine list now lives in one place. It used to be built inside the search itself and could not be read from anywhere else, so a new engine had to be remembered separately for the health check. That omission repeated five times over the summer. The list is now maintained once and both read it.
- đ The check also reports order and routes. The report shows the order engines run in for the country, how many go direct versus through a proxy, and raises an alarm if fewer than two productive engines remain or if every engine ends up on the same route.
1.0.873
2026-08-091.0.873 - 2026-08-09 - "đĄïž Toisen maan samannimisen yrityksen sivulta ei enaa poimita yhteystietoja"
đ«đź Suomi
- đĄïž Yhteystiedot poimittiin toisen maan samannimisen yrityksen sivulta, ja niista tuli lahetysosoite. Mitattu yhdesta ajosta: suomalaiselle yritykselle Hameenkoskelta loydettiin ensin oikea yhteystieto virallisesta lahteesta, mutta yrityksen kotisivulinkki osoitti uruguaylaiseen lentokouluun. Ohjelma kavi lapi sen sivun, poimi sielta sahkopostit ja puhelimet suomalaisen yrityksen korttiin, ja yksi niista asetettiin lahetysosoitteeksi. Vika loytyi vasta nelja minuuttia myohemmin syvarikastuksessa, joka on ainoa kohta jossa tarkistus oli. Sama tarkistus tehdaan nyt heti kevyessa rikastuksessa: jos kotisivu kuuluu samannimiselle yritykselle toisessa maassa, sivua ei kayda lapi eika sielta poimita mitaan, ja oikeaa kotisivua etsitaan kaupparekisterista. Yritys sailyy listalla ja kortti kertoo miksi yhteystietoja ei ole.
- ⥠Tarkistus ei hidasta hakua. Se ohittaa itsensa ilman verkkokutsua aina kun yrityksen nimessa ei ole maan yhtiomuotoa tai kotisivu on kotimaisessa paatteessa, eli kaytannossa lahes kaikilla yrityksilla.
đŹđ§ English
- đĄïž Contact details were taken from a same-named company in another country, and one became the sending address. Measured on a single run: for a Finnish company the correct contact was first found in an official source, but the company's website link pointed to a flight school in Uruguay. The program crawled that site, took its emails and phone numbers onto the Finnish company's card, and one of them was set as the sending address. The problem surfaced only four minutes later in deep enrichment, the single place where the check existed. That check now runs immediately in light enrichment: if the website belongs to a same-named company in another country, the site is not crawled and nothing is taken from it, and the correct website is looked up in the trade register. The company stays on the list and the card explains why there are no contact details.
- ⥠The check does not slow down searching. It exits without any network request whenever the company name carries no national company suffix or the website uses a domestic domain, which covers nearly every company.
1.0.872
2026-08-091.0.872 - 2026-08-09 - "đ Syvarikastus ajaa aina: vaara kotisivulinkki korjataan, liidia ei heiteta pois"
đ«đź Suomi
- đ Syvarikastus kieltaytyi kaynnistymasta, ja se oli vaara johtopaatos oikeasta havainnosta. Kun tallennettu kotisivu kuului samannimiselle yritykselle toisessa maassa tai eri toimialalta, ohjelma keskeytti rikastuksen, poisti yrityksen tietokannasta ja kehotti ajamaan uuden haun. Havainto oli oikea mutta paatelma vaara: vaarin oli kotisivulinkki, ei yritys. Mitattu tapaus: suomalainen yritys Hameenkoskelta, y-tunnus tiedossa ja kaupparekisterissa, kantoi kotisivulinkkia joka osoitti uruguaylaiseen lentokouluun. Ohjelma poisti asiakkaan yrityksen ja teetti ihmisella tyon jonka se osaa tehda itse. Nyt vaara linkki irrotetaan, oikea etsitaan kaupparekisterista, tietue siirretaan oikean osoitteen alle ja rikastus jatkuu. Jos oikeaa kotisivua ei loydy, rikastus jatkuu rekisteritiedoilla, eika vieraan yrityksen sivulta poimita yhteystietoja. Yritysta ei poisteta koskaan.
- âïž Virheilmoitus katkesi kesken sanan. Teksti leikattiin 80 merkkiin, joten toimintaohje jai kokonaan nakymatta ja ilmoitus paattyi keskelle sanaa. Nyt ilmoitus nakyy kokonaan, ja jos se on poikkeuksellisen pitka, katkaisu tapahtuu sanarajalta.
đŹđ§ English
- đ Deep enrichment refused to start, and that was the wrong conclusion from a correct observation. When a stored website belonged to a same-named company in another country or a different industry, the program aborted the enrichment, deleted the company from the database and told the user to run a new search. The observation was right but the conclusion was wrong: the website link was wrong, not the company. Measured case: a Finnish company from Hameenkoski, with a known business ID and a trade register entry, carried a website link pointing to a flight school in Uruguay. The program deleted the customer's company and handed a person work the machine can do itself. The wrong link is now detached, the correct one is looked up in the trade register, the record is moved under the right address and enrichment continues. If no correct website is found, enrichment continues on register data and no contact details are taken from the other company's site. The company is never deleted.
- âïž The error message was cut off mid-word. The text was truncated to 80 characters, so the instruction never appeared and the message ended in the middle of a word. The full message is now shown, and any exceptionally long text is cut at a word boundary.
1.0.871
2026-08-091.0.871 - 2026-08-09 - "đŁïž Viestit kuulostavat nyt ihmiselta ja kertovat miten yritys loytyi"
đ«đź Suomi
- đŁïž Viestit olivat oikeita mutta elottomia, eika niissa ollut mitaan mika saisi varaamaan esittelyn. Teksti kirjoitettiin uusiksi puhutulle kielelle: rento tervehdys, rehellinen myonnytys siita etta yhteydenotto tulee kylmana, ja lopuksi yksi kysymys johon on helppo vastata ei. Sama aani sahkopostissa (11 kielta) ja WhatsAppissa (14 kielta).
- đŁ Viesti kertoo nyt MITEN yritys loytyi, ja se on totta. Rivi "tein haun hakusanalla X ja teidan firma tuli siina vastaan" kayttaa sita hakusanaa jolla yritys oikeasti loytyi. Mitattu 13 770 yrityksen aineistosta: hakusana on tallessa 79 prosentilla, kotipaikka vain 8 prosentilla, joten koukku rakennettiin sen varaan mika oikeasti tiedetaan. Ilman hakusanaa lause on yleisempi mutta yha tosi.
- âïž Sahkoposti ei enaa nayta uutiskirjeelta. Sininen brandipalkki, iso varillinen painike, harmaa korttitausta ja linkissa nakyneet seurantatunnisteet on poistettu. Jaljella on tavallinen viesti, jollaisen ihminen kirjoittaa toiselle.
- đ± WhatsApp-luonnos ei enaa ollut WhatsApp-viesti. Ohjelma paatteli tekstin sopivuuden pituudesta, ja kun sahkopostia lyhennettiin, koko sahkopostin runko luettelomerkkeineen ja allekirjoituksineen alkoi mahtua WhatsApp-luonnokseen. Nyt tunnistus perustuu rakenteeseen: luettelomerkit, allekirjoituslohko ja erillinen linkkirivi kertovat etta kyseessa on sahkoposti, eika sita tarjota chattiin.
- đ WhatsApp-painiketta ei enaa tarjota lankanumeroon. Sama rivi saattoi kertoa numeron olevan vaihde ja silti tarjota WhatsAppia, joka ei toimi lankaliittymissa. Lisaksi matkapuhelin nostetaan nyt listalla vaihteen edelle, koska sen kautta ihminen oikeasti tavoitetaan.
- đ§ź Numeroiden luotettavuus nakyy edelleen. Jos puhelinnumeron alkuperaa ei ole kirjattu, kortti sanoo sen suoraan sen sijaan etta vaittaisi tietavansa mista numero tuli.
đŹđ§ English
- đŁïž The messages were correct but lifeless, and nothing in them made anyone want a demo. The copy was rewritten in spoken language: a relaxed greeting, an honest admission that the approach is cold, and one closing question that is easy to decline. The same voice now applies to email (11 languages) and WhatsApp (14 languages).
- đŁ The message now says HOW the company was found, and it is true. The line "I ran a search for X and your company came up" uses the actual search term that surfaced them. Measured across 13,770 companies: the search term is recorded for 79 percent, the home town for only 8 percent, so the hook was built on what is genuinely known. Without a search term the sentence is more general but still true.
- âïž The email no longer looks like a newsletter. The coloured brand bar, the large button, the grey card background and the tracking parameters visible in the link are gone. What remains is an ordinary message of the kind one person writes to another.
- đ± The WhatsApp draft was not a WhatsApp message. The program judged suitability by length, so once the email was shortened, the entire email body with its bullet list and signature began to fit into the WhatsApp draft. Detection is now structural: bullets, a signature block and a standalone link line identify an email, and it is no longer offered as a chat message.
- đ WhatsApp is no longer offered for a landline. The same row could call a number a switchboard and still offer WhatsApp, which does not work on fixed lines. Mobile numbers are now listed ahead of switchboards, because that is how a person is actually reached.
- đ§ź Phone reliability is still stated. When a number's origin was never recorded, the card says so rather than implying it knows where the number came from.
1.0.870
2026-08-091.0.870 - 2026-08-09 - "âïž Viestit kirjoitettiin uusiksi: ne kertovat nyt kuka kirjoittaa ja mitĂ€ hĂ€n tekee"
đ«đź Suomi
- âïž Viestit luettiin roskapostiksi, ja syy oli tekstissĂ€. Pilottiasiakas kertoi suoraan: "jos en tietĂ€isi, tulkitsisin ne roskapostiksi." Viestit avattiin lauseella "TörmĂ€sin yritykseen X tutkiessani alanne yrityksiĂ€" (kukaan ei törmÀÀ, ja lukija tunnistaa sen), jatkettiin vĂ€itteellĂ€ ettĂ€ vastaanottaja on "kĂ€ytĂ€nnössĂ€ nĂ€kymĂ€ttömissĂ€", ja sen jĂ€lkeen tuli automaattinen lista hĂ€nen sivustonsa puutteista otsikolla "MAHDOLLISUUS HAVAITTU". Listalla luki jopa ohjelman oma sisĂ€inen varaus siitĂ€, mitĂ€ sivustotarkistus ei nĂ€e. Rekrytointiversio kertoi ettĂ€ "signaalimoottorimme nosti esiin" vastaanottajan. Kaikki tĂ€mĂ€ on nyt poistettu yhdestĂ€toista kielestĂ€. Viesti alkaa sillĂ€ kuka kirjoittaa, kertoo yhden asian joka on totta ja tarkistettavissa, ja pÀÀttyy kysymykseen johon on helppo vastata ei.
- đ± WhatsApp-viesti mainosti vÀÀrÀÀ yritystĂ€. Viestin myyntilause oli kirjoitettu ohjelmaan kiinni neljĂ€lletoista kielelle, ja se kertoi ohjelman omasta hyödystĂ€. Kun kĂ€yttĂ€jĂ€ lĂ€hetti viestin omalle asiakkaalleen, viestissĂ€ ei ollut mitÀÀn hĂ€nestĂ€ eikĂ€ vastaanottajasta. SĂ€hköpostissa on ollut toukokuusta asti sÀÀntö, ettei viesti saa koskaan mainostaa ohjelmaa itseÀÀn; WhatsApp jĂ€i sen ulkopuolelle. Nyt molemmat kĂ€yttĂ€vĂ€t samaa kĂ€yttĂ€jĂ€n omaa tekstiĂ€.
- đ€ Viesti kertoo nyt kuka kirjoittaa. Aiemmin viesti alkoi vastaanottajan etunimellĂ€ ja jatkoi suoraan asiaan, tuntemattomasta numerosta tai osoitteesta. LĂ€hettĂ€jĂ€n nimi oli vasta allekirjoituksessa, eli lukija ehti muodostaa kĂ€sityksensĂ€ ennen sitĂ€.
- đȘ Jokainen viesti tarjoaa helpon ein. Loppuun tuli lause, jolla vastaanottaja pÀÀsee eroon yhdellĂ€ sanalla. Roskaposti ei tarjoa sellaista koskaan.
- âïž Oma avauslause ja oma kysymys asetuksiin. SĂ€hköpostiasetuksiin tuli kaksi kenttÀÀ, joilla kĂ€yttĂ€jĂ€ kirjoittaa itse viestin ensimmĂ€isen ja viimeisen lauseen. Asetetaan kerran, koskee sekĂ€ sĂ€hköpostia ettĂ€ WhatsAppia. TyhjĂ€nĂ€ ohjelma kĂ€yttÀÀ omaa tekstiÀÀn.
- đ Kaksikieliset viestit loppuivat. KĂ€yttĂ€jĂ€n kirjoittama esittelyteksti on yhdellĂ€ kielellĂ€, mutta viestit lĂ€htevĂ€t vastaanottajan kielellĂ€. Aiemmin englanninkieliseen viestiin saattoi pÀÀtyĂ€ suomenkielinen kappale. Nyt teksti nĂ€ytetÀÀn vain oikealla kielellĂ€ ja jĂ€tetÀÀn muuten pois. Samalla korjaantui tilanne, jossa viestin runko olisi voinut mainita eri yrityksen kuin allekirjoitus.
đŹđ§ English
- âïž The messages read as spam, and the reason was the wording. A pilot customer said it plainly: "if I did not know, I would read these as spam." Messages opened with "I came across your company while researching your industry" (nobody comes across anyone, and the reader knows it), continued by claiming the recipient was "effectively invisible", and then listed shortcomings of their website under the heading "OPPORTUNITY DETECTED". The list even carried the program's own internal caveat about what a website scan cannot see. The hiring variant announced that "our signal engine surfaced" the recipient. All of this has been removed from eleven languages. A message now starts with who is writing, states one thing that is true and checkable, and ends with a question that is easy to decline.
- đ± The WhatsApp message advertised the wrong company. Its selling line was hard-coded into the program in fourteen languages and described the program's own benefit. When a user sent it to their own prospect, the message contained nothing about the sender and nothing about the recipient. The email path has had a rule since May that a message must never advertise the program itself; WhatsApp was outside it. Both now use the user's own text.
- đ€ The message now says who is writing. Previously it opened with the recipient's first name and went straight to the point, from an unknown number or address. The sender's name appeared only in the signature, after the reader had already formed a view.
- đȘ Every message offers an easy no. A closing line lets the recipient end it with one word. Spam never offers that.
- âïž Your own opening line and closing question in settings. Two fields let the user write the first and last sentence themselves. Set once, applies to both email and WhatsApp. Left empty, the program uses its own wording.
- đ No more two-language messages. The user's own description is written in one language, while messages go out in the recipient's language. An English message could previously carry a Finnish paragraph. That text is now shown only in the matching language and omitted otherwise. The same guard closed a case where the body could have named a different company than the signature.
1.0.869
2026-08-091.0.869 - 2026-08-09 - "đŻ Yksi luku per asia: kuuma tarkoittaa nyt samaa joka puolella ruutua"
đ«đź Suomi
- đŻ Ruudulla oli kahdeksan lukua samasta asiasta, ja "kuumat" tarkoitti seitsemÀÀ eri asiaa. Yrityksen kiinnostavuusluokka (kuuma / lĂ€mmin / kylmĂ€) laskettiin neljĂ€llĂ€ eri asteikolla, ja kolme niistĂ€ osasi vain nostaa, ei koskaan laskea. Ohjelman eri osat lukivat eri asteikkoa, joten sama yritys nĂ€kyi samalla hetkellĂ€ listalla kylmĂ€nĂ€ ja tutkassa kuumana. Mitattu oikeasta hausta: yksi yritys sai luokan kuuma pistemÀÀrĂ€llĂ€ 27, ja kahdenkymmenen minuutin ajossa 15 yritystĂ€ luokiteltiin kuumaksi ja laskettiin myöhemmin alas, mutta kuumien laskuri ei perunut yhtĂ€kÀÀn. Ruudulla luki 17 kuumaa, listalla niitĂ€ oli kaksi. Nyt luokka johdetaan yhdestĂ€ paikasta siitĂ€ samasta pistemÀÀrĂ€stĂ€ joka rivillĂ€ nĂ€kyy, ja laskuri elÀÀ molempiin suuntiin: kun luokka laskee, luku laskee. Kuuma vaatii edelleen sekĂ€ pistemÀÀrĂ€n ettĂ€ aidon yhteystiedon, joten tavoittamaton yritys ei voi olla kuuma.
- âȘ Tutkan keskellĂ€ luki 493 kun palloja oli 339. Keskusluku nĂ€ytti lĂ€pikĂ€ytyjen hakutapahtumien mÀÀrÀÀ, ei pallojen mÀÀrÀÀ, ja niiden vĂ€lissĂ€ oli koko suodatus. LisĂ€ksi sama luku kasvoi myös hylĂ€tyistĂ€ osumista ja saman yrityksen toistoista: mitattu ajossa 667 tapahtumaa vastasi 211:tĂ€ eri yritystĂ€. KeskellĂ€ nĂ€kyy nyt se minkĂ€ kĂ€yttĂ€jĂ€ voi itse laskea silmĂ€llĂ€, ja lĂ€pikĂ€ytyjen kokonaismÀÀrĂ€ on omassa mittarissaan omalla selitteellÀÀn.
- đ” Pankissa jo oleva yritys sai pallon mutta ei riviĂ€. Jo tallennettu yritys jĂ€tetÀÀn tarkoituksella pois löytölistalta, mutta yksi kolmesta reitistĂ€ piirsi sen silti tutkaan. KĂ€yttĂ€jĂ€n omassa pankissa on yli kymmenentuhatta yritystĂ€, joten nĂ€itĂ€ "pallo jolle ei löydy riviĂ€" -tapauksia oli paljon. Sama reitti ei myöskÀÀn tarkistanut oliko pallo jo olemassa, joten sama yritys saattoi saada kaksi palloa. Molemmat portit ovat nyt kaikilla reiteillĂ€.
- đą Laskurit nĂ€yttivĂ€t vanhaa lukua lĂ€hes neljĂ€nneksen ajasta. PyörivĂ€ lukuanimaatio katkaisi luvun alaspĂ€in, joten yhden yksikön kasvu nĂ€ytti vanhaa arvoa koko animaation ajan. Samaan aikaan tutkan vastaava kortti pĂ€ivittyi heti, joten ruudulla luki yhtĂ€ aikaa 29 ja 28 samasta asiasta. LisĂ€ksi "soita ensin nĂ€ille" -rivi laskettiin vain silloin kun listalle syntyi uusi rivi, joten se jÀÀtyi vanhaan lukuun heti kun ajo siirtyi tĂ€ydentĂ€mÀÀn jo löydettyjĂ€ yrityksiĂ€. Molemmat pĂ€ivittyvĂ€t nyt aina kun luvut muuttuvat.
- đ Prosenttiluku saattoi ylittÀÀ sadan. "Vaikeasti löydettĂ€viĂ€" -osuus laskettiin listan riveistĂ€ mutta suhteutettiin eri joukkoon, jolloin ruudulla saattoi lukea 703 prosenttia. Osuus lasketaan nyt samasta joukosta josta osoittajakin, eikĂ€ voi ylittÀÀ sataa.
- đ Maksettujen vĂ€lityspalvelimien tarkistus ei ollut ajanut kertaakaan. Eilen lisĂ€tty taustatarkistus kutsui metodia vÀÀrĂ€stĂ€ kohteesta, ja virhe vaimennettiin lokiin niin ettei se nĂ€kynyt missÀÀn. Kuolleet palvelimet jĂ€ivĂ€t siis edelleen joukkoon. Kutsu on korjattu, ja tarkistus ajaa kuten oli tarkoitus.
đŹđ§ English
- đŻ The screen showed eight numbers for the same thing, and "hot" meant seven different things. A company's interest tier (hot / warm / cold) was computed on four separate scales, three of which could only raise it, never lower it. Different parts of the program read different scales, so the same company appeared cold on the list and hot on the radar at the same moment. Measured on a real search: one company was labelled hot with a score of 27, and during a twenty-minute run 15 companies were labelled hot and later lowered, while the hot counter never took any of them back. The screen read 17 hot; the list held two. The tier is now derived in one place from the same score shown on the row, and the counter moves both ways: when the tier drops, the number drops. Hot still requires both a score and a real contact detail, so a company you cannot reach cannot be hot.
- âȘ The radar centre read 493 while there were 339 dots. The centre number showed processed search events rather than dots, with the whole filtering stage in between. It also grew from rejected hits and repeats of the same company: in the measured run, 667 events corresponded to 211 distinct companies. The centre now shows what the user can count by eye, and the total processed figure has its own meter with its own label.
- đ” A company already in your bank got a dot but no row. An already stored company is deliberately kept off the discoveries list, but one of three routes still drew it on the radar. A user's bank holds over ten thousand companies, so these "a dot with no row" cases were common. The same route also failed to check whether a dot already existed, so one company could get two. Both gates now apply on every route.
- đą Counters showed the previous value for nearly a quarter of the time. The rolling number animation truncated downwards, so an increase of one displayed the old value for the whole animation. The matching radar card updated instantly, so the screen showed 29 and 28 for the same thing at once. The "call these first" line was also recomputed only when a new row appeared, so it froze as soon as the run moved on to completing companies already found. Both now update whenever the numbers change.
- đ A percentage could exceed one hundred. The "hard to find elsewhere" share was counted from list rows but divided by a different set, so the screen could read 703 percent. It is now taken from the same set as the numerator and cannot exceed one hundred.
- đ The paid proxy check had never actually run. The background check added yesterday called a method on the wrong object, and the error was silenced into the log where nothing surfaced it. Dead proxies therefore stayed in the pool. The call is fixed and the check now runs as intended.
1.0.868
2026-08-091.0.868 - 2026-08-09 - "⥠Haku ei enÀÀ tee samaa työtĂ€ kahdesti â ja jokainen hakukone joutuu ansaitsemaan paikkansa"
đ«đź Suomi
- ⥠Sama sivu haettiin jopa kuusi kertaa saman haun aikana â nyt kerran. Ohjelman eri vaiheet (yhteystietojen haku, signaalien poiminta, tilaisuusanalyysi) pyysivĂ€t samaa sivua toisistaan tietĂ€mĂ€ttĂ€, ja jokainen pyyntö maksoi tĂ€yden yrityksen kaikkine varareitteineen. Mitattu oikeasta hausta: 195 turhaa sivunhakua yhden ajon aikana. Ohjelma muistaa nyt lyhyen hetken sekĂ€ sen mitĂ€ se juuri haki ettĂ€ sen mikĂ€ juuri epĂ€onnistui, eikĂ€ tee samaa työtĂ€ uudelleen. Mitattu korjauksen jĂ€lkeen: turhia hakuja 195 â 4, ja yhden ajon aikana jĂ€i tekemĂ€ttĂ€ yli 300 turhaa verkkopyyntöÀ. Muisti kestÀÀ minuutin ja tyhjenee jokaisen haun alussa, joten mikÀÀn tieto ei vanhene.
- đȘ Jokainen hakukone joutuu nyt ansaitsemaan paikkansa mittauksella. Ohjelmassa on poikkeuksellisen monta hakukonetta, mutta osa niistĂ€ ei tuottanut yhtÀÀn tulosta ja ajoi silti joka kyselyssĂ€ â vieden vuoron niiltĂ€ jotka tuottavat. Mitattu omasta kertyneestĂ€ datasta: parhaat tuottavat 99, 89 ja 71 prosenttia kyselyistĂ€, kun taas kolme konetta oli nollassa yli kahdensadan mittauksen jĂ€lkeen. Ohjelmassa oli jo mittari joka tunnisti tĂ€mĂ€n, mutta viisi hakukonetta ei kysynyt siltĂ€ mitÀÀn. Nyt jokainen kysyy â ja koneet jotka eivĂ€t tuota jÀÀvĂ€t sivuun vĂ€liaikaisesti: joka kahdeskymmenes kysely pÀÀstetÀÀn silti lĂ€pi, joten toipunut hakukone palaa kĂ€yttöön itsestÀÀn ilman ettĂ€ kukaan tekee mitÀÀn.
- đ Ohjelman kunnontarkistus nĂ€yttÀÀ nyt hakukoneiden tuloksellisuuden. PĂ€ivittĂ€inen tarkistus kertoo mitattuna, mikĂ€ hakukone tuottaa missĂ€kin markkinassa, mitkĂ€ jÀÀvĂ€t sivuun ja miksi. Se hĂ€lyttÀÀ vasta jos tuottavia koneita on alle kaksi eikĂ€ koskaan liian pienestĂ€ otoksesta.
đŹđ§ English
- ⥠The same page was fetched up to six times during one search â now once. Different stages of the program (contact collection, signal extraction, opportunity analysis) requested the same page without knowing about each other, and every request cost a full attempt with all its fallbacks. Measured on a real search: 195 wasted page fetches in a single run. The program now briefly remembers both what it just fetched and what just failed, and does not repeat the work. Measured after the fix: wasted fetches 195 â 4, with over 300 needless network requests avoided in one run. The memory lasts a minute and is cleared at the start of every search, so nothing goes stale.
- đȘ Every search engine now has to earn its place by measurement. The program uses an unusually large number of search engines, but some produced no results at all and still ran on every query, taking a slot from those that do produce. Measured from our own accumulated data: the best engines produce results for 99, 89 and 71 percent of queries, while three engines were at zero after more than two hundred measurements. The program already had a meter that detected this, but five engines never consulted it. Now they all do â and engines that do not produce are set aside temporarily: every twentieth query still goes through, so a recovered engine returns on its own with no intervention.
- đ The health check now shows search engine productivity. The daily check reports, as measurement, which engine produces in which market, which ones are set aside and why. It only raises an alarm when fewer than two productive engines remain, and never from too small a sample.
1.0.867
2026-08-081.0.867 - 2026-08-09 - "⥠Haku ei enÀÀ tee samaa työtĂ€ kahdesti â ja jokainen hakukone joutuu ansaitsemaan paikkansa"
đ«đź Suomi
- ⥠Sama sivu haettiin jopa kuusi kertaa saman haun aikana â nyt kerran. Ohjelman eri vaiheet (yhteystietojen haku, signaalien poiminta, tilaisuusanalyysi) pyysivĂ€t samaa sivua toisistaan tietĂ€mĂ€ttĂ€, ja jokainen pyyntö maksoi tĂ€yden yrityksen kaikkine varareitteineen. Mitattu oikeasta hausta: 195 turhaa sivunhakua yhden ajon aikana. Ohjelma muistaa nyt lyhyen hetken sekĂ€ sen mitĂ€ se juuri haki ettĂ€ sen mikĂ€ juuri epĂ€onnistui, eikĂ€ tee samaa työtĂ€ uudelleen. Mitattu korjauksen jĂ€lkeen: turhia hakuja 195 â 4, ja yhden ajon aikana jĂ€i tekemĂ€ttĂ€ yli 300 turhaa verkkopyyntöÀ. Muisti kestÀÀ minuutin ja tyhjenee jokaisen haun alussa, joten mikÀÀn tieto ei vanhene.
- đȘ Jokainen hakukone joutuu nyt ansaitsemaan paikkansa mittauksella. Ohjelmassa on poikkeuksellisen monta hakukonetta, mutta osa niistĂ€ ei tuottanut yhtÀÀn tulosta ja ajoi silti joka kyselyssĂ€ â vieden vuoron niiltĂ€ jotka tuottavat. Mitattu omasta kertyneestĂ€ datasta: parhaat tuottavat 99, 89 ja 71 prosenttia kyselyistĂ€, kun taas kolme konetta oli nollassa yli kahdensadan mittauksen jĂ€lkeen. Ohjelmassa oli jo mittari joka tunnisti tĂ€mĂ€n, mutta viisi hakukonetta ei kysynyt siltĂ€ mitÀÀn. Nyt jokainen kysyy â ja koneet jotka eivĂ€t tuota jÀÀvĂ€t sivuun vĂ€liaikaisesti: joka kahdeskymmenes kysely pÀÀstetÀÀn silti lĂ€pi, joten toipunut hakukone palaa kĂ€yttöön itsestÀÀn ilman ettĂ€ kukaan tekee mitÀÀn.
- đ Ohjelman kunnontarkistus nĂ€yttÀÀ nyt hakukoneiden tuloksellisuuden. PĂ€ivittĂ€inen tarkistus kertoo mitattuna, mikĂ€ hakukone tuottaa missĂ€kin markkinassa, mitkĂ€ jÀÀvĂ€t sivuun ja miksi. Se hĂ€lyttÀÀ vasta jos tuottavia koneita on alle kaksi eikĂ€ koskaan liian pienestĂ€ otoksesta.
đŹđ§ English
- ⥠The same page was fetched up to six times during one search â now once. Different stages of the program (contact collection, signal extraction, opportunity analysis) requested the same page without knowing about each other, and every request cost a full attempt with all its fallbacks. Measured on a real search: 195 wasted page fetches in a single run. The program now briefly remembers both what it just fetched and what just failed, and does not repeat the work. Measured after the fix: wasted fetches 195 â 4, with over 300 needless network requests avoided in one run. The memory lasts a minute and is cleared at the start of every search, so nothing goes stale.
- đȘ Every search engine now has to earn its place by measurement. The program uses an unusually large number of search engines, but some produced no results at all and still ran on every query, taking a slot from those that do produce. Measured from our own accumulated data: the best engines produce results for 99, 89 and 71 percent of queries, while three engines were at zero after more than two hundred measurements. The program already had a meter that detected this, but five engines never consulted it. Now they all do â and engines that do not produce are set aside temporarily: every twentieth query still goes through, so a recovered engine returns on its own with no intervention.
- đ The health check now shows search engine productivity. The daily check reports, as measurement, which engine produces in which market, which ones are set aside and why. It only raises an alarm when fewer than two productive engines remain, and never from too small a sample.
1.0.866
2026-08-081.0.866 - 2026-08-08 - "đ”ïž Hakukone joka torjuu meidĂ€t hiljaa ei enÀÀ jauha nollaa koko haun ajan"
đ«đź Suomi
- đ”ïž Yksi hakukone tuotti nollan koko haun ajan, eikĂ€ mikÀÀn kertonut siitĂ€. Yksi kĂ€ytössĂ€ olevista hakukoneista on julkinen palvelu, joka torjuu liian tiheĂ€n kĂ€ytön palauttamalla onnistuneen vastauksen ja tyhjĂ€n sivun â ei virhettĂ€, ei tunnistettavaa estoa. Koska vastaus oli onnistunut, mikÀÀn ohjelman valvonnoista ei reagoinut, ja sama hakukone yritti mitatusti 44 kertaa perĂ€kkĂ€in tuottamatta yhtÀÀn tulosta ja kĂ€yttĂ€en jokaisella kerralla jopa minuutin verran aikaa. Mitattu: ensimmĂ€inen haku tuotti 20 tulosta, kaikki seuraavat nolla, eikĂ€ tilanne palautunut odottamalla. Ohjelma tunnistaa tĂ€mĂ€n nyt vastauksen sisĂ€llöstĂ€ eikĂ€ sen tilakoodista, merkitsee hakukoneen hetkellisesti tauolle ja jatkaa muilla. Hakukonetta ei poistettu kĂ€ytöstĂ€: sen saa tĂ€yteen tehoon omalla palvelimella, ja ohjelma kertoo lokissa miten.
đŹđ§ English
- đ”ïž One search engine returned nothing for an entire search, and nothing reported it. One of the engines in use is a public service that turns away heavy use by returning a successful response with an empty page â no error, no recognisable block. Because the response was successful, none of the program's monitors reacted, and that engine measurably tried 44 times in a row without producing a single result, spending up to a minute on each attempt. Measured: the first query returned 20 results, every one after it returned none, and waiting did not restore it. The program now recognises this from the content of the response rather than its status code, puts the engine on a brief pause and continues with the others. The engine was not disabled: it runs at full strength on a self-hosted instance, and the program logs how.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Yrityksen kotipaikka nĂ€kyy nyt myös listalla ja viennissĂ€. Virallinen kaupparekisteri kertoo yrityksen kotipaikan, ja ohjelma kĂ€ytti sitĂ€ alueen vahvistamiseen â mutta ei tallentanut sitĂ€ mihinkÀÀn. Mitattu omasta koeajosta (Uusimaa, 80 uutta yritystĂ€): 73 yrityksellĂ€ kotipaikka oli tiedossa ja tallennettuna se oli tyhjĂ€ jokaisella. KenttĂ€ on ollut ohjelmassa koko ajan, tieto vain pysĂ€htyi matkalla. Kotipaikka tallennetaan nyt myös silloin kun rekisteri kertoo yrityksen olevan eri alueella kuin haettiin â silloin se kertoo kĂ€yttĂ€jĂ€lle nimenomaan sen, miksi rivi ei ole haetulla alueella. Aluetta ei silloin merkitĂ€ vahvistetuksi. Jo tiedossa olevaa kaupunkia ei ylikirjoiteta eikĂ€ kaupunkia pÀÀtellĂ€, jos rekisteri ei sitĂ€ kerro.
- ⥠Sama tavoittamaton sivusto haettiin jopa 17 kertaa â nyt kahdesti. Yhteystietojen haku kĂ€y lĂ€pi noin neljĂ€kymmentĂ€ sivupolkua yrityksen sivustolta, ja jokainen polku yritti erikseen kaikki reitit varareitteineen 6â8 sekunnin aikarajoilla. Jos yrityksen verkkotunnusta ei ollut enÀÀ olemassa, yhden sellaisen yrityksen kĂ€sittely söi noin sata sekuntia yhdeltĂ€ kĂ€sittelypaikalta 28:sta. Mitattu oikeasta hausta: kolme eri verkkotunnusta sai 17, 16 ja 14 yritystĂ€, ja yksi niistĂ€ ei vastannut nimipalveluun lainkaan. Seuraus nĂ€kyi kaikessa: ohjelma pysĂ€htyi mitatusti 19 kertaa (pisin pysĂ€hdys 67 sekuntia), yhteystietojen haku kesti keskimÀÀrin 109 sekuntia yritystĂ€ kohden kun se on suunniteltu 3â5 sekuntiin, ja kuudessa minuutissa valmistui 27 rikastusta 613 löydöstĂ€. Ohjelmassa on ollut suojaus tĂ€tĂ€ varten heinĂ€kuusta asti, mutta juuri tĂ€mĂ€ haku ei kutsunut sitĂ€. Mitattu korjauksen jĂ€lkeen: kymmenen polkua tavoittamattomaan verkkotunnukseen tuottaa kaksi yritystĂ€ aiemman kymmenen sijaan. Hakukoneisiin tĂ€mĂ€ ei koske, eikĂ€ puuttuva yksittĂ€inen sivu sulje sivustoa.
- đ Maksettu vĂ€lityspalvelinjoukko tarkistetaan nyt kĂ€ynnistyksessĂ€. Ohjelma haki sata vĂ€lityspalvelinta ja merkitsi ne kĂ€yttökelpoisiksi testaamatta yhtĂ€kÀÀn. Mitattu: niistĂ€ noin 40 prosenttia ei vastannut lainkaan, ja kuolleet löytyivĂ€t vasta haun aikana 6â8 sekunnin odotuksella joka kerta. Tarkistus tehdÀÀn nyt taustalla heti kĂ€ynnistyksen jĂ€lkeen, joten haku alkaa yhtĂ€ nopeasti kuin ennen mutta joukko puhdistuu sekunneissa.
- đ° Mitattu kotiyhteysliikenne on nyt varattu liikevaihtotietojen hakuun. Kuukausittain rajattua yhteyttĂ€ kĂ€yttivĂ€t myös kaksi hakukonepolkua. Ne kĂ€yttĂ€vĂ€t nyt suoraa yhteyttĂ€ ja laajaa vakiojoukkoa, ja rajattu yhteys jÀÀ siihen mihin se hankittiin.
- đĄïž Ohjelma esiintyy hakukoneille omana kĂ€yttĂ€jĂ€nÀÀn jokaisessa asennuksessa. Hakukoneet tunnistavat kĂ€vijĂ€n muustakin kuin verkko-osoitteesta: yhteyden avaustavasta jÀÀ tunniste, joka on kuin selaimen sormenjĂ€lki. TĂ€mĂ€ tunniste valittiin aiemmin niin, ettĂ€ se oli sama kaikissa asennuksissa, joten kaikki ohjelman kĂ€yttĂ€jĂ€t nĂ€yttivĂ€t hakukoneelle samalta kĂ€vijĂ€ltĂ€ eri osoitteista. MitĂ€ useampi kĂ€yttĂ€jĂ€, sitĂ€ nopeammin se olisi tulkittu poikkeavaksi. Nyt jokainen asennus saa oman tunnisteensa, joka luodaan koneella eikĂ€ sisĂ€llĂ€ mitÀÀn tietoa kĂ€yttĂ€jĂ€stĂ€ eikĂ€ lĂ€hde mihinkÀÀn. Saman asennuksen sisĂ€llĂ€ tunniste pysyy samana, joten haku nĂ€yttÀÀ yhdeltĂ€ johdonmukaiselta kĂ€vijĂ€ltĂ€. Mitattu: neljĂ€kymmentĂ€ asennusta sai viisitoista eri tunnistetta samalla hakukoneella, kun aiemmin niillĂ€ oli yksi ja sama.
- 𧩠Ohjelman lÀhettÀmÀt tiedot vastaavat nyt sitÀ selainta jona se esiintyy. Jokaisessa haussa lÀhti mukana tieto, jonka vain osa selaimista lÀhettÀÀ, vaikka ohjelma esiintyi useimmiten selaimena joka ei lÀhetÀ sitÀ koskaan. YhdistelmÀÀ ei esiinny yhdellÀkÀÀn oikealla kÀvijÀllÀ, joten se oli tarpeeton tunnusmerkki. Ristiriita on poistettu; muut tiedot ja maakohtainen kieli sÀilyvÀt ennallaan.
- đĄ Ohjelman kunnontarkistus seuraa nyt hakukoneiden suojausten kehitystĂ€. Suojaukset kiristyvĂ€t ajan myötĂ€, mutta ne eivĂ€t ole samanlaisia: osa vaatii toisenlaisen yhteyden, osa on pelkkĂ€ hetkellinen tahdin rajoitus ja osa on laskutehtĂ€vĂ€ jonka ohjelma osaa ratkaista. Kunnontarkistus luokittelee jokaisen hakukoneen erikseen ja tallentaa tilanteen, joten muutos nĂ€kyy vertailuna edelliseen ajoon eikĂ€ vasta kun haku lakkaa toimimasta.
đŹđ§ English
- đ A company's registered home town is now stored, so it shows on the list and in exports. The official business register states a company's home town, and the program used it to confirm the area â but never stored it. Measured on our own test run (Uusimaa, 80 new companies): 73 had a known home town, and the stored value was empty for every one. The field has been in the program all along; the value simply stopped on the way. The home town is now stored also when the register says the company is in a different area than the one searched â there it tells the user exactly why the row is not in the requested area. The area is not marked confirmed in that case. An already known town is never overwritten, and no town is inferred when the register does not state one.
- ⥠The same unreachable website was fetched up to 17 times â now twice. Contact detail collection goes through about forty page paths on a company's site, and every path separately tried all routes and fallbacks with 6â8 second time limits. If the company's domain no longer existed, one such company consumed about a hundred seconds of one processing slot out of 28. Measured on a real search: three domains received 17, 16 and 14 attempts, and one of them did not resolve in DNS at all. The consequences showed up everywhere: the program stalled 19 times (longest stall 67 seconds), contact collection averaged 109 seconds per company against a design target of 3â5 seconds, and in six minutes 27 enrichments completed out of 613 finds. A protection for exactly this has existed since July, but this particular fetch never called it. Measured after the fix: ten paths to an unreachable domain produce two attempts instead of ten. Search engines are unaffected, and a single missing page does not close a site.
- đ The paid proxy set is now checked at startup. The program fetched a hundred proxies and marked them usable without testing any. Measured: about 40 percent of them did not respond at all, and the dead ones were found only during the search, at a cost of 6â8 seconds every time. The check now runs in the background immediately after startup, so searching begins as quickly as before while the set cleans itself within seconds.
- đ° Metered home-connection traffic is now reserved for revenue lookups. Two search engine paths were also using the monthly-limited connection. They now use a direct connection and the large standard set, and the limited connection stays for what it was bought for.
- đĄïž Every installation now searches as its own user. Search engines identify a visitor by more than the network address: the way a connection is opened leaves a signature, much like a browser fingerprint. That signature used to be chosen identically in every installation, so all users of the program looked like a single visitor arriving from many addresses. The more users, the sooner that would read as anomalous. Each installation now gets its own signature, generated on the machine, containing nothing about the user and never sent anywhere. Within one installation it stays constant, so a search looks like one consistent visitor. Measured: forty installations received fifteen different signatures for the same engine, where previously they all shared one.
- đ§© The details the program sends now match the browser it presents itself as. Every search carried a piece of information that only some browsers send, while the program most often presented itself as a browser that never sends it. That combination does not occur for any real visitor, so it was a needless marker. The contradiction has been removed; other details and the country-specific language are unchanged.
- đĄ The health check now tracks how engine protections develop. Protections tighten over time, but they are not alike: some require a different kind of connection, some are only a temporary pace limit, and some are a computational puzzle the program can solve. The health check classifies each engine separately and records the situation, so a change shows up as a comparison against the previous run rather than when searching stops working.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku kÀsittelee yrityksiÀ taas rinnakkain, ei yhtÀ kerrallaan. Puhelinnumeroiden poiminta yrityksen sivuilta varasi noin 35 sekuntia laskenta-aikaa jokaista yritystÀ kohden, ja se tehtiin samassa suoritusvuorossa kuin kaikki muu. Niin kauan kuin se oli kÀynnissÀ, muut samanaikaiset työt eivÀt edenneet lainkaan, joten haku nÀytti kÀsittelevÀn yhtÀ yritystÀ kerrallaan vaikka se yrittÀÀ kolmea. Syy ei ollut hakukaavoissa vaan siinÀ, ettÀ sama numero tarkistettiin uudelleen jokaisella esiintymÀllÀÀn: yrityksen sivu toistaa numeronsa alatunnisteessa satoja kertoja, ja mitatulla sivulla 4 800 löydöstÀ oli kolme eri numeroa, joista yksi tarkistettiin 1 200 kertaa. Numerot yhdistetÀÀn nyt ennen tarkistusta. Mitattu: 35,6 sekunnista 5,7 sekuntiin yritystÀ kohden, eli noin 30 sekuntia nopeammin jokaista yritystÀ kohden. Löydetyt numerot ovat tÀsmÀlleen samat.
đŹđ§ English
- ⥠Searches process companies in parallel again instead of one at a time. Collecting phone numbers from a company's pages took about 35 seconds of computation per company, and it ran in the same execution slot as everything else. While it ran, other concurrent work could not proceed at all, so the search appeared to handle one company at a time even though it attempts three. The cause was not the search patterns but that the same number was checked again for every occurrence: a company page repeats its number in the footer hundreds of times, and on the measured page 4,800 finds were three distinct numbers, one of which was checked 1,200 times. Numbers are now merged before checking. Measured: from 35.6 seconds to 5.7 seconds per company, about 30 seconds faster for every company. The numbers found are exactly the same.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku ei enÀÀ jumita kymmentÀ minuuttia per ajo. Yritykselle varattu kÀsittelyaika valittiin ennen kuin sen verkkotunnus oli selvitetty, joten rekisteristÀ löytyneet kotimaiset yritykset saivat lyhyen aikarajan vaikka ne tarvitsevat pitkÀn. Mitattu oikeasta hausta: kymmenen yritystÀ keskeytyi aikarajaan, ja jokainen oli oikea kotimainen toimisto jonka verkkotunnus oli löytynyt. Muut yritykset kÀsiteltiin keskimÀÀrin 8,5 sekunnissa, joten nÀmÀ kymmenen veivÀt yhtÀ paljon aikaa kuin seitsemÀnkymmentÀ muuta. Aikaraja mÀÀrÀytyy nyt haun maan mukaan silloin kun verkkotunnusta ei vielÀ ole.
- đ Yhteystietojen haku yritysten sivuilta toimii taas. Sivujen nouto onnistui mitatusti vain 10 prosentissa yrityksistĂ€. Syy ei ollut aikaraja vaan se, ettĂ€ tĂ€mĂ€ yksi haku kĂ€ytti eri tekniikkaa kuin muu ohjelma. Mitattu samoilla sivuilla: vanha tapa ei saanut yhteyttĂ€ yhteenkÀÀn kahdeksasta yrityksen etusivusta, ja ohjelman muualla kĂ€yttĂ€mĂ€ tapa sai seitsemĂ€n kahdeksasta tĂ€ydellĂ€ sisĂ€llöllĂ€. Yhteystietojen haku kĂ€yttÀÀ nyt samaa tekniikkaa kuin muu ohjelma.
- đ Startpage-haku toimii taas ja tuo kotimaisia yrityksiĂ€. Kyseinen hakukone ei ollut estĂ€nyt ohjelmaa vaan esitti sille laskutehtĂ€vĂ€n, jota ohjelma ei osannut ratkaista, joten tulokseksi tuli aina nolla. Ohjelma ratkaisee tehtĂ€vĂ€n nyt itse noin puolessa sekunnissa, ilman erillisiĂ€ palveluita. Mitattu: kymmenen tulosta kyselyĂ€ kohden ja niistĂ€ 90 prosenttia kotimaisia, mikĂ€ on paras osuvuus kĂ€ytössĂ€ olevista hakukoneista.
- đïž Listan luokat vastaavat nyt niiden vieressĂ€ nĂ€kyvÀÀ pistemÀÀrÀÀ. Listalla saattoi lukea esimerkiksi kylmĂ€ ja pistemÀÀrĂ€ 100 samalla rivillĂ€, koska luokka ja pistemÀÀrĂ€ pĂ€ivittyivĂ€t eri kohdista. Yritys joka oli noussut parhaaseen luokkaan nĂ€kyi listalla yhĂ€ kylmĂ€nĂ€. Luokka johdetaan nyt samasta pistemÀÀrĂ€stĂ€ joka rivillĂ€ nĂ€ytetÀÀn, kaikissa pĂ€ivitystilanteissa.
đŹđ§ English
- ⥠Searches no longer stall for ten minutes per run. The processing time allowed for a company was chosen before its website address had been resolved, so domestic companies found in the register received a short limit even though they need a long one. Measured on a real search: ten companies hit the time limit, and every one was a genuine domestic agency whose website had been found. Other companies were processed in 8.5 seconds on average, so those ten took as long as seventy others. The limit is now based on the country of the search when no website address is known yet.
- đ Collecting contact details from company websites works again. Page fetching succeeded for only 10 percent of companies. The cause was not the time limit but that this one fetch used a different technique than the rest of the program. Measured on the same pages: the old method could not connect to a single one of eight company front pages, while the method used elsewhere in the program retrieved seven of eight with full content. Contact fetching now uses the same technique as the rest of the program.
- đ The Startpage engine works again and returns domestic companies. That engine had not blocked the program; it presented a computational puzzle the program could not solve, so the result was always zero. The program now solves it itself in about half a second, with no external services. Measured: ten results per query with 90 percent domestic, the best relevance of the engines in use.
- đïž List classes now match the score shown next to them. A row could read cold with a score of 100, because the class and the score were updated from different places. A company that had risen to the top class still appeared cold on the list. The class is now derived from the same score that is shown on the row, in every update path.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Yritysten kotisivut haetaan nyt kolme kertaa nopeammin ja ne saadaan lĂ€pi. Yhteystietojen haku yrityksen omilta sivuilta onnistui mitatusti vain 18 prosentissa yrityksistĂ€, ja loput kirjautuivat aikakatkaisuiksi. Sivut eivĂ€t kuitenkaan olleet saavuttamattomia: samat sivut avautuivat suoraan haettuna 11 kertaa 12:sta. Vika oli jĂ€rjestyksessĂ€. Ohjelma yritti ensin useaa vĂ€lityspalvelinta ja vasta viimeisenĂ€ hitainta varakeinoa, mikĂ€ vei 19â20 sekuntia, kun haulle oli varattu 10. Varakeino siis onnistui joka kerta mutta liian myöhÀÀn. Nyt suora yhteys kokeillaan heti ensimmĂ€isen epĂ€onnistuneen vĂ€lityspalvelimen jĂ€lkeen. Mitattu: kaikki viisi testisivua saatiin 6â7 sekunnissa eikĂ€ yksikÀÀn ylittĂ€nyt aikarajaa. Hakukoneiden reititys ei muuttunut, koska ne tarvitsevat vĂ€lityspalvelinta.
- đ Haettu kaupunki pitÀÀ myös silloin kun ensisijainen lĂ€hde pettÀÀ. Kun maan oma yritysrekisteri hidastui, ohjelma tĂ€ydensi tuloksen varalĂ€hteestĂ€ joka ei rajannut aluetta. Mitattu: Bangalorea haettaessa listalle tuli Gurugramin, Chennain, Punen ja Hyderabadin yrityksiĂ€, eikĂ€ mikÀÀn kertonut siitĂ€. Nyt haettua aluetta ei voi ohittaa: vÀÀrĂ€n kaupungin yritykset poistetaan tuloksesta, ja jos osumia ei jÀÀ yhtÀÀn, tulos on tyhjĂ€ eikĂ€ vÀÀrĂ€. Maat joiden rekisterissĂ€ ei ole kaupunkitietoa lainkaan toimivat ennallaan, koska niissĂ€ mitÀÀn ei voi todeta vÀÀrĂ€ksi.
- âïž Yrityksen omat sĂ€hköpostiosoitteet eivĂ€t enÀÀ katoa kortilta. Jos yritys kĂ€yttÀÀ osoitetta toisella pÀÀtteellĂ€ kuin verkkosivunsa, kuten .dk-osoitetta .com-sivuston rinnalla, osoite tulkittiin toisen yrityksen osoitteeksi ja piilotettiin. Mitattu omasta aineistosta: 521 tĂ€llaista osoitetta oli yrityksen omia. LisĂ€ksi 48 osoitetta hylĂ€ttiin siksi, ettĂ€ niihin oli jÀÀnyt sivulta poimittaessa ylimÀÀrĂ€isiĂ€ merkkejĂ€. Molemmat korjattu. Toisen yrityksen osoitteiden torjunta toimii ennallaan.
đŹđ§ English
- đ Company websites are now fetched three times faster and actually get through. Collecting contact details from a company's own site succeeded for only 18 percent of companies, and the rest were recorded as timeouts. The pages were not unreachable: the same pages opened on a direct fetch in 11 out of 12 cases. The problem was ordering. The program tried several proxies first and the slowest fallback last, which took 19â20 seconds when the fetch was allowed 10. The fallback therefore succeeded every time, but too late. A direct connection is now tried immediately after the first failed proxy. Measured: all five test pages arrived in 6â7 seconds and none exceeded the time limit. Search engine routing is unchanged, because engines do need proxies.
- đ The requested city holds even when the primary source fails. When a country's own company register slowed down, the program filled the result from a fallback source that did not restrict the area. Measured: a search for Bangalore returned companies from Gurugram, Chennai, Pune and Hyderabad, and nothing indicated it. The requested area can no longer be bypassed: companies from the wrong city are removed, and if no matches remain the result is empty rather than wrong. Countries whose register carries no city data at all are unaffected, because nothing there can be shown to be wrong.
- âïž A company's own email addresses no longer disappear from the card. If a company used an address on a different domain ending than its website, such as a .dk address alongside a .com site, the address was treated as another company's and hidden. Measured on our own data: 521 such addresses belonged to the company itself. A further 48 were rejected because stray characters had been left in them during extraction. Both fixed. Rejection of other companies' addresses is unchanged.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Haku kĂ€yttÀÀ nyt 17 hakukonetta yhdeksĂ€n sijaan. Ohjelmassa on ollut kaikki hakukoneet valmiina, mutta suurinta osaa ei ollut kytketty hakuun lainkaan: seitsemĂ€n hakukonetta ei ajanut kertaakaan, ja yksi oli varalla vain siltĂ€ varalta ettĂ€ kaksi muuta lakkaa toimimasta. KĂ€ytĂ€nnössĂ€ neljĂ€ hakukonetta kantoi koko haun. Mitattu: kytkemĂ€ttömistĂ€ paras tuottaa 10 tulosta kyselyĂ€ kohden ja 90 prosenttia niistĂ€ on kotimaisia, mikĂ€ on parempi osuvuus kuin yhdellĂ€kÀÀn aiemmin kĂ€ytössĂ€ olleella. Nyt kaikki ajavat rinnakkain joka maassa, eikĂ€ haku hidastu, koska ne tehdÀÀn samanaikaisesti. Hakukoneet jotka eivĂ€t tuota tuloksia pudotetaan mittauksen perusteella kesken haun, ja karsinta pysĂ€htyy aina ennen kuin toimivia jĂ€isi alle kahden. Maakohtainen jĂ€rjestys ei muuttunut, joten yksikÀÀn toimiva maa ei muutu.
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Searches now use 17 search engines instead of nine. All the search engines have been present in the program, but most were never connected to the search: seven never ran at all, and one was held in reserve only in case two others stopped working. In practice four engines carried the whole search. Measured: the best of the unconnected ones returns 10 results per query with 90 percent of them domestic, better relevance than any engine previously in use. They now all run in parallel in every country, and the search does not slow down because they run at the same time. Engines that return nothing are dropped during the search based on measurement, and the pruning always stops before fewer than two working engines would remain. Per-country ordering did not change, so no working country changes.
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.865
2026-08-081.0.865 - 2026-08-08 - "đ Yrityksen kotipaikka tallentuu â ja haku ei jÀÀ jumiin sivustoihin joita ei ole olemassa"
đ«đź Suomi
- đ Yrityksen kotipaikka nĂ€kyy nyt myös listalla ja viennissĂ€. Virallinen kaupparekisteri kertoo yrityksen kotipaikan, ja ohjelma kĂ€ytti sitĂ€ alueen vahvistamiseen â mutta ei tallentanut sitĂ€ mihinkÀÀn. Mitattu omasta koeajosta (Uusimaa, 80 uutta yritystĂ€): 73 yrityksellĂ€ kotipaikka oli tiedossa ja tallennettuna se oli tyhjĂ€ jokaisella. KenttĂ€ on ollut ohjelmassa koko ajan, tieto vain pysĂ€htyi matkalla. Kotipaikka tallennetaan nyt myös silloin kun rekisteri kertoo yrityksen olevan eri alueella kuin haettiin â silloin se kertoo kĂ€yttĂ€jĂ€lle nimenomaan sen, miksi rivi ei ole haetulla alueella. Aluetta ei silloin merkitĂ€ vahvistetuksi. Jo tiedossa olevaa kaupunkia ei ylikirjoiteta eikĂ€ kaupunkia pÀÀtellĂ€, jos rekisteri ei sitĂ€ kerro.
- ⥠Sama tavoittamaton sivusto haettiin jopa 17 kertaa â nyt kahdesti. Yhteystietojen haku kĂ€y lĂ€pi noin neljĂ€kymmentĂ€ sivupolkua yrityksen sivustolta, ja jokainen polku yritti erikseen kaikki reitit varareitteineen 6â8 sekunnin aikarajoilla. Jos yrityksen verkkotunnusta ei ollut enÀÀ olemassa, yhden sellaisen yrityksen kĂ€sittely söi noin sata sekuntia yhdeltĂ€ kĂ€sittelypaikalta 28:sta. Mitattu oikeasta hausta: kolme eri verkkotunnusta sai 17, 16 ja 14 yritystĂ€, ja yksi niistĂ€ ei vastannut nimipalveluun lainkaan. Seuraus nĂ€kyi kaikessa: ohjelma pysĂ€htyi mitatusti 19 kertaa (pisin pysĂ€hdys 67 sekuntia), yhteystietojen haku kesti keskimÀÀrin 109 sekuntia yritystĂ€ kohden kun se on suunniteltu 3â5 sekuntiin, ja kuudessa minuutissa valmistui 27 rikastusta 613 löydöstĂ€. Ohjelmassa on ollut suojaus tĂ€tĂ€ varten heinĂ€kuusta asti, mutta juuri tĂ€mĂ€ haku ei kutsunut sitĂ€. Mitattu korjauksen jĂ€lkeen: kymmenen polkua tavoittamattomaan verkkotunnukseen tuottaa kaksi yritystĂ€ aiemman kymmenen sijaan. Hakukoneisiin tĂ€mĂ€ ei koske, eikĂ€ puuttuva yksittĂ€inen sivu sulje sivustoa.
- đ Maksettu vĂ€lityspalvelinjoukko tarkistetaan nyt kĂ€ynnistyksessĂ€. Ohjelma haki sata vĂ€lityspalvelinta ja merkitsi ne kĂ€yttökelpoisiksi testaamatta yhtĂ€kÀÀn. Mitattu: niistĂ€ noin 40 prosenttia ei vastannut lainkaan, ja kuolleet löytyivĂ€t vasta haun aikana 6â8 sekunnin odotuksella joka kerta. Tarkistus tehdÀÀn nyt taustalla heti kĂ€ynnistyksen jĂ€lkeen, joten haku alkaa yhtĂ€ nopeasti kuin ennen mutta joukko puhdistuu sekunneissa.
- đ° Mitattu kotiyhteysliikenne on nyt varattu liikevaihtotietojen hakuun. Kuukausittain rajattua yhteyttĂ€ kĂ€yttivĂ€t myös kaksi hakukonepolkua. Ne kĂ€yttĂ€vĂ€t nyt suoraa yhteyttĂ€ ja laajaa vakiojoukkoa, ja rajattu yhteys jÀÀ siihen mihin se hankittiin.
- đĄïž Ohjelma esiintyy hakukoneille omana kĂ€yttĂ€jĂ€nÀÀn jokaisessa asennuksessa. Hakukoneet tunnistavat kĂ€vijĂ€n muustakin kuin verkko-osoitteesta: yhteyden avaustavasta jÀÀ tunniste, joka on kuin selaimen sormenjĂ€lki. TĂ€mĂ€ tunniste valittiin aiemmin niin, ettĂ€ se oli sama kaikissa asennuksissa, joten kaikki ohjelman kĂ€yttĂ€jĂ€t nĂ€yttivĂ€t hakukoneelle samalta kĂ€vijĂ€ltĂ€ eri osoitteista. MitĂ€ useampi kĂ€yttĂ€jĂ€, sitĂ€ nopeammin se olisi tulkittu poikkeavaksi. Nyt jokainen asennus saa oman tunnisteensa, joka luodaan koneella eikĂ€ sisĂ€llĂ€ mitÀÀn tietoa kĂ€yttĂ€jĂ€stĂ€ eikĂ€ lĂ€hde mihinkÀÀn. Saman asennuksen sisĂ€llĂ€ tunniste pysyy samana, joten haku nĂ€yttÀÀ yhdeltĂ€ johdonmukaiselta kĂ€vijĂ€ltĂ€. Mitattu: neljĂ€kymmentĂ€ asennusta sai viisitoista eri tunnistetta samalla hakukoneella, kun aiemmin niillĂ€ oli yksi ja sama.
- 𧩠Ohjelman lÀhettÀmÀt tiedot vastaavat nyt sitÀ selainta jona se esiintyy. Jokaisessa haussa lÀhti mukana tieto, jonka vain osa selaimista lÀhettÀÀ, vaikka ohjelma esiintyi useimmiten selaimena joka ei lÀhetÀ sitÀ koskaan. YhdistelmÀÀ ei esiinny yhdellÀkÀÀn oikealla kÀvijÀllÀ, joten se oli tarpeeton tunnusmerkki. Ristiriita on poistettu; muut tiedot ja maakohtainen kieli sÀilyvÀt ennallaan.
- đĄ Ohjelman kunnontarkistus seuraa nyt hakukoneiden suojausten kehitystĂ€. Suojaukset kiristyvĂ€t ajan myötĂ€, mutta ne eivĂ€t ole samanlaisia: osa vaatii toisenlaisen yhteyden, osa on pelkkĂ€ hetkellinen tahdin rajoitus ja osa on laskutehtĂ€vĂ€ jonka ohjelma osaa ratkaista. Kunnontarkistus luokittelee jokaisen hakukoneen erikseen ja tallentaa tilanteen, joten muutos nĂ€kyy vertailuna edelliseen ajoon eikĂ€ vasta kun haku lakkaa toimimasta.
đŹđ§ English
- đ A company's registered home town is now stored, so it shows on the list and in exports. The official business register states a company's home town, and the program used it to confirm the area â but never stored it. Measured on our own test run (Uusimaa, 80 new companies): 73 had a known home town, and the stored value was empty for every one. The field has been in the program all along; the value simply stopped on the way. The home town is now stored also when the register says the company is in a different area than the one searched â there it tells the user exactly why the row is not in the requested area. The area is not marked confirmed in that case. An already known town is never overwritten, and no town is inferred when the register does not state one.
- ⥠The same unreachable website was fetched up to 17 times â now twice. Contact detail collection goes through about forty page paths on a company's site, and every path separately tried all routes and fallbacks with 6â8 second time limits. If the company's domain no longer existed, one such company consumed about a hundred seconds of one processing slot out of 28. Measured on a real search: three domains received 17, 16 and 14 attempts, and one of them did not resolve in DNS at all. The consequences showed up everywhere: the program stalled 19 times (longest stall 67 seconds), contact collection averaged 109 seconds per company against a design target of 3â5 seconds, and in six minutes 27 enrichments completed out of 613 finds. A protection for exactly this has existed since July, but this particular fetch never called it. Measured after the fix: ten paths to an unreachable domain produce two attempts instead of ten. Search engines are unaffected, and a single missing page does not close a site.
- đ The paid proxy set is now checked at startup. The program fetched a hundred proxies and marked them usable without testing any. Measured: about 40 percent of them did not respond at all, and the dead ones were found only during the search, at a cost of 6â8 seconds every time. The check now runs in the background immediately after startup, so searching begins as quickly as before while the set cleans itself within seconds.
- đ° Metered home-connection traffic is now reserved for revenue lookups. Two search engine paths were also using the monthly-limited connection. They now use a direct connection and the large standard set, and the limited connection stays for what it was bought for.
- đĄïž Every installation now searches as its own user. Search engines identify a visitor by more than the network address: the way a connection is opened leaves a signature, much like a browser fingerprint. That signature used to be chosen identically in every installation, so all users of the program looked like a single visitor arriving from many addresses. The more users, the sooner that would read as anomalous. Each installation now gets its own signature, generated on the machine, containing nothing about the user and never sent anywhere. Within one installation it stays constant, so a search looks like one consistent visitor. Measured: forty installations received fifteen different signatures for the same engine, where previously they all shared one.
- đ§© The details the program sends now match the browser it presents itself as. Every search carried a piece of information that only some browsers send, while the program most often presented itself as a browser that never sends it. That combination does not occur for any real visitor, so it was a needless marker. The contradiction has been removed; other details and the country-specific language are unchanged.
- đĄ The health check now tracks how engine protections develop. Protections tighten over time, but they are not alike: some require a different kind of connection, some are only a temporary pace limit, and some are a computational puzzle the program can solve. The health check classifies each engine separately and records the situation, so a change shows up as a comparison against the previous run rather than when searching stops working.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku kÀsittelee yrityksiÀ taas rinnakkain, ei yhtÀ kerrallaan. Puhelinnumeroiden poiminta yrityksen sivuilta varasi noin 35 sekuntia laskenta-aikaa jokaista yritystÀ kohden, ja se tehtiin samassa suoritusvuorossa kuin kaikki muu. Niin kauan kuin se oli kÀynnissÀ, muut samanaikaiset työt eivÀt edenneet lainkaan, joten haku nÀytti kÀsittelevÀn yhtÀ yritystÀ kerrallaan vaikka se yrittÀÀ kolmea. Syy ei ollut hakukaavoissa vaan siinÀ, ettÀ sama numero tarkistettiin uudelleen jokaisella esiintymÀllÀÀn: yrityksen sivu toistaa numeronsa alatunnisteessa satoja kertoja, ja mitatulla sivulla 4 800 löydöstÀ oli kolme eri numeroa, joista yksi tarkistettiin 1 200 kertaa. Numerot yhdistetÀÀn nyt ennen tarkistusta. Mitattu: 35,6 sekunnista 5,7 sekuntiin yritystÀ kohden, eli noin 30 sekuntia nopeammin jokaista yritystÀ kohden. Löydetyt numerot ovat tÀsmÀlleen samat.
đŹđ§ English
- ⥠Searches process companies in parallel again instead of one at a time. Collecting phone numbers from a company's pages took about 35 seconds of computation per company, and it ran in the same execution slot as everything else. While it ran, other concurrent work could not proceed at all, so the search appeared to handle one company at a time even though it attempts three. The cause was not the search patterns but that the same number was checked again for every occurrence: a company page repeats its number in the footer hundreds of times, and on the measured page 4,800 finds were three distinct numbers, one of which was checked 1,200 times. Numbers are now merged before checking. Measured: from 35.6 seconds to 5.7 seconds per company, about 30 seconds faster for every company. The numbers found are exactly the same.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku ei enÀÀ jumita kymmentÀ minuuttia per ajo. Yritykselle varattu kÀsittelyaika valittiin ennen kuin sen verkkotunnus oli selvitetty, joten rekisteristÀ löytyneet kotimaiset yritykset saivat lyhyen aikarajan vaikka ne tarvitsevat pitkÀn. Mitattu oikeasta hausta: kymmenen yritystÀ keskeytyi aikarajaan, ja jokainen oli oikea kotimainen toimisto jonka verkkotunnus oli löytynyt. Muut yritykset kÀsiteltiin keskimÀÀrin 8,5 sekunnissa, joten nÀmÀ kymmenen veivÀt yhtÀ paljon aikaa kuin seitsemÀnkymmentÀ muuta. Aikaraja mÀÀrÀytyy nyt haun maan mukaan silloin kun verkkotunnusta ei vielÀ ole.
- đ Yhteystietojen haku yritysten sivuilta toimii taas. Sivujen nouto onnistui mitatusti vain 10 prosentissa yrityksistĂ€. Syy ei ollut aikaraja vaan se, ettĂ€ tĂ€mĂ€ yksi haku kĂ€ytti eri tekniikkaa kuin muu ohjelma. Mitattu samoilla sivuilla: vanha tapa ei saanut yhteyttĂ€ yhteenkÀÀn kahdeksasta yrityksen etusivusta, ja ohjelman muualla kĂ€yttĂ€mĂ€ tapa sai seitsemĂ€n kahdeksasta tĂ€ydellĂ€ sisĂ€llöllĂ€. Yhteystietojen haku kĂ€yttÀÀ nyt samaa tekniikkaa kuin muu ohjelma.
- đ Startpage-haku toimii taas ja tuo kotimaisia yrityksiĂ€. Kyseinen hakukone ei ollut estĂ€nyt ohjelmaa vaan esitti sille laskutehtĂ€vĂ€n, jota ohjelma ei osannut ratkaista, joten tulokseksi tuli aina nolla. Ohjelma ratkaisee tehtĂ€vĂ€n nyt itse noin puolessa sekunnissa, ilman erillisiĂ€ palveluita. Mitattu: kymmenen tulosta kyselyĂ€ kohden ja niistĂ€ 90 prosenttia kotimaisia, mikĂ€ on paras osuvuus kĂ€ytössĂ€ olevista hakukoneista.
- đïž Listan luokat vastaavat nyt niiden vieressĂ€ nĂ€kyvÀÀ pistemÀÀrÀÀ. Listalla saattoi lukea esimerkiksi kylmĂ€ ja pistemÀÀrĂ€ 100 samalla rivillĂ€, koska luokka ja pistemÀÀrĂ€ pĂ€ivittyivĂ€t eri kohdista. Yritys joka oli noussut parhaaseen luokkaan nĂ€kyi listalla yhĂ€ kylmĂ€nĂ€. Luokka johdetaan nyt samasta pistemÀÀrĂ€stĂ€ joka rivillĂ€ nĂ€ytetÀÀn, kaikissa pĂ€ivitystilanteissa.
đŹđ§ English
- ⥠Searches no longer stall for ten minutes per run. The processing time allowed for a company was chosen before its website address had been resolved, so domestic companies found in the register received a short limit even though they need a long one. Measured on a real search: ten companies hit the time limit, and every one was a genuine domestic agency whose website had been found. Other companies were processed in 8.5 seconds on average, so those ten took as long as seventy others. The limit is now based on the country of the search when no website address is known yet.
- đ Collecting contact details from company websites works again. Page fetching succeeded for only 10 percent of companies. The cause was not the time limit but that this one fetch used a different technique than the rest of the program. Measured on the same pages: the old method could not connect to a single one of eight company front pages, while the method used elsewhere in the program retrieved seven of eight with full content. Contact fetching now uses the same technique as the rest of the program.
- đ The Startpage engine works again and returns domestic companies. That engine had not blocked the program; it presented a computational puzzle the program could not solve, so the result was always zero. The program now solves it itself in about half a second, with no external services. Measured: ten results per query with 90 percent domestic, the best relevance of the engines in use.
- đïž List classes now match the score shown next to them. A row could read cold with a score of 100, because the class and the score were updated from different places. A company that had risen to the top class still appeared cold on the list. The class is now derived from the same score that is shown on the row, in every update path.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Yritysten kotisivut haetaan nyt kolme kertaa nopeammin ja ne saadaan lĂ€pi. Yhteystietojen haku yrityksen omilta sivuilta onnistui mitatusti vain 18 prosentissa yrityksistĂ€, ja loput kirjautuivat aikakatkaisuiksi. Sivut eivĂ€t kuitenkaan olleet saavuttamattomia: samat sivut avautuivat suoraan haettuna 11 kertaa 12:sta. Vika oli jĂ€rjestyksessĂ€. Ohjelma yritti ensin useaa vĂ€lityspalvelinta ja vasta viimeisenĂ€ hitainta varakeinoa, mikĂ€ vei 19â20 sekuntia, kun haulle oli varattu 10. Varakeino siis onnistui joka kerta mutta liian myöhÀÀn. Nyt suora yhteys kokeillaan heti ensimmĂ€isen epĂ€onnistuneen vĂ€lityspalvelimen jĂ€lkeen. Mitattu: kaikki viisi testisivua saatiin 6â7 sekunnissa eikĂ€ yksikÀÀn ylittĂ€nyt aikarajaa. Hakukoneiden reititys ei muuttunut, koska ne tarvitsevat vĂ€lityspalvelinta.
- đ Haettu kaupunki pitÀÀ myös silloin kun ensisijainen lĂ€hde pettÀÀ. Kun maan oma yritysrekisteri hidastui, ohjelma tĂ€ydensi tuloksen varalĂ€hteestĂ€ joka ei rajannut aluetta. Mitattu: Bangalorea haettaessa listalle tuli Gurugramin, Chennain, Punen ja Hyderabadin yrityksiĂ€, eikĂ€ mikÀÀn kertonut siitĂ€. Nyt haettua aluetta ei voi ohittaa: vÀÀrĂ€n kaupungin yritykset poistetaan tuloksesta, ja jos osumia ei jÀÀ yhtÀÀn, tulos on tyhjĂ€ eikĂ€ vÀÀrĂ€. Maat joiden rekisterissĂ€ ei ole kaupunkitietoa lainkaan toimivat ennallaan, koska niissĂ€ mitÀÀn ei voi todeta vÀÀrĂ€ksi.
- âïž Yrityksen omat sĂ€hköpostiosoitteet eivĂ€t enÀÀ katoa kortilta. Jos yritys kĂ€yttÀÀ osoitetta toisella pÀÀtteellĂ€ kuin verkkosivunsa, kuten .dk-osoitetta .com-sivuston rinnalla, osoite tulkittiin toisen yrityksen osoitteeksi ja piilotettiin. Mitattu omasta aineistosta: 521 tĂ€llaista osoitetta oli yrityksen omia. LisĂ€ksi 48 osoitetta hylĂ€ttiin siksi, ettĂ€ niihin oli jÀÀnyt sivulta poimittaessa ylimÀÀrĂ€isiĂ€ merkkejĂ€. Molemmat korjattu. Toisen yrityksen osoitteiden torjunta toimii ennallaan.
đŹđ§ English
- đ Company websites are now fetched three times faster and actually get through. Collecting contact details from a company's own site succeeded for only 18 percent of companies, and the rest were recorded as timeouts. The pages were not unreachable: the same pages opened on a direct fetch in 11 out of 12 cases. The problem was ordering. The program tried several proxies first and the slowest fallback last, which took 19â20 seconds when the fetch was allowed 10. The fallback therefore succeeded every time, but too late. A direct connection is now tried immediately after the first failed proxy. Measured: all five test pages arrived in 6â7 seconds and none exceeded the time limit. Search engine routing is unchanged, because engines do need proxies.
- đ The requested city holds even when the primary source fails. When a country's own company register slowed down, the program filled the result from a fallback source that did not restrict the area. Measured: a search for Bangalore returned companies from Gurugram, Chennai, Pune and Hyderabad, and nothing indicated it. The requested area can no longer be bypassed: companies from the wrong city are removed, and if no matches remain the result is empty rather than wrong. Countries whose register carries no city data at all are unaffected, because nothing there can be shown to be wrong.
- âïž A company's own email addresses no longer disappear from the card. If a company used an address on a different domain ending than its website, such as a .dk address alongside a .com site, the address was treated as another company's and hidden. Measured on our own data: 521 such addresses belonged to the company itself. A further 48 were rejected because stray characters had been left in them during extraction. Both fixed. Rejection of other companies' addresses is unchanged.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Haku kĂ€yttÀÀ nyt 17 hakukonetta yhdeksĂ€n sijaan. Ohjelmassa on ollut kaikki hakukoneet valmiina, mutta suurinta osaa ei ollut kytketty hakuun lainkaan: seitsemĂ€n hakukonetta ei ajanut kertaakaan, ja yksi oli varalla vain siltĂ€ varalta ettĂ€ kaksi muuta lakkaa toimimasta. KĂ€ytĂ€nnössĂ€ neljĂ€ hakukonetta kantoi koko haun. Mitattu: kytkemĂ€ttömistĂ€ paras tuottaa 10 tulosta kyselyĂ€ kohden ja 90 prosenttia niistĂ€ on kotimaisia, mikĂ€ on parempi osuvuus kuin yhdellĂ€kÀÀn aiemmin kĂ€ytössĂ€ olleella. Nyt kaikki ajavat rinnakkain joka maassa, eikĂ€ haku hidastu, koska ne tehdÀÀn samanaikaisesti. Hakukoneet jotka eivĂ€t tuota tuloksia pudotetaan mittauksen perusteella kesken haun, ja karsinta pysĂ€htyy aina ennen kuin toimivia jĂ€isi alle kahden. Maakohtainen jĂ€rjestys ei muuttunut, joten yksikÀÀn toimiva maa ei muutu.
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Searches now use 17 search engines instead of nine. All the search engines have been present in the program, but most were never connected to the search: seven never ran at all, and one was held in reserve only in case two others stopped working. In practice four engines carried the whole search. Measured: the best of the unconnected ones returns 10 results per query with 90 percent of them domestic, better relevance than any engine previously in use. They now all run in parallel in every country, and the search does not slow down because they run at the same time. Engines that return nothing are dropped during the search based on measurement, and the pruning always stops before fewer than two working engines would remain. Per-country ordering did not change, so no working country changes.
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.864
2026-08-081.0.864 - 2026-08-08 - "⥠Haku ei enÀÀ jÀÀ jumiin sivustoihin joita ei ole olemassa"
đ«đź Suomi
- ⥠Sama tavoittamaton sivusto haettiin jopa 17 kertaa â nyt kahdesti. Yhteystietojen haku kĂ€y lĂ€pi noin neljĂ€kymmentĂ€ sivupolkua yrityksen sivustolta, ja jokainen polku yritti erikseen kaikki reitit varareitteineen 6â8 sekunnin aikarajoilla. Jos yrityksen verkkotunnusta ei ollut enÀÀ olemassa, yhden sellaisen yrityksen kĂ€sittely söi noin sata sekuntia yhdeltĂ€ kĂ€sittelypaikalta 28:sta. Mitattu oikeasta hausta: kolme eri verkkotunnusta sai 17, 16 ja 14 yritystĂ€, ja yksi niistĂ€ ei vastannut nimipalveluun lainkaan. Seuraus nĂ€kyi kaikessa: ohjelma pysĂ€htyi mitatusti 19 kertaa (pisin pysĂ€hdys 67 sekuntia), yhteystietojen haku kesti keskimÀÀrin 109 sekuntia yritystĂ€ kohden kun se on suunniteltu 3â5 sekuntiin, ja kuudessa minuutissa valmistui 27 rikastusta 613 löydöstĂ€. Ohjelmassa on ollut suojaus tĂ€tĂ€ varten heinĂ€kuusta asti, mutta juuri tĂ€mĂ€ haku ei kutsunut sitĂ€. Mitattu korjauksen jĂ€lkeen: kymmenen polkua tavoittamattomaan verkkotunnukseen tuottaa kaksi yritystĂ€ aiemman kymmenen sijaan. Hakukoneisiin tĂ€mĂ€ ei koske, eikĂ€ puuttuva yksittĂ€inen sivu sulje sivustoa.
- đ Maksettu vĂ€lityspalvelinjoukko tarkistetaan nyt kĂ€ynnistyksessĂ€. Ohjelma haki sata vĂ€lityspalvelinta ja merkitsi ne kĂ€yttökelpoisiksi testaamatta yhtĂ€kÀÀn. Mitattu: niistĂ€ noin 40 prosenttia ei vastannut lainkaan, ja kuolleet löytyivĂ€t vasta haun aikana 6â8 sekunnin odotuksella joka kerta. Tarkistus tehdÀÀn nyt taustalla heti kĂ€ynnistyksen jĂ€lkeen, joten haku alkaa yhtĂ€ nopeasti kuin ennen mutta joukko puhdistuu sekunneissa.
- đ° Mitattu kotiyhteysliikenne on nyt varattu liikevaihtotietojen hakuun. Kuukausittain rajattua yhteyttĂ€ kĂ€yttivĂ€t myös kaksi hakukonepolkua. Ne kĂ€yttĂ€vĂ€t nyt suoraa yhteyttĂ€ ja laajaa vakiojoukkoa, ja rajattu yhteys jÀÀ siihen mihin se hankittiin.
- đĄïž Ohjelma esiintyy hakukoneille omana kĂ€yttĂ€jĂ€nÀÀn jokaisessa asennuksessa. Hakukoneet tunnistavat kĂ€vijĂ€n muustakin kuin verkko-osoitteesta: yhteyden avaustavasta jÀÀ tunniste, joka on kuin selaimen sormenjĂ€lki. TĂ€mĂ€ tunniste valittiin aiemmin niin, ettĂ€ se oli sama kaikissa asennuksissa, joten kaikki ohjelman kĂ€yttĂ€jĂ€t nĂ€yttivĂ€t hakukoneelle samalta kĂ€vijĂ€ltĂ€ eri osoitteista. MitĂ€ useampi kĂ€yttĂ€jĂ€, sitĂ€ nopeammin se olisi tulkittu poikkeavaksi. Nyt jokainen asennus saa oman tunnisteensa, joka luodaan koneella eikĂ€ sisĂ€llĂ€ mitÀÀn tietoa kĂ€yttĂ€jĂ€stĂ€ eikĂ€ lĂ€hde mihinkÀÀn. Saman asennuksen sisĂ€llĂ€ tunniste pysyy samana, joten haku nĂ€yttÀÀ yhdeltĂ€ johdonmukaiselta kĂ€vijĂ€ltĂ€. Mitattu: neljĂ€kymmentĂ€ asennusta sai viisitoista eri tunnistetta samalla hakukoneella, kun aiemmin niillĂ€ oli yksi ja sama.
- 𧩠Ohjelman lÀhettÀmÀt tiedot vastaavat nyt sitÀ selainta jona se esiintyy. Jokaisessa haussa lÀhti mukana tieto, jonka vain osa selaimista lÀhettÀÀ, vaikka ohjelma esiintyi useimmiten selaimena joka ei lÀhetÀ sitÀ koskaan. YhdistelmÀÀ ei esiinny yhdellÀkÀÀn oikealla kÀvijÀllÀ, joten se oli tarpeeton tunnusmerkki. Ristiriita on poistettu; muut tiedot ja maakohtainen kieli sÀilyvÀt ennallaan.
- đĄ Ohjelman kunnontarkistus seuraa nyt hakukoneiden suojausten kehitystĂ€. Suojaukset kiristyvĂ€t ajan myötĂ€, mutta ne eivĂ€t ole samanlaisia: osa vaatii toisenlaisen yhteyden, osa on pelkkĂ€ hetkellinen tahdin rajoitus ja osa on laskutehtĂ€vĂ€ jonka ohjelma osaa ratkaista. Kunnontarkistus luokittelee jokaisen hakukoneen erikseen ja tallentaa tilanteen, joten muutos nĂ€kyy vertailuna edelliseen ajoon eikĂ€ vasta kun haku lakkaa toimimasta.
đŹđ§ English
- ⥠The same unreachable website was fetched up to 17 times â now twice. Contact detail collection goes through about forty page paths on a company's site, and every path separately tried all routes and fallbacks with 6â8 second time limits. If the company's domain no longer existed, one such company consumed about a hundred seconds of one processing slot out of 28. Measured on a real search: three domains received 17, 16 and 14 attempts, and one of them did not resolve in DNS at all. The consequences showed up everywhere: the program stalled 19 times (longest stall 67 seconds), contact collection averaged 109 seconds per company against a design target of 3â5 seconds, and in six minutes 27 enrichments completed out of 613 finds. A protection for exactly this has existed since July, but this particular fetch never called it. Measured after the fix: ten paths to an unreachable domain produce two attempts instead of ten. Search engines are unaffected, and a single missing page does not close a site.
- đ The paid proxy set is now checked at startup. The program fetched a hundred proxies and marked them usable without testing any. Measured: about 40 percent of them did not respond at all, and the dead ones were found only during the search, at a cost of 6â8 seconds every time. The check now runs in the background immediately after startup, so searching begins as quickly as before while the set cleans itself within seconds.
- đ° Metered home-connection traffic is now reserved for revenue lookups. Two search engine paths were also using the monthly-limited connection. They now use a direct connection and the large standard set, and the limited connection stays for what it was bought for.
- đĄïž Every installation now searches as its own user. Search engines identify a visitor by more than the network address: the way a connection is opened leaves a signature, much like a browser fingerprint. That signature used to be chosen identically in every installation, so all users of the program looked like a single visitor arriving from many addresses. The more users, the sooner that would read as anomalous. Each installation now gets its own signature, generated on the machine, containing nothing about the user and never sent anywhere. Within one installation it stays constant, so a search looks like one consistent visitor. Measured: forty installations received fifteen different signatures for the same engine, where previously they all shared one.
- đ§© The details the program sends now match the browser it presents itself as. Every search carried a piece of information that only some browsers send, while the program most often presented itself as a browser that never sends it. That combination does not occur for any real visitor, so it was a needless marker. The contradiction has been removed; other details and the country-specific language are unchanged.
- đĄ The health check now tracks how engine protections develop. Protections tighten over time, but they are not alike: some require a different kind of connection, some are only a temporary pace limit, and some are a computational puzzle the program can solve. The health check classifies each engine separately and records the situation, so a change shows up as a comparison against the previous run rather than when searching stops working.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku kÀsittelee yrityksiÀ taas rinnakkain, ei yhtÀ kerrallaan. Puhelinnumeroiden poiminta yrityksen sivuilta varasi noin 35 sekuntia laskenta-aikaa jokaista yritystÀ kohden, ja se tehtiin samassa suoritusvuorossa kuin kaikki muu. Niin kauan kuin se oli kÀynnissÀ, muut samanaikaiset työt eivÀt edenneet lainkaan, joten haku nÀytti kÀsittelevÀn yhtÀ yritystÀ kerrallaan vaikka se yrittÀÀ kolmea. Syy ei ollut hakukaavoissa vaan siinÀ, ettÀ sama numero tarkistettiin uudelleen jokaisella esiintymÀllÀÀn: yrityksen sivu toistaa numeronsa alatunnisteessa satoja kertoja, ja mitatulla sivulla 4 800 löydöstÀ oli kolme eri numeroa, joista yksi tarkistettiin 1 200 kertaa. Numerot yhdistetÀÀn nyt ennen tarkistusta. Mitattu: 35,6 sekunnista 5,7 sekuntiin yritystÀ kohden, eli noin 30 sekuntia nopeammin jokaista yritystÀ kohden. Löydetyt numerot ovat tÀsmÀlleen samat.
đŹđ§ English
- ⥠Searches process companies in parallel again instead of one at a time. Collecting phone numbers from a company's pages took about 35 seconds of computation per company, and it ran in the same execution slot as everything else. While it ran, other concurrent work could not proceed at all, so the search appeared to handle one company at a time even though it attempts three. The cause was not the search patterns but that the same number was checked again for every occurrence: a company page repeats its number in the footer hundreds of times, and on the measured page 4,800 finds were three distinct numbers, one of which was checked 1,200 times. Numbers are now merged before checking. Measured: from 35.6 seconds to 5.7 seconds per company, about 30 seconds faster for every company. The numbers found are exactly the same.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku ei enÀÀ jumita kymmentÀ minuuttia per ajo. Yritykselle varattu kÀsittelyaika valittiin ennen kuin sen verkkotunnus oli selvitetty, joten rekisteristÀ löytyneet kotimaiset yritykset saivat lyhyen aikarajan vaikka ne tarvitsevat pitkÀn. Mitattu oikeasta hausta: kymmenen yritystÀ keskeytyi aikarajaan, ja jokainen oli oikea kotimainen toimisto jonka verkkotunnus oli löytynyt. Muut yritykset kÀsiteltiin keskimÀÀrin 8,5 sekunnissa, joten nÀmÀ kymmenen veivÀt yhtÀ paljon aikaa kuin seitsemÀnkymmentÀ muuta. Aikaraja mÀÀrÀytyy nyt haun maan mukaan silloin kun verkkotunnusta ei vielÀ ole.
- đ Yhteystietojen haku yritysten sivuilta toimii taas. Sivujen nouto onnistui mitatusti vain 10 prosentissa yrityksistĂ€. Syy ei ollut aikaraja vaan se, ettĂ€ tĂ€mĂ€ yksi haku kĂ€ytti eri tekniikkaa kuin muu ohjelma. Mitattu samoilla sivuilla: vanha tapa ei saanut yhteyttĂ€ yhteenkÀÀn kahdeksasta yrityksen etusivusta, ja ohjelman muualla kĂ€yttĂ€mĂ€ tapa sai seitsemĂ€n kahdeksasta tĂ€ydellĂ€ sisĂ€llöllĂ€. Yhteystietojen haku kĂ€yttÀÀ nyt samaa tekniikkaa kuin muu ohjelma.
- đ Startpage-haku toimii taas ja tuo kotimaisia yrityksiĂ€. Kyseinen hakukone ei ollut estĂ€nyt ohjelmaa vaan esitti sille laskutehtĂ€vĂ€n, jota ohjelma ei osannut ratkaista, joten tulokseksi tuli aina nolla. Ohjelma ratkaisee tehtĂ€vĂ€n nyt itse noin puolessa sekunnissa, ilman erillisiĂ€ palveluita. Mitattu: kymmenen tulosta kyselyĂ€ kohden ja niistĂ€ 90 prosenttia kotimaisia, mikĂ€ on paras osuvuus kĂ€ytössĂ€ olevista hakukoneista.
- đïž Listan luokat vastaavat nyt niiden vieressĂ€ nĂ€kyvÀÀ pistemÀÀrÀÀ. Listalla saattoi lukea esimerkiksi kylmĂ€ ja pistemÀÀrĂ€ 100 samalla rivillĂ€, koska luokka ja pistemÀÀrĂ€ pĂ€ivittyivĂ€t eri kohdista. Yritys joka oli noussut parhaaseen luokkaan nĂ€kyi listalla yhĂ€ kylmĂ€nĂ€. Luokka johdetaan nyt samasta pistemÀÀrĂ€stĂ€ joka rivillĂ€ nĂ€ytetÀÀn, kaikissa pĂ€ivitystilanteissa.
đŹđ§ English
- ⥠Searches no longer stall for ten minutes per run. The processing time allowed for a company was chosen before its website address had been resolved, so domestic companies found in the register received a short limit even though they need a long one. Measured on a real search: ten companies hit the time limit, and every one was a genuine domestic agency whose website had been found. Other companies were processed in 8.5 seconds on average, so those ten took as long as seventy others. The limit is now based on the country of the search when no website address is known yet.
- đ Collecting contact details from company websites works again. Page fetching succeeded for only 10 percent of companies. The cause was not the time limit but that this one fetch used a different technique than the rest of the program. Measured on the same pages: the old method could not connect to a single one of eight company front pages, while the method used elsewhere in the program retrieved seven of eight with full content. Contact fetching now uses the same technique as the rest of the program.
- đ The Startpage engine works again and returns domestic companies. That engine had not blocked the program; it presented a computational puzzle the program could not solve, so the result was always zero. The program now solves it itself in about half a second, with no external services. Measured: ten results per query with 90 percent domestic, the best relevance of the engines in use.
- đïž List classes now match the score shown next to them. A row could read cold with a score of 100, because the class and the score were updated from different places. A company that had risen to the top class still appeared cold on the list. The class is now derived from the same score that is shown on the row, in every update path.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Yritysten kotisivut haetaan nyt kolme kertaa nopeammin ja ne saadaan lĂ€pi. Yhteystietojen haku yrityksen omilta sivuilta onnistui mitatusti vain 18 prosentissa yrityksistĂ€, ja loput kirjautuivat aikakatkaisuiksi. Sivut eivĂ€t kuitenkaan olleet saavuttamattomia: samat sivut avautuivat suoraan haettuna 11 kertaa 12:sta. Vika oli jĂ€rjestyksessĂ€. Ohjelma yritti ensin useaa vĂ€lityspalvelinta ja vasta viimeisenĂ€ hitainta varakeinoa, mikĂ€ vei 19â20 sekuntia, kun haulle oli varattu 10. Varakeino siis onnistui joka kerta mutta liian myöhÀÀn. Nyt suora yhteys kokeillaan heti ensimmĂ€isen epĂ€onnistuneen vĂ€lityspalvelimen jĂ€lkeen. Mitattu: kaikki viisi testisivua saatiin 6â7 sekunnissa eikĂ€ yksikÀÀn ylittĂ€nyt aikarajaa. Hakukoneiden reititys ei muuttunut, koska ne tarvitsevat vĂ€lityspalvelinta.
- đ Haettu kaupunki pitÀÀ myös silloin kun ensisijainen lĂ€hde pettÀÀ. Kun maan oma yritysrekisteri hidastui, ohjelma tĂ€ydensi tuloksen varalĂ€hteestĂ€ joka ei rajannut aluetta. Mitattu: Bangalorea haettaessa listalle tuli Gurugramin, Chennain, Punen ja Hyderabadin yrityksiĂ€, eikĂ€ mikÀÀn kertonut siitĂ€. Nyt haettua aluetta ei voi ohittaa: vÀÀrĂ€n kaupungin yritykset poistetaan tuloksesta, ja jos osumia ei jÀÀ yhtÀÀn, tulos on tyhjĂ€ eikĂ€ vÀÀrĂ€. Maat joiden rekisterissĂ€ ei ole kaupunkitietoa lainkaan toimivat ennallaan, koska niissĂ€ mitÀÀn ei voi todeta vÀÀrĂ€ksi.
- âïž Yrityksen omat sĂ€hköpostiosoitteet eivĂ€t enÀÀ katoa kortilta. Jos yritys kĂ€yttÀÀ osoitetta toisella pÀÀtteellĂ€ kuin verkkosivunsa, kuten .dk-osoitetta .com-sivuston rinnalla, osoite tulkittiin toisen yrityksen osoitteeksi ja piilotettiin. Mitattu omasta aineistosta: 521 tĂ€llaista osoitetta oli yrityksen omia. LisĂ€ksi 48 osoitetta hylĂ€ttiin siksi, ettĂ€ niihin oli jÀÀnyt sivulta poimittaessa ylimÀÀrĂ€isiĂ€ merkkejĂ€. Molemmat korjattu. Toisen yrityksen osoitteiden torjunta toimii ennallaan.
đŹđ§ English
- đ Company websites are now fetched three times faster and actually get through. Collecting contact details from a company's own site succeeded for only 18 percent of companies, and the rest were recorded as timeouts. The pages were not unreachable: the same pages opened on a direct fetch in 11 out of 12 cases. The problem was ordering. The program tried several proxies first and the slowest fallback last, which took 19â20 seconds when the fetch was allowed 10. The fallback therefore succeeded every time, but too late. A direct connection is now tried immediately after the first failed proxy. Measured: all five test pages arrived in 6â7 seconds and none exceeded the time limit. Search engine routing is unchanged, because engines do need proxies.
- đ The requested city holds even when the primary source fails. When a country's own company register slowed down, the program filled the result from a fallback source that did not restrict the area. Measured: a search for Bangalore returned companies from Gurugram, Chennai, Pune and Hyderabad, and nothing indicated it. The requested area can no longer be bypassed: companies from the wrong city are removed, and if no matches remain the result is empty rather than wrong. Countries whose register carries no city data at all are unaffected, because nothing there can be shown to be wrong.
- âïž A company's own email addresses no longer disappear from the card. If a company used an address on a different domain ending than its website, such as a .dk address alongside a .com site, the address was treated as another company's and hidden. Measured on our own data: 521 such addresses belonged to the company itself. A further 48 were rejected because stray characters had been left in them during extraction. Both fixed. Rejection of other companies' addresses is unchanged.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Haku kĂ€yttÀÀ nyt 17 hakukonetta yhdeksĂ€n sijaan. Ohjelmassa on ollut kaikki hakukoneet valmiina, mutta suurinta osaa ei ollut kytketty hakuun lainkaan: seitsemĂ€n hakukonetta ei ajanut kertaakaan, ja yksi oli varalla vain siltĂ€ varalta ettĂ€ kaksi muuta lakkaa toimimasta. KĂ€ytĂ€nnössĂ€ neljĂ€ hakukonetta kantoi koko haun. Mitattu: kytkemĂ€ttömistĂ€ paras tuottaa 10 tulosta kyselyĂ€ kohden ja 90 prosenttia niistĂ€ on kotimaisia, mikĂ€ on parempi osuvuus kuin yhdellĂ€kÀÀn aiemmin kĂ€ytössĂ€ olleella. Nyt kaikki ajavat rinnakkain joka maassa, eikĂ€ haku hidastu, koska ne tehdÀÀn samanaikaisesti. Hakukoneet jotka eivĂ€t tuota tuloksia pudotetaan mittauksen perusteella kesken haun, ja karsinta pysĂ€htyy aina ennen kuin toimivia jĂ€isi alle kahden. Maakohtainen jĂ€rjestys ei muuttunut, joten yksikÀÀn toimiva maa ei muutu.
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Searches now use 17 search engines instead of nine. All the search engines have been present in the program, but most were never connected to the search: seven never ran at all, and one was held in reserve only in case two others stopped working. In practice four engines carried the whole search. Measured: the best of the unconnected ones returns 10 results per query with 90 percent of them domestic, better relevance than any engine previously in use. They now all run in parallel in every country, and the search does not slow down because they run at the same time. Engines that return nothing are dropped during the search based on measurement, and the pruning always stops before fewer than two working engines would remain. Per-country ordering did not change, so no working country changes.
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.863
2026-08-081.0.863 - 2026-08-08 - "đĄïž Jokainen asennus hakee omana kĂ€yttĂ€jĂ€nÀÀn"
đ«đź Suomi
- đĄïž Ohjelma esiintyy hakukoneille omana kĂ€yttĂ€jĂ€nÀÀn jokaisessa asennuksessa. Hakukoneet tunnistavat kĂ€vijĂ€n muustakin kuin verkko-osoitteesta: yhteyden avaustavasta jÀÀ tunniste, joka on kuin selaimen sormenjĂ€lki. TĂ€mĂ€ tunniste valittiin aiemmin niin, ettĂ€ se oli sama kaikissa asennuksissa, joten kaikki ohjelman kĂ€yttĂ€jĂ€t nĂ€yttivĂ€t hakukoneelle samalta kĂ€vijĂ€ltĂ€ eri osoitteista. MitĂ€ useampi kĂ€yttĂ€jĂ€, sitĂ€ nopeammin se olisi tulkittu poikkeavaksi. Nyt jokainen asennus saa oman tunnisteensa, joka luodaan koneella eikĂ€ sisĂ€llĂ€ mitÀÀn tietoa kĂ€yttĂ€jĂ€stĂ€ eikĂ€ lĂ€hde mihinkÀÀn. Saman asennuksen sisĂ€llĂ€ tunniste pysyy samana, joten haku nĂ€yttÀÀ yhdeltĂ€ johdonmukaiselta kĂ€vijĂ€ltĂ€. Mitattu: neljĂ€kymmentĂ€ asennusta sai viisitoista eri tunnistetta samalla hakukoneella, kun aiemmin niillĂ€ oli yksi ja sama.
- 𧩠Ohjelman lÀhettÀmÀt tiedot vastaavat nyt sitÀ selainta jona se esiintyy. Jokaisessa haussa lÀhti mukana tieto, jonka vain osa selaimista lÀhettÀÀ, vaikka ohjelma esiintyi useimmiten selaimena joka ei lÀhetÀ sitÀ koskaan. YhdistelmÀÀ ei esiinny yhdellÀkÀÀn oikealla kÀvijÀllÀ, joten se oli tarpeeton tunnusmerkki. Ristiriita on poistettu; muut tiedot ja maakohtainen kieli sÀilyvÀt ennallaan.
- đĄ Ohjelman kunnontarkistus seuraa nyt hakukoneiden suojausten kehitystĂ€. Suojaukset kiristyvĂ€t ajan myötĂ€, mutta ne eivĂ€t ole samanlaisia: osa vaatii toisenlaisen yhteyden, osa on pelkkĂ€ hetkellinen tahdin rajoitus ja osa on laskutehtĂ€vĂ€ jonka ohjelma osaa ratkaista. Kunnontarkistus luokittelee jokaisen hakukoneen erikseen ja tallentaa tilanteen, joten muutos nĂ€kyy vertailuna edelliseen ajoon eikĂ€ vasta kun haku lakkaa toimimasta.
đŹđ§ English
- đĄïž Every installation now searches as its own user. Search engines identify a visitor by more than the network address: the way a connection is opened leaves a signature, much like a browser fingerprint. That signature used to be chosen identically in every installation, so all users of the program looked like a single visitor arriving from many addresses. The more users, the sooner that would read as anomalous. Each installation now gets its own signature, generated on the machine, containing nothing about the user and never sent anywhere. Within one installation it stays constant, so a search looks like one consistent visitor. Measured: forty installations received fifteen different signatures for the same engine, where previously they all shared one.
- đ§© The details the program sends now match the browser it presents itself as. Every search carried a piece of information that only some browsers send, while the program most often presented itself as a browser that never sends it. That combination does not occur for any real visitor, so it was a needless marker. The contradiction has been removed; other details and the country-specific language are unchanged.
- đĄ The health check now tracks how engine protections develop. Protections tighten over time, but they are not alike: some require a different kind of connection, some are only a temporary pace limit, and some are a computational puzzle the program can solve. The health check classifies each engine separately and records the situation, so a change shows up as a comparison against the previous run rather than when searching stops working.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku kÀsittelee yrityksiÀ taas rinnakkain, ei yhtÀ kerrallaan. Puhelinnumeroiden poiminta yrityksen sivuilta varasi noin 35 sekuntia laskenta-aikaa jokaista yritystÀ kohden, ja se tehtiin samassa suoritusvuorossa kuin kaikki muu. Niin kauan kuin se oli kÀynnissÀ, muut samanaikaiset työt eivÀt edenneet lainkaan, joten haku nÀytti kÀsittelevÀn yhtÀ yritystÀ kerrallaan vaikka se yrittÀÀ kolmea. Syy ei ollut hakukaavoissa vaan siinÀ, ettÀ sama numero tarkistettiin uudelleen jokaisella esiintymÀllÀÀn: yrityksen sivu toistaa numeronsa alatunnisteessa satoja kertoja, ja mitatulla sivulla 4 800 löydöstÀ oli kolme eri numeroa, joista yksi tarkistettiin 1 200 kertaa. Numerot yhdistetÀÀn nyt ennen tarkistusta. Mitattu: 35,6 sekunnista 5,7 sekuntiin yritystÀ kohden, eli noin 30 sekuntia nopeammin jokaista yritystÀ kohden. Löydetyt numerot ovat tÀsmÀlleen samat.
đŹđ§ English
- ⥠Searches process companies in parallel again instead of one at a time. Collecting phone numbers from a company's pages took about 35 seconds of computation per company, and it ran in the same execution slot as everything else. While it ran, other concurrent work could not proceed at all, so the search appeared to handle one company at a time even though it attempts three. The cause was not the search patterns but that the same number was checked again for every occurrence: a company page repeats its number in the footer hundreds of times, and on the measured page 4,800 finds were three distinct numbers, one of which was checked 1,200 times. Numbers are now merged before checking. Measured: from 35.6 seconds to 5.7 seconds per company, about 30 seconds faster for every company. The numbers found are exactly the same.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- ⥠Haku ei enÀÀ jumita kymmentÀ minuuttia per ajo. Yritykselle varattu kÀsittelyaika valittiin ennen kuin sen verkkotunnus oli selvitetty, joten rekisteristÀ löytyneet kotimaiset yritykset saivat lyhyen aikarajan vaikka ne tarvitsevat pitkÀn. Mitattu oikeasta hausta: kymmenen yritystÀ keskeytyi aikarajaan, ja jokainen oli oikea kotimainen toimisto jonka verkkotunnus oli löytynyt. Muut yritykset kÀsiteltiin keskimÀÀrin 8,5 sekunnissa, joten nÀmÀ kymmenen veivÀt yhtÀ paljon aikaa kuin seitsemÀnkymmentÀ muuta. Aikaraja mÀÀrÀytyy nyt haun maan mukaan silloin kun verkkotunnusta ei vielÀ ole.
- đ Yhteystietojen haku yritysten sivuilta toimii taas. Sivujen nouto onnistui mitatusti vain 10 prosentissa yrityksistĂ€. Syy ei ollut aikaraja vaan se, ettĂ€ tĂ€mĂ€ yksi haku kĂ€ytti eri tekniikkaa kuin muu ohjelma. Mitattu samoilla sivuilla: vanha tapa ei saanut yhteyttĂ€ yhteenkÀÀn kahdeksasta yrityksen etusivusta, ja ohjelman muualla kĂ€yttĂ€mĂ€ tapa sai seitsemĂ€n kahdeksasta tĂ€ydellĂ€ sisĂ€llöllĂ€. Yhteystietojen haku kĂ€yttÀÀ nyt samaa tekniikkaa kuin muu ohjelma.
- đ Startpage-haku toimii taas ja tuo kotimaisia yrityksiĂ€. Kyseinen hakukone ei ollut estĂ€nyt ohjelmaa vaan esitti sille laskutehtĂ€vĂ€n, jota ohjelma ei osannut ratkaista, joten tulokseksi tuli aina nolla. Ohjelma ratkaisee tehtĂ€vĂ€n nyt itse noin puolessa sekunnissa, ilman erillisiĂ€ palveluita. Mitattu: kymmenen tulosta kyselyĂ€ kohden ja niistĂ€ 90 prosenttia kotimaisia, mikĂ€ on paras osuvuus kĂ€ytössĂ€ olevista hakukoneista.
- đïž Listan luokat vastaavat nyt niiden vieressĂ€ nĂ€kyvÀÀ pistemÀÀrÀÀ. Listalla saattoi lukea esimerkiksi kylmĂ€ ja pistemÀÀrĂ€ 100 samalla rivillĂ€, koska luokka ja pistemÀÀrĂ€ pĂ€ivittyivĂ€t eri kohdista. Yritys joka oli noussut parhaaseen luokkaan nĂ€kyi listalla yhĂ€ kylmĂ€nĂ€. Luokka johdetaan nyt samasta pistemÀÀrĂ€stĂ€ joka rivillĂ€ nĂ€ytetÀÀn, kaikissa pĂ€ivitystilanteissa.
đŹđ§ English
- ⥠Searches no longer stall for ten minutes per run. The processing time allowed for a company was chosen before its website address had been resolved, so domestic companies found in the register received a short limit even though they need a long one. Measured on a real search: ten companies hit the time limit, and every one was a genuine domestic agency whose website had been found. Other companies were processed in 8.5 seconds on average, so those ten took as long as seventy others. The limit is now based on the country of the search when no website address is known yet.
- đ Collecting contact details from company websites works again. Page fetching succeeded for only 10 percent of companies. The cause was not the time limit but that this one fetch used a different technique than the rest of the program. Measured on the same pages: the old method could not connect to a single one of eight company front pages, while the method used elsewhere in the program retrieved seven of eight with full content. Contact fetching now uses the same technique as the rest of the program.
- đ The Startpage engine works again and returns domestic companies. That engine had not blocked the program; it presented a computational puzzle the program could not solve, so the result was always zero. The program now solves it itself in about half a second, with no external services. Measured: ten results per query with 90 percent domestic, the best relevance of the engines in use.
- đïž List classes now match the score shown next to them. A row could read cold with a score of 100, because the class and the score were updated from different places. A company that had risen to the top class still appeared cold on the list. The class is now derived from the same score that is shown on the row, in every update path.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Yritysten kotisivut haetaan nyt kolme kertaa nopeammin ja ne saadaan lĂ€pi. Yhteystietojen haku yrityksen omilta sivuilta onnistui mitatusti vain 18 prosentissa yrityksistĂ€, ja loput kirjautuivat aikakatkaisuiksi. Sivut eivĂ€t kuitenkaan olleet saavuttamattomia: samat sivut avautuivat suoraan haettuna 11 kertaa 12:sta. Vika oli jĂ€rjestyksessĂ€. Ohjelma yritti ensin useaa vĂ€lityspalvelinta ja vasta viimeisenĂ€ hitainta varakeinoa, mikĂ€ vei 19â20 sekuntia, kun haulle oli varattu 10. Varakeino siis onnistui joka kerta mutta liian myöhÀÀn. Nyt suora yhteys kokeillaan heti ensimmĂ€isen epĂ€onnistuneen vĂ€lityspalvelimen jĂ€lkeen. Mitattu: kaikki viisi testisivua saatiin 6â7 sekunnissa eikĂ€ yksikÀÀn ylittĂ€nyt aikarajaa. Hakukoneiden reititys ei muuttunut, koska ne tarvitsevat vĂ€lityspalvelinta.
- đ Haettu kaupunki pitÀÀ myös silloin kun ensisijainen lĂ€hde pettÀÀ. Kun maan oma yritysrekisteri hidastui, ohjelma tĂ€ydensi tuloksen varalĂ€hteestĂ€ joka ei rajannut aluetta. Mitattu: Bangalorea haettaessa listalle tuli Gurugramin, Chennain, Punen ja Hyderabadin yrityksiĂ€, eikĂ€ mikÀÀn kertonut siitĂ€. Nyt haettua aluetta ei voi ohittaa: vÀÀrĂ€n kaupungin yritykset poistetaan tuloksesta, ja jos osumia ei jÀÀ yhtÀÀn, tulos on tyhjĂ€ eikĂ€ vÀÀrĂ€. Maat joiden rekisterissĂ€ ei ole kaupunkitietoa lainkaan toimivat ennallaan, koska niissĂ€ mitÀÀn ei voi todeta vÀÀrĂ€ksi.
- âïž Yrityksen omat sĂ€hköpostiosoitteet eivĂ€t enÀÀ katoa kortilta. Jos yritys kĂ€yttÀÀ osoitetta toisella pÀÀtteellĂ€ kuin verkkosivunsa, kuten .dk-osoitetta .com-sivuston rinnalla, osoite tulkittiin toisen yrityksen osoitteeksi ja piilotettiin. Mitattu omasta aineistosta: 521 tĂ€llaista osoitetta oli yrityksen omia. LisĂ€ksi 48 osoitetta hylĂ€ttiin siksi, ettĂ€ niihin oli jÀÀnyt sivulta poimittaessa ylimÀÀrĂ€isiĂ€ merkkejĂ€. Molemmat korjattu. Toisen yrityksen osoitteiden torjunta toimii ennallaan.
đŹđ§ English
- đ Company websites are now fetched three times faster and actually get through. Collecting contact details from a company's own site succeeded for only 18 percent of companies, and the rest were recorded as timeouts. The pages were not unreachable: the same pages opened on a direct fetch in 11 out of 12 cases. The problem was ordering. The program tried several proxies first and the slowest fallback last, which took 19â20 seconds when the fetch was allowed 10. The fallback therefore succeeded every time, but too late. A direct connection is now tried immediately after the first failed proxy. Measured: all five test pages arrived in 6â7 seconds and none exceeded the time limit. Search engine routing is unchanged, because engines do need proxies.
- đ The requested city holds even when the primary source fails. When a country's own company register slowed down, the program filled the result from a fallback source that did not restrict the area. Measured: a search for Bangalore returned companies from Gurugram, Chennai, Pune and Hyderabad, and nothing indicated it. The requested area can no longer be bypassed: companies from the wrong city are removed, and if no matches remain the result is empty rather than wrong. Countries whose register carries no city data at all are unaffected, because nothing there can be shown to be wrong.
- âïž A company's own email addresses no longer disappear from the card. If a company used an address on a different domain ending than its website, such as a .dk address alongside a .com site, the address was treated as another company's and hidden. Measured on our own data: 521 such addresses belonged to the company itself. A further 48 were rejected because stray characters had been left in them during extraction. Both fixed. Rejection of other companies' addresses is unchanged.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Haku kĂ€yttÀÀ nyt 17 hakukonetta yhdeksĂ€n sijaan. Ohjelmassa on ollut kaikki hakukoneet valmiina, mutta suurinta osaa ei ollut kytketty hakuun lainkaan: seitsemĂ€n hakukonetta ei ajanut kertaakaan, ja yksi oli varalla vain siltĂ€ varalta ettĂ€ kaksi muuta lakkaa toimimasta. KĂ€ytĂ€nnössĂ€ neljĂ€ hakukonetta kantoi koko haun. Mitattu: kytkemĂ€ttömistĂ€ paras tuottaa 10 tulosta kyselyĂ€ kohden ja 90 prosenttia niistĂ€ on kotimaisia, mikĂ€ on parempi osuvuus kuin yhdellĂ€kÀÀn aiemmin kĂ€ytössĂ€ olleella. Nyt kaikki ajavat rinnakkain joka maassa, eikĂ€ haku hidastu, koska ne tehdÀÀn samanaikaisesti. Hakukoneet jotka eivĂ€t tuota tuloksia pudotetaan mittauksen perusteella kesken haun, ja karsinta pysĂ€htyy aina ennen kuin toimivia jĂ€isi alle kahden. Maakohtainen jĂ€rjestys ei muuttunut, joten yksikÀÀn toimiva maa ei muutu.
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Searches now use 17 search engines instead of nine. All the search engines have been present in the program, but most were never connected to the search: seven never ran at all, and one was held in reserve only in case two others stopped working. In practice four engines carried the whole search. Measured: the best of the unconnected ones returns 10 results per query with 90 percent of them domestic, better relevance than any engine previously in use. They now all run in parallel in every country, and the search does not slow down because they run at the same time. Engines that return nothing are dropped during the search based on measurement, and the pruning always stops before fewer than two working engines would remain. Per-country ordering did not change, so no working country changes.
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.862
2026-08-081.0.862 - 2026-08-08 - "⥠Haku on nopeampi, yhteystiedot löytyvÀt ja listan luokat pitÀvÀt paikkansa"
đ«đź Suomi
- ⥠Haku ei enÀÀ jumita kymmentÀ minuuttia per ajo. Yritykselle varattu kÀsittelyaika valittiin ennen kuin sen verkkotunnus oli selvitetty, joten rekisteristÀ löytyneet kotimaiset yritykset saivat lyhyen aikarajan vaikka ne tarvitsevat pitkÀn. Mitattu oikeasta hausta: kymmenen yritystÀ keskeytyi aikarajaan, ja jokainen oli oikea kotimainen toimisto jonka verkkotunnus oli löytynyt. Muut yritykset kÀsiteltiin keskimÀÀrin 8,5 sekunnissa, joten nÀmÀ kymmenen veivÀt yhtÀ paljon aikaa kuin seitsemÀnkymmentÀ muuta. Aikaraja mÀÀrÀytyy nyt haun maan mukaan silloin kun verkkotunnusta ei vielÀ ole.
- đ Yhteystietojen haku yritysten sivuilta toimii taas. Sivujen nouto onnistui mitatusti vain 10 prosentissa yrityksistĂ€. Syy ei ollut aikaraja vaan se, ettĂ€ tĂ€mĂ€ yksi haku kĂ€ytti eri tekniikkaa kuin muu ohjelma. Mitattu samoilla sivuilla: vanha tapa ei saanut yhteyttĂ€ yhteenkÀÀn kahdeksasta yrityksen etusivusta, ja ohjelman muualla kĂ€yttĂ€mĂ€ tapa sai seitsemĂ€n kahdeksasta tĂ€ydellĂ€ sisĂ€llöllĂ€. Yhteystietojen haku kĂ€yttÀÀ nyt samaa tekniikkaa kuin muu ohjelma.
- đ Startpage-haku toimii taas ja tuo kotimaisia yrityksiĂ€. Kyseinen hakukone ei ollut estĂ€nyt ohjelmaa vaan esitti sille laskutehtĂ€vĂ€n, jota ohjelma ei osannut ratkaista, joten tulokseksi tuli aina nolla. Ohjelma ratkaisee tehtĂ€vĂ€n nyt itse noin puolessa sekunnissa, ilman erillisiĂ€ palveluita. Mitattu: kymmenen tulosta kyselyĂ€ kohden ja niistĂ€ 90 prosenttia kotimaisia, mikĂ€ on paras osuvuus kĂ€ytössĂ€ olevista hakukoneista.
- đïž Listan luokat vastaavat nyt niiden vieressĂ€ nĂ€kyvÀÀ pistemÀÀrÀÀ. Listalla saattoi lukea esimerkiksi kylmĂ€ ja pistemÀÀrĂ€ 100 samalla rivillĂ€, koska luokka ja pistemÀÀrĂ€ pĂ€ivittyivĂ€t eri kohdista. Yritys joka oli noussut parhaaseen luokkaan nĂ€kyi listalla yhĂ€ kylmĂ€nĂ€. Luokka johdetaan nyt samasta pistemÀÀrĂ€stĂ€ joka rivillĂ€ nĂ€ytetÀÀn, kaikissa pĂ€ivitystilanteissa.
đŹđ§ English
- ⥠Searches no longer stall for ten minutes per run. The processing time allowed for a company was chosen before its website address had been resolved, so domestic companies found in the register received a short limit even though they need a long one. Measured on a real search: ten companies hit the time limit, and every one was a genuine domestic agency whose website had been found. Other companies were processed in 8.5 seconds on average, so those ten took as long as seventy others. The limit is now based on the country of the search when no website address is known yet.
- đ Collecting contact details from company websites works again. Page fetching succeeded for only 10 percent of companies. The cause was not the time limit but that this one fetch used a different technique than the rest of the program. Measured on the same pages: the old method could not connect to a single one of eight company front pages, while the method used elsewhere in the program retrieved seven of eight with full content. Contact fetching now uses the same technique as the rest of the program.
- đ The Startpage engine works again and returns domestic companies. That engine had not blocked the program; it presented a computational puzzle the program could not solve, so the result was always zero. The program now solves it itself in about half a second, with no external services. Measured: ten results per query with 90 percent domestic, the best relevance of the engines in use.
- đïž List classes now match the score shown next to them. A row could read cold with a score of 100, because the class and the score were updated from different places. A company that had risen to the top class still appeared cold on the list. The class is now derived from the same score that is shown on the row, in every update path.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Yritysten kotisivut haetaan nyt kolme kertaa nopeammin ja ne saadaan lĂ€pi. Yhteystietojen haku yrityksen omilta sivuilta onnistui mitatusti vain 18 prosentissa yrityksistĂ€, ja loput kirjautuivat aikakatkaisuiksi. Sivut eivĂ€t kuitenkaan olleet saavuttamattomia: samat sivut avautuivat suoraan haettuna 11 kertaa 12:sta. Vika oli jĂ€rjestyksessĂ€. Ohjelma yritti ensin useaa vĂ€lityspalvelinta ja vasta viimeisenĂ€ hitainta varakeinoa, mikĂ€ vei 19â20 sekuntia, kun haulle oli varattu 10. Varakeino siis onnistui joka kerta mutta liian myöhÀÀn. Nyt suora yhteys kokeillaan heti ensimmĂ€isen epĂ€onnistuneen vĂ€lityspalvelimen jĂ€lkeen. Mitattu: kaikki viisi testisivua saatiin 6â7 sekunnissa eikĂ€ yksikÀÀn ylittĂ€nyt aikarajaa. Hakukoneiden reititys ei muuttunut, koska ne tarvitsevat vĂ€lityspalvelinta.
- đ Haettu kaupunki pitÀÀ myös silloin kun ensisijainen lĂ€hde pettÀÀ. Kun maan oma yritysrekisteri hidastui, ohjelma tĂ€ydensi tuloksen varalĂ€hteestĂ€ joka ei rajannut aluetta. Mitattu: Bangalorea haettaessa listalle tuli Gurugramin, Chennain, Punen ja Hyderabadin yrityksiĂ€, eikĂ€ mikÀÀn kertonut siitĂ€. Nyt haettua aluetta ei voi ohittaa: vÀÀrĂ€n kaupungin yritykset poistetaan tuloksesta, ja jos osumia ei jÀÀ yhtÀÀn, tulos on tyhjĂ€ eikĂ€ vÀÀrĂ€. Maat joiden rekisterissĂ€ ei ole kaupunkitietoa lainkaan toimivat ennallaan, koska niissĂ€ mitÀÀn ei voi todeta vÀÀrĂ€ksi.
- âïž Yrityksen omat sĂ€hköpostiosoitteet eivĂ€t enÀÀ katoa kortilta. Jos yritys kĂ€yttÀÀ osoitetta toisella pÀÀtteellĂ€ kuin verkkosivunsa, kuten .dk-osoitetta .com-sivuston rinnalla, osoite tulkittiin toisen yrityksen osoitteeksi ja piilotettiin. Mitattu omasta aineistosta: 521 tĂ€llaista osoitetta oli yrityksen omia. LisĂ€ksi 48 osoitetta hylĂ€ttiin siksi, ettĂ€ niihin oli jÀÀnyt sivulta poimittaessa ylimÀÀrĂ€isiĂ€ merkkejĂ€. Molemmat korjattu. Toisen yrityksen osoitteiden torjunta toimii ennallaan.
đŹđ§ English
- đ Company websites are now fetched three times faster and actually get through. Collecting contact details from a company's own site succeeded for only 18 percent of companies, and the rest were recorded as timeouts. The pages were not unreachable: the same pages opened on a direct fetch in 11 out of 12 cases. The problem was ordering. The program tried several proxies first and the slowest fallback last, which took 19â20 seconds when the fetch was allowed 10. The fallback therefore succeeded every time, but too late. A direct connection is now tried immediately after the first failed proxy. Measured: all five test pages arrived in 6â7 seconds and none exceeded the time limit. Search engine routing is unchanged, because engines do need proxies.
- đ The requested city holds even when the primary source fails. When a country's own company register slowed down, the program filled the result from a fallback source that did not restrict the area. Measured: a search for Bangalore returned companies from Gurugram, Chennai, Pune and Hyderabad, and nothing indicated it. The requested area can no longer be bypassed: companies from the wrong city are removed, and if no matches remain the result is empty rather than wrong. Countries whose register carries no city data at all are unaffected, because nothing there can be shown to be wrong.
- âïž A company's own email addresses no longer disappear from the card. If a company used an address on a different domain ending than its website, such as a .dk address alongside a .com site, the address was treated as another company's and hidden. Measured on our own data: 521 such addresses belonged to the company itself. A further 48 were rejected because stray characters had been left in them during extraction. Both fixed. Rejection of other companies' addresses is unchanged.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Haku kĂ€yttÀÀ nyt 17 hakukonetta yhdeksĂ€n sijaan. Ohjelmassa on ollut kaikki hakukoneet valmiina, mutta suurinta osaa ei ollut kytketty hakuun lainkaan: seitsemĂ€n hakukonetta ei ajanut kertaakaan, ja yksi oli varalla vain siltĂ€ varalta ettĂ€ kaksi muuta lakkaa toimimasta. KĂ€ytĂ€nnössĂ€ neljĂ€ hakukonetta kantoi koko haun. Mitattu: kytkemĂ€ttömistĂ€ paras tuottaa 10 tulosta kyselyĂ€ kohden ja 90 prosenttia niistĂ€ on kotimaisia, mikĂ€ on parempi osuvuus kuin yhdellĂ€kÀÀn aiemmin kĂ€ytössĂ€ olleella. Nyt kaikki ajavat rinnakkain joka maassa, eikĂ€ haku hidastu, koska ne tehdÀÀn samanaikaisesti. Hakukoneet jotka eivĂ€t tuota tuloksia pudotetaan mittauksen perusteella kesken haun, ja karsinta pysĂ€htyy aina ennen kuin toimivia jĂ€isi alle kahden. Maakohtainen jĂ€rjestys ei muuttunut, joten yksikÀÀn toimiva maa ei muutu.
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Searches now use 17 search engines instead of nine. All the search engines have been present in the program, but most were never connected to the search: seven never ran at all, and one was held in reserve only in case two others stopped working. In practice four engines carried the whole search. Measured: the best of the unconnected ones returns 10 results per query with 90 percent of them domestic, better relevance than any engine previously in use. They now all run in parallel in every country, and the search does not slow down because they run at the same time. Engines that return nothing are dropped during the search based on measurement, and the pruning always stops before fewer than two working engines would remain. Per-country ordering did not change, so no working country changes.
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.861
2026-08-081.0.861 - 2026-08-08 - "đ Yritysten kotisivut haetaan taas lĂ€pi, ja haettu alue pitÀÀ"
đ«đź Suomi
- đ Yritysten kotisivut haetaan nyt kolme kertaa nopeammin ja ne saadaan lĂ€pi. Yhteystietojen haku yrityksen omilta sivuilta onnistui mitatusti vain 18 prosentissa yrityksistĂ€, ja loput kirjautuivat aikakatkaisuiksi. Sivut eivĂ€t kuitenkaan olleet saavuttamattomia: samat sivut avautuivat suoraan haettuna 11 kertaa 12:sta. Vika oli jĂ€rjestyksessĂ€. Ohjelma yritti ensin useaa vĂ€lityspalvelinta ja vasta viimeisenĂ€ hitainta varakeinoa, mikĂ€ vei 19â20 sekuntia, kun haulle oli varattu 10. Varakeino siis onnistui joka kerta mutta liian myöhÀÀn. Nyt suora yhteys kokeillaan heti ensimmĂ€isen epĂ€onnistuneen vĂ€lityspalvelimen jĂ€lkeen. Mitattu: kaikki viisi testisivua saatiin 6â7 sekunnissa eikĂ€ yksikÀÀn ylittĂ€nyt aikarajaa. Hakukoneiden reititys ei muuttunut, koska ne tarvitsevat vĂ€lityspalvelinta.
- đ Haettu kaupunki pitÀÀ myös silloin kun ensisijainen lĂ€hde pettÀÀ. Kun maan oma yritysrekisteri hidastui, ohjelma tĂ€ydensi tuloksen varalĂ€hteestĂ€ joka ei rajannut aluetta. Mitattu: Bangalorea haettaessa listalle tuli Gurugramin, Chennain, Punen ja Hyderabadin yrityksiĂ€, eikĂ€ mikÀÀn kertonut siitĂ€. Nyt haettua aluetta ei voi ohittaa: vÀÀrĂ€n kaupungin yritykset poistetaan tuloksesta, ja jos osumia ei jÀÀ yhtÀÀn, tulos on tyhjĂ€ eikĂ€ vÀÀrĂ€. Maat joiden rekisterissĂ€ ei ole kaupunkitietoa lainkaan toimivat ennallaan, koska niissĂ€ mitÀÀn ei voi todeta vÀÀrĂ€ksi.
- âïž Yrityksen omat sĂ€hköpostiosoitteet eivĂ€t enÀÀ katoa kortilta. Jos yritys kĂ€yttÀÀ osoitetta toisella pÀÀtteellĂ€ kuin verkkosivunsa, kuten .dk-osoitetta .com-sivuston rinnalla, osoite tulkittiin toisen yrityksen osoitteeksi ja piilotettiin. Mitattu omasta aineistosta: 521 tĂ€llaista osoitetta oli yrityksen omia. LisĂ€ksi 48 osoitetta hylĂ€ttiin siksi, ettĂ€ niihin oli jÀÀnyt sivulta poimittaessa ylimÀÀrĂ€isiĂ€ merkkejĂ€. Molemmat korjattu. Toisen yrityksen osoitteiden torjunta toimii ennallaan.
đŹđ§ English
- đ Company websites are now fetched three times faster and actually get through. Collecting contact details from a company's own site succeeded for only 18 percent of companies, and the rest were recorded as timeouts. The pages were not unreachable: the same pages opened on a direct fetch in 11 out of 12 cases. The problem was ordering. The program tried several proxies first and the slowest fallback last, which took 19â20 seconds when the fetch was allowed 10. The fallback therefore succeeded every time, but too late. A direct connection is now tried immediately after the first failed proxy. Measured: all five test pages arrived in 6â7 seconds and none exceeded the time limit. Search engine routing is unchanged, because engines do need proxies.
- đ The requested city holds even when the primary source fails. When a country's own company register slowed down, the program filled the result from a fallback source that did not restrict the area. Measured: a search for Bangalore returned companies from Gurugram, Chennai, Pune and Hyderabad, and nothing indicated it. The requested area can no longer be bypassed: companies from the wrong city are removed, and if no matches remain the result is empty rather than wrong. Countries whose register carries no city data at all are unaffected, because nothing there can be shown to be wrong.
- âïž A company's own email addresses no longer disappear from the card. If a company used an address on a different domain ending than its website, such as a .dk address alongside a .com site, the address was treated as another company's and hidden. Measured on our own data: 521 such addresses belonged to the company itself. A further 48 were rejected because stray characters had been left in them during extraction. Both fixed. Rejection of other companies' addresses is unchanged.
đ«đź Aiemmat tĂ€mĂ€n pĂ€ivĂ€n korjaukset
- đ Haku kĂ€yttÀÀ nyt 17 hakukonetta yhdeksĂ€n sijaan. Ohjelmassa on ollut kaikki hakukoneet valmiina, mutta suurinta osaa ei ollut kytketty hakuun lainkaan: seitsemĂ€n hakukonetta ei ajanut kertaakaan, ja yksi oli varalla vain siltĂ€ varalta ettĂ€ kaksi muuta lakkaa toimimasta. KĂ€ytĂ€nnössĂ€ neljĂ€ hakukonetta kantoi koko haun. Mitattu: kytkemĂ€ttömistĂ€ paras tuottaa 10 tulosta kyselyĂ€ kohden ja 90 prosenttia niistĂ€ on kotimaisia, mikĂ€ on parempi osuvuus kuin yhdellĂ€kÀÀn aiemmin kĂ€ytössĂ€ olleella. Nyt kaikki ajavat rinnakkain joka maassa, eikĂ€ haku hidastu, koska ne tehdÀÀn samanaikaisesti. Hakukoneet jotka eivĂ€t tuota tuloksia pudotetaan mittauksen perusteella kesken haun, ja karsinta pysĂ€htyy aina ennen kuin toimivia jĂ€isi alle kahden. Maakohtainen jĂ€rjestys ei muuttunut, joten yksikÀÀn toimiva maa ei muutu.
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Searches now use 17 search engines instead of nine. All the search engines have been present in the program, but most were never connected to the search: seven never ran at all, and one was held in reserve only in case two others stopped working. In practice four engines carried the whole search. Measured: the best of the unconnected ones returns 10 results per query with 90 percent of them domestic, better relevance than any engine previously in use. They now all run in parallel in every country, and the search does not slow down because they run at the same time. Engines that return nothing are dropped during the search based on measurement, and the pruning always stops before fewer than two working engines would remain. Per-country ordering did not change, so no working country changes.
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.860
2026-08-081.0.860 - 2026-08-08 - "đ Yrityksen nimi tulee rekisteristĂ€, ja vanha tietokanta korjataan pĂ€ivityksessĂ€"
đ«đź Suomi
- đ Haku kĂ€yttÀÀ nyt 17 hakukonetta yhdeksĂ€n sijaan. Ohjelmassa on ollut kaikki hakukoneet valmiina, mutta suurinta osaa ei ollut kytketty hakuun lainkaan: seitsemĂ€n hakukonetta ei ajanut kertaakaan, ja yksi oli varalla vain siltĂ€ varalta ettĂ€ kaksi muuta lakkaa toimimasta. KĂ€ytĂ€nnössĂ€ neljĂ€ hakukonetta kantoi koko haun. Mitattu: kytkemĂ€ttömistĂ€ paras tuottaa 10 tulosta kyselyĂ€ kohden ja 90 prosenttia niistĂ€ on kotimaisia, mikĂ€ on parempi osuvuus kuin yhdellĂ€kÀÀn aiemmin kĂ€ytössĂ€ olleella. Nyt kaikki ajavat rinnakkain joka maassa, eikĂ€ haku hidastu, koska ne tehdÀÀn samanaikaisesti. Hakukoneet jotka eivĂ€t tuota tuloksia pudotetaan mittauksen perusteella kesken haun, ja karsinta pysĂ€htyy aina ennen kuin toimivia jĂ€isi alle kahden. Maakohtainen jĂ€rjestys ei muuttunut, joten yksikÀÀn toimiva maa ei muutu.
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Searches now use 17 search engines instead of nine. All the search engines have been present in the program, but most were never connected to the search: seven never ran at all, and one was held in reserve only in case two others stopped working. In practice four engines carried the whole search. Measured: the best of the unconnected ones returns 10 results per query with 90 percent of them domestic, better relevance than any engine previously in use. They now all run in parallel in every country, and the search does not slow down because they run at the same time. Engines that return nothing are dropped during the search based on measurement, and the pruning always stops before fewer than two working engines would remain. Per-country ordering did not change, so no working country changes.
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.859
2026-08-081.0.859 - 2026-08-08 - "đ Yrityksen nimi tulee rekisteristĂ€, ja vanha tietokanta korjataan pĂ€ivityksessĂ€"
đ«đź Suomi
- đ Yrityksen nimi haetaan nyt virallisesta rekisteristĂ€. Kun yrityksellĂ€ on yritystunnus, rekisteri tietÀÀ sen nimen, mutta ohjelma ei kysynyt sitĂ€: kortilla luki verkkotunnuksesta pÀÀtelty nimi. Mitattu oikeasta hausta: 7 yritystĂ€ 38:sta oli tĂ€ssĂ€ tilassa, ja rekisteri tiesi oikean nimen jokaisesta. YhdessĂ€ tapauksessa kortilla luki "Scsoftware" kun yritys on "SC Software Oy", eli myyjĂ€ sanoi puhelimessa nimen jota ei ole olemassa. Nimi korjataan nyt viralliseen muotoon. Yrityksen oma tunnettu nimi sĂ€ilyy: jos rekisterin nimi on kokonaan eri kuin se millĂ€ yritys toimii, tunnettu nimi jÀÀ kortille ja virallinen nimi tallennetaan erikseen.
- đïž Liidin luokka vastaa nyt sen pistemÀÀrÀÀ. Luokkaa (kuuma, lĂ€mmin, kylmĂ€) asetettiin kolmessa eri kohdassa kolmella eri asteikolla, ja kaksi niistĂ€ pystyi vain nostamaan luokkaa, ei koskaan laskemaan. Seurauksena luokka oli korkein haun aikana saavutettu arvo eikĂ€ arvio yrityksestĂ€. Mitattu: sama pistemÀÀrĂ€ 15 tuotti samassa haussa kolme eri luokkaa, ja yksi yritys oli merkitty kuumaksi pistemÀÀrĂ€llĂ€ joka on kuuman rajan alapuolella. Luokka johdetaan nyt lopullisesta pistemÀÀrĂ€stĂ€ yhdessĂ€ paikassa. Osa yrityksistĂ€ nousee luokassa, osa laskee, ja jĂ€rjestys on jatkossa sama kuin pistemÀÀrĂ€.
- đ§Œ PĂ€ivitys korjaa myös jo tallennetut yritykset. Aiemmat korjaukset estivĂ€t uuden virheellisen tiedon syntymisen, mutta tietokannassa jo oleva tieto jĂ€i ennalleen. PĂ€ivitys kĂ€y kannan lĂ€pi kerran: luokat korjataan vastaamaan pistemÀÀrÀÀ, toiselle yritykselle kuuluvat sĂ€hköpostiosoitteet poistetaan ja perusteettomat rekrytointimerkinnĂ€t nollataan. Mitattu omasta aineistosta: 7 879 yrityksen luokka, 366 vÀÀrÀÀ osoitetta ja 51 perusteetonta merkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta, muutokset koskevat vain kohdennettuja kenttiĂ€, ja tietokannasta otetaan varmuuskopio ennen ensimmĂ€istĂ€ muutosta. Siivous tehdÀÀn taustalla, joten ohjelman kĂ€ynnistys ei hidastu.
đŹđ§ English
- đ Company names now come from the official register. When a company has a business ID, the register knows its name, but the program never asked: the card showed a name inferred from the domain. Measured on a real search: 7 companies out of 38 were in this state, and the register knew the correct name for every one. In one case the card read "Scsoftware" while the company is "SC Software Oy", so a salesperson said a name that does not exist. The name is now corrected to its official form. A company's own known name is preserved: if the register name is entirely different from the name the company trades under, the known name stays on the card and the official name is stored separately.
- đïž A lead's class now matches its score. The class (hot, warm, cold) was set in three different places on three different scales, and two of them could only raise it, never lower it. As a result the class was the highest value reached during the search rather than an assessment of the company. Measured: the same score of 15 produced three different classes in one search, and one company was marked hot with a score below the hot threshold. The class is now derived from the final score in one place. Some companies move up, some move down, and the ordering now matches the score.
- đ§Œ The update also repairs companies already stored. Earlier fixes prevented new incorrect data from being created, but data already in the database stayed as it was. The update goes through the database once: classes are corrected to match scores, email addresses belonging to a different company are removed and unsupported hiring marks are cleared. Measured on our own data: 7,879 company classes, 366 wrong addresses and 51 unsupported marks. No company is ever removed, only targeted fields change, and a backup of the database is taken before the first change. The cleanup runs in the background, so startup is not slowed down.
1.0.858
2026-08-071.0.858 - 2026-08-07 - "đĄïž Liidikortti ei enÀÀ esitĂ€ vĂ€itteitĂ€ joilla ei ole katetta"
đ«đź Suomi
- đĄïž Jokainen liidikortti tarkistetaan nyt yhdessĂ€ paikassa ennen kuin se nĂ€ytetÀÀn. VÀÀrÀÀ tietoa on aiemmin torjuttu yksi kenttĂ€ ja yksi reitti kerrallaan, aina vasta sen jĂ€lkeen kun asiakas oli sen huomannut. MikÀÀn ei kysynyt kortin kokoamishetkellĂ€ yhtĂ€ kysymystĂ€: onko jokaiselle vĂ€itteelle todiste, ja kuuluuko se todiste juuri tĂ€lle yritykselle. Nyt kysytÀÀn, ja sama tarkistus koskee kaikkia 90 maata riippumatta siitĂ€ mitĂ€ kautta yritys löytyi. Mitattu 13 048 yrityksen aineistosta: tarkistus poistaa 790 sĂ€hköpostiosoitetta jotka kuuluvat toiselle yritykselle sekĂ€ 14 perusteetonta rekrytointimerkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta listalta, vain vĂ€itteitĂ€ joilla ei ole katetta.
- â Verkkotunnuksesta pÀÀteltyĂ€ yrityksen nimeĂ€ ei enÀÀ esitetĂ€ varmana. Kun virallista rekisterivahvistusta ei ole, nimi on pÀÀtelty verkkotunnuksesta. Mitattu: nĂ€in oli 47,8 prosentilla aineistosta, ja maissa joissa rekisteriĂ€ ei ole kĂ€ytettĂ€vissĂ€ osuus on selvĂ€sti suurempi. Nimi nĂ€kyy kortilla kuten ennenkin, koska se on paras kĂ€ytettĂ€vissĂ€ oleva tieto, mutta sen vieressĂ€ lukee nyt ettĂ€ sitĂ€ ei ole varmistettu. Rekisterin vahvistama nimi nĂ€kyy ilman merkintÀÀ.
- đ Liikevaihtoa ei esitetĂ€ virallisena lukuna ilman lĂ€hdettĂ€. Luku nĂ€kyy edelleen, mutta merkittynĂ€. RekisteristĂ€ tai muusta lĂ€hteestĂ€ saadut luvut nĂ€kyvĂ€t ennallaan.
- đ Tarkistuksesta jÀÀ jĂ€lki. Kortti tallentaa mikĂ€ vĂ€ite jĂ€i todistamatta ja miksi, ja ohjelma kirjaa lokiin yhteenvedon torjutuista vĂ€itteistĂ€. Jos jokin uusi reitti alkaa vuotaa vÀÀrÀÀ tietoa, se nĂ€kyy heti eikĂ€ vasta asiakkaan soitosta.
đŹđ§ English
- đĄïž Every lead card is now checked in one place before it is shown. Wrong data used to be blocked one field and one route at a time, always after a customer had already seen it. Nothing asked the single question at the moment the card was assembled: does every claim have evidence, and does that evidence belong to this company. It is asked now, and the same check applies to all 90 countries regardless of how the company was found. Measured on 13,048 companies: the check removes 790 email addresses that belong to a different company and 14 unsupported hiring claims. No company is ever removed from your list, only claims that are not backed up.
- â A company name inferred from the domain is no longer presented as certain. Without official register confirmation, the name has been derived from the domain. Measured: this was the case for 47.8 percent of the data, and the share is clearly higher in countries where no register feed is available. The name still appears on the card because it is the best information available, but it now says next to it that it is unverified. A register-confirmed name appears without the mark.
- đ Revenue is not presented as an official figure without a source. The figure still appears, but marked. Figures from a register or another source are unchanged.
- đ The check leaves a trail. The card records which claim was left unproven and why, and the program logs a summary of rejected claims. If a new route starts leaking wrong data, it shows up immediately instead of on a customer call.
1.0.857
2026-08-071.0.857 - 2026-08-07 - "đĄïž Liidikortti ei enÀÀ esitĂ€ vĂ€itteitĂ€ joilla ei ole katetta"
đ«đź Suomi
- đĄïž Jokainen liidikortti tarkistetaan nyt yhdessĂ€ paikassa ennen kuin se nĂ€ytetÀÀn. VÀÀrÀÀ tietoa on aiemmin torjuttu yksi kenttĂ€ ja yksi reitti kerrallaan, aina vasta sen jĂ€lkeen kun asiakas oli sen huomannut. MikÀÀn ei kysynyt kortin kokoamishetkellĂ€ yhtĂ€ kysymystĂ€: onko jokaiselle vĂ€itteelle todiste, ja kuuluuko se todiste juuri tĂ€lle yritykselle. Nyt kysytÀÀn, ja sama tarkistus koskee kaikkia 90 maata riippumatta siitĂ€ mitĂ€ kautta yritys löytyi. Mitattu 13 048 yrityksen aineistosta: tarkistus poistaa 790 sĂ€hköpostiosoitetta jotka kuuluvat toiselle yritykselle sekĂ€ 14 perusteetonta rekrytointimerkintÀÀ. YhtÀÀn yritystĂ€ ei poisteta listalta, vain vĂ€itteitĂ€ joilla ei ole katetta.
- â Verkkotunnuksesta pÀÀteltyĂ€ yrityksen nimeĂ€ ei enÀÀ esitetĂ€ varmana. Kun virallista rekisterivahvistusta ei ole, nimi on pÀÀtelty verkkotunnuksesta. Mitattu: nĂ€in oli 47,8 prosentilla aineistosta, ja maissa joissa rekisteriĂ€ ei ole kĂ€ytettĂ€vissĂ€ osuus on selvĂ€sti suurempi. Nimi nĂ€kyy kortilla kuten ennenkin, koska se on paras kĂ€ytettĂ€vissĂ€ oleva tieto, mutta sen vieressĂ€ lukee nyt ettĂ€ sitĂ€ ei ole varmistettu. Rekisterin vahvistama nimi nĂ€kyy ilman merkintÀÀ.
- đ Liikevaihtoa ei esitetĂ€ virallisena lukuna ilman lĂ€hdettĂ€. Luku nĂ€kyy edelleen, mutta merkittynĂ€. RekisteristĂ€ tai muusta lĂ€hteestĂ€ saadut luvut nĂ€kyvĂ€t ennallaan.
- đ Tarkistuksesta jÀÀ jĂ€lki. Kortti tallentaa mikĂ€ vĂ€ite jĂ€i todistamatta ja miksi, ja ohjelma kirjaa lokiin yhteenvedon torjutuista vĂ€itteistĂ€. Jos jokin uusi reitti alkaa vuotaa vÀÀrÀÀ tietoa, se nĂ€kyy heti eikĂ€ vasta asiakkaan soitosta.
đŹđ§ English
- đĄïž Every lead card is now checked in one place before it is shown. Wrong data used to be blocked one field and one route at a time, always after a customer had already seen it. Nothing asked the single question at the moment the card was assembled: does every claim have evidence, and does that evidence belong to this company. It is asked now, and the same check applies to all 90 countries regardless of how the company was found. Measured on 13,048 companies: the check removes 790 email addresses that belong to a different company and 14 unsupported hiring claims. No company is ever removed from your list, only claims that are not backed up.
- â A company name inferred from the domain is no longer presented as certain. Without official register confirmation, the name has been derived from the domain. Measured: this was the case for 47.8 percent of the data, and the share is clearly higher in countries where no register feed is available. The name still appears on the card because it is the best information available, but it now says next to it that it is unverified. A register-confirmed name appears without the mark.
- đ Revenue is not presented as an official figure without a source. The figure still appears, but marked. Figures from a register or another source are unchanged.
- đ The check leaves a trail. The card records which claim was left unproven and why, and the program logs a summary of rejected claims. If a new route starts leaking wrong data, it shows up immediately instead of on a customer call.
1.0.856
2026-08-071.0.856 - 2026-08-07 - "đŻ Löydetty yritys pÀÀtyy myös listalle, ja rikastus osuu oikeaan kotisivuun"
đ«đź Suomi
- đ Virallinen rekisteri saa korjata vÀÀrĂ€n kotisivun myös silloin kun vanha osoite ei vastaa. Yritys saattoi olla kiinnitetty verkkotunnukseen joka ei avaudu lainkaan, ja koska sivua ei saatu auki, ohjelma ei voinut todeta sitĂ€ vÀÀrĂ€ksi eikĂ€ siis korjannut mitÀÀn. Mitattu tapaus: yrityksen kortilla oli osoite joka vastaa vain estosivulla, kun rekisterissĂ€ oli koko ajan yrityksen oikea kotisivu, puhelin, sĂ€hköposti, toimiala ja seitsemĂ€n vuotta tilinpÀÀtöksiĂ€ saman yritystunnuksen takana. Nyt kotisivu korjataan rekisteristĂ€ myös tĂ€ssĂ€ tilanteessa, mutta vain tiukoin ehdoin: yrityksellĂ€ on oltava yritystunnus, rekisterin osoite haetaan sillĂ€ tunnuksella eikĂ€ nimellĂ€ arvaten, vanha osoite ei saa vastata kummallakaan hakutavalla, ja rekisterin osoitteen on itse vastattava. Jos yksikin ehto ei tĂ€yty, yrityksen oma osoite jÀÀ ennalleen. Yritykset joiden kotisivu avautuu normaalisti eivĂ€t muutu millÀÀn tavalla.
- đŻ Liidipankista löytyvĂ€ yritys nĂ€kyy nyt myös löytölistalla. Kun haku osui yritykseen joka oli jo liidipankissasi, tutkaan ilmestyi pallo mutta oikean laidan lista jĂ€i tyhjĂ€ksi, joten löytöÀ ei pÀÀssyt avaamaan mistÀÀn. Juurisyy: ohjelma merkitsi yrityksen "jo nĂ€ytetyksi" ennen kuin listarivi oli oikeasti luotu. Jos rivin luonti ohitettiin, seuraava tulos luuli riviĂ€ olemassa olevaksi ja yritti pĂ€ivittÀÀ riviĂ€ jota ei ollut. Nyt merkintĂ€ tehdÀÀn vasta onnistuneen lisĂ€yksen jĂ€lkeen, ja jos rivi puuttuu, se luodaan. Mukana on myös uusi vartija joka tarkistaa muutaman sekunnin vĂ€lein ettĂ€ jokaista tutkan palloa vastaa listarivi ja palauttaa puuttuvat. SÀÀntö "jo pankissa oleva yritys ei ole tĂ€mĂ€n haun uusi löytö" toimii ennallaan.
- đ żïž SyvĂ€rikastus ei enÀÀ lue myynnissĂ€ olevaa verkkotunnussivua yrityksen kotisivuna. Jos yritys oli aikanaan kiinnitetty verkkotunnuskauppapaikan myynti-ilmoitukseen, jokainen uusi syvĂ€rikastus luki saman myyntisivun ja poimi sieltĂ€ samat vÀÀrĂ€t yhteystiedot, joten kortti ei koskaan korjaantunut vaikka tiedot puhdistettiin. Ohjelma tunnistaa nyt myynti- ja parkkisivun ennen kuin se poimii mitÀÀn, hakee yrityksen oikean kotisivun virallisesta rekisteristĂ€ ja siirtÀÀ liidin sen alle myös liidipankissa. Jos oikeaa kotisivua ei löydy, yhteystietoja ei poimita myyntisivulta lainkaan: kortille tulee mieluummin tyhjĂ€ kuin vÀÀrĂ€. Yritykset joiden kotisivu on kunnossa rikastuvat tĂ€smĂ€lleen kuten ennen.
đŹđ§ English
- đ The official register may now correct a wrong website even when the old address does not respond. A company could be anchored to a domain that does not open at all, and because the page could not be fetched, the program could not prove it wrong and therefore corrected nothing. Measured case: a company card carried an address that only answers with a block page, while the register held the company's real website, phone, email, industry and seven years of financial statements behind the same company ID all along. The website is now corrected from the register in this situation too, but only under strict conditions: the company must have a company ID, the register row is looked up by that ID and never guessed from the name, the old address must fail on both fetch paths, and the register's address must itself respond. If any condition fails, the company's own address is left untouched. Companies whose website opens normally are not affected in any way.
- đŻ A company found in your lead bank now also appears in the discoveries list. When a search hit a company that was already in your lead bank, a dot appeared on the radar but the list on the right stayed empty, so there was no way to open the find. Root cause: the program marked the company as "already shown" before the list row had actually been created. If row creation was skipped, the next result assumed the row existed and tried to update a row that was not there. The mark is now made only after a successful insert, and a missing row is created. A new guard also checks every few seconds that every radar dot has a matching list row and restores any that are missing. The rule "a company already in the bank is not a new find for this search" is unchanged.
- đ żïž Deep enrichment no longer reads a domain-for-sale page as the company website. If a company had once been anchored to a domain marketplace listing, every new deep enrichment read that same sale page and collected the same wrong contacts, so the card never recovered even after the data was cleaned. The program now detects a parked or for-sale page before collecting anything, looks up the company's real website from the official register and moves the lead under it in the lead bank as well. If no real website can be found, no contacts are taken from the sale page at all: an empty card is better than a wrong one. Companies with a working website enrich exactly as before.
1.0.855
2026-08-071.0.855 - 2026-08-07 - "đŻ Löydetty yritys pÀÀtyy myös listalle, ja rikastus osuu oikeaan kotisivuun"
đ«đź Suomi
- đŻ Liidipankista löytyvĂ€ yritys nĂ€kyy nyt myös löytölistalla. Kun haku osui yritykseen joka oli jo liidipankissasi, tutkaan ilmestyi pallo mutta oikean laidan lista jĂ€i tyhjĂ€ksi, joten löytöÀ ei pÀÀssyt avaamaan mistÀÀn. Juurisyy: ohjelma merkitsi yrityksen "jo nĂ€ytetyksi" ennen kuin listarivi oli oikeasti luotu. Jos rivin luonti ohitettiin, seuraava tulos luuli riviĂ€ olemassa olevaksi ja yritti pĂ€ivittÀÀ riviĂ€ jota ei ollut. Nyt merkintĂ€ tehdÀÀn vasta onnistuneen lisĂ€yksen jĂ€lkeen, ja jos rivi puuttuu, se luodaan. Mukana on myös uusi vartija joka tarkistaa muutaman sekunnin vĂ€lein ettĂ€ jokaista tutkan palloa vastaa listarivi ja palauttaa puuttuvat. SÀÀntö "jo pankissa oleva yritys ei ole tĂ€mĂ€n haun uusi löytö" toimii ennallaan.
- đ żïž SyvĂ€rikastus ei enÀÀ lue myynnissĂ€ olevaa verkkotunnussivua yrityksen kotisivuna. Jos yritys oli aikanaan kiinnitetty verkkotunnuskauppapaikan myynti-ilmoitukseen, jokainen uusi syvĂ€rikastus luki saman myyntisivun ja poimi sieltĂ€ samat vÀÀrĂ€t yhteystiedot, joten kortti ei koskaan korjaantunut vaikka tiedot puhdistettiin. Ohjelma tunnistaa nyt myynti- ja parkkisivun ennen kuin se poimii mitÀÀn, hakee yrityksen oikean kotisivun virallisesta rekisteristĂ€ ja siirtÀÀ liidin sen alle myös liidipankissa. Jos oikeaa kotisivua ei löydy, yhteystietoja ei poimita myyntisivulta lainkaan: kortille tulee mieluummin tyhjĂ€ kuin vÀÀrĂ€. Yritykset joiden kotisivu on kunnossa rikastuvat tĂ€smĂ€lleen kuten ennen.
đŹđ§ English
- đŻ A company found in your lead bank now also appears in the discoveries list. When a search hit a company that was already in your lead bank, a dot appeared on the radar but the list on the right stayed empty, so there was no way to open the find. Root cause: the program marked the company as "already shown" before the list row had actually been created. If row creation was skipped, the next result assumed the row existed and tried to update a row that was not there. The mark is now made only after a successful insert, and a missing row is created. A new guard also checks every few seconds that every radar dot has a matching list row and restores any that are missing. The rule "a company already in the bank is not a new find for this search" is unchanged.
- đ żïž Deep enrichment no longer reads a domain-for-sale page as the company website. If a company had once been anchored to a domain marketplace listing, every new deep enrichment read that same sale page and collected the same wrong contacts, so the card never recovered even after the data was cleaned. The program now detects a parked or for-sale page before collecting anything, looks up the company's real website from the official register and moves the lead under it in the lead bank as well. If no real website can be found, no contacts are taken from the sale page at all: an empty card is better than a wrong one. Companies with a working website enrich exactly as before.
1.0.854
2026-08-071.0.854 - 2026-08-07 - "đŻ Löydetty yritys pÀÀtyy myös listalle, ja rikastus osuu oikeaan kotisivuun"
đ«đź Suomi
- đŻ Liidipankista löytyvĂ€ yritys nĂ€kyy nyt myös löytölistalla. Kun haku osui yritykseen joka oli jo liidipankissasi, tutkaan ilmestyi pallo mutta oikean laidan lista jĂ€i tyhjĂ€ksi, joten löytöÀ ei pÀÀssyt avaamaan mistÀÀn. Juurisyy: ohjelma merkitsi yrityksen "jo nĂ€ytetyksi" ennen kuin listarivi oli oikeasti luotu. Jos rivin luonti ohitettiin, seuraava tulos luuli riviĂ€ olemassa olevaksi ja yritti pĂ€ivittÀÀ riviĂ€ jota ei ollut. Nyt merkintĂ€ tehdÀÀn vasta onnistuneen lisĂ€yksen jĂ€lkeen, ja jos rivi puuttuu, se luodaan. Mukana on myös uusi vartija joka tarkistaa muutaman sekunnin vĂ€lein ettĂ€ jokaista tutkan palloa vastaa listarivi ja palauttaa puuttuvat. SÀÀntö "jo pankissa oleva yritys ei ole tĂ€mĂ€n haun uusi löytö" toimii ennallaan.
- đ żïž SyvĂ€rikastus ei enÀÀ lue myynnissĂ€ olevaa verkkotunnussivua yrityksen kotisivuna. Jos yritys oli aikanaan kiinnitetty verkkotunnuskauppapaikan myynti-ilmoitukseen, jokainen uusi syvĂ€rikastus luki saman myyntisivun ja poimi sieltĂ€ samat vÀÀrĂ€t yhteystiedot, joten kortti ei koskaan korjaantunut vaikka tiedot puhdistettiin. Ohjelma tunnistaa nyt myynti- ja parkkisivun ennen kuin se poimii mitÀÀn, hakee yrityksen oikean kotisivun virallisesta rekisteristĂ€ ja siirtÀÀ liidin sen alle myös liidipankissa. Jos oikeaa kotisivua ei löydy, yhteystietoja ei poimita myyntisivulta lainkaan: kortille tulee mieluummin tyhjĂ€ kuin vÀÀrĂ€. Yritykset joiden kotisivu on kunnossa rikastuvat tĂ€smĂ€lleen kuten ennen.
đŹđ§ English
- đŻ A company found in your lead bank now also appears in the discoveries list. When a search hit a company that was already in your lead bank, a dot appeared on the radar but the list on the right stayed empty, so there was no way to open the find. Root cause: the program marked the company as "already shown" before the list row had actually been created. If row creation was skipped, the next result assumed the row existed and tried to update a row that was not there. The mark is now made only after a successful insert, and a missing row is created. A new guard also checks every few seconds that every radar dot has a matching list row and restores any that are missing. The rule "a company already in the bank is not a new find for this search" is unchanged.
- đ żïž Deep enrichment no longer reads a domain-for-sale page as the company website. If a company had once been anchored to a domain marketplace listing, every new deep enrichment read that same sale page and collected the same wrong contacts, so the card never recovered even after the data was cleaned. The program now detects a parked or for-sale page before collecting anything, looks up the company's real website from the official register and moves the lead under it in the lead bank as well. If no real website can be found, no contacts are taken from the sale page at all: an empty card is better than a wrong one. Companies with a working website enrich exactly as before.
1.0.853
2026-08-071.0.853 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.852
2026-08-071.0.852 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.851
2026-08-071.0.851 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.850
2026-08-071.0.850 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.849
2026-08-071.0.849 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.848
2026-08-071.0.848 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.847
2026-08-071.0.847 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.846
2026-08-071.0.846 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.845
2026-08-061.0.845 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.844
2026-08-061.0.844 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.843
2026-08-061.0.843 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.842
2026-08-061.0.842 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.841
2026-08-061.0.841 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.840
2026-08-061.0.840 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.839
2026-08-061.0.839 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.838
2026-08-061.0.838 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.837
2026-08-061.0.837 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.836
2026-08-061.0.836 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.835
2026-08-061.0.835 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.834
2026-08-061.0.834 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.832
2026-08-051.0.832 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.831
2026-08-051.0.831 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.830
2026-08-051.0.830 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.829
2026-08-051.0.829 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.828
2026-08-051.0.828 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.827
2026-08-051.0.827 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.826
2026-08-051.0.826 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.813
2026-08-041.0.813 - 2026-08-04 - "đ§ Ohjelma pysyy kĂ€ytettĂ€vissĂ€ kesken haun"
đ«đź Suomi
- đ§ Ohjelma ei enÀÀ jumitu kun avaat ikkunan kesken haun. Kun haku oli kĂ€ynnissĂ€ ja avasi Tarve todettu -listan, ohjelma lakkasi vastaamasta ja Windows nĂ€ytti "ei vastaa" -ikkunan. Mitattu: haku syötti kĂ€yttöliittymÀÀn jopa 73 löydettyĂ€ yritystĂ€ sekunnissa, ja listaikkuna avattiin tavalla joka lukitsi pÀÀikkunan pysĂ€yttĂ€mĂ€ttĂ€ tuota virtaa. Tulokset piirrettiin lukitun ikkunan alle, kunnes Windows julisti ohjelman jumittuneeksi. Katseluikkunat avautuvat nyt lukitsematta pÀÀikkunaa: tutka jatkaa piirtoa, ohjelma pysyy kĂ€ytettĂ€vissĂ€ ja ikkunan voi sulkea normaalisti. Sama korjaus koskee myös pipeline-nĂ€kymÀÀ. Maksumuuri ja varmistuskysymykset toimivat ennallaan, koska ne odottavat vastaustasi.
- đ Kaikki yhteystietosivun puhelinnumerot poimitaan. Ohjelma otti sivulta enintÀÀn viisi numeroa ja lopetti siihen, sivun jĂ€rjestyksessĂ€. Mitattu yhteystietosivu jossa on 13 nimettyĂ€ numeroa: toimitusjohtaja oli sivulla seitsemĂ€ntenĂ€, joten hĂ€nen suora numeronsa jĂ€i kokonaan poimimatta ja kortti joutui nĂ€yttĂ€mÀÀn vaihteen. TĂ€stĂ€ syntyi myös se ettĂ€ toiminto tuntui toimivan vain vĂ€lillĂ€: se onnistui silloin kun pÀÀttĂ€jĂ€n numero sattui olemaan viiden ensimmĂ€isen joukossa. Roskanumeroiden torjunta hoituu jatkossakin tarkistuksilla, ei lukumÀÀrĂ€rajalla, ja jos raja joskus osuu, siitĂ€ jÀÀ merkintĂ€ lokiin.
đŹđ§ English
- đ§ The program no longer freezes when you open a window during a search. With a search running, opening the Need verified list made the program stop responding and Windows showed its "not responding" window. Measured: the search was feeding up to 73 found companies per second into the interface, and the list window was opened in a way that locked the main window without stopping that flow. Results kept being drawn underneath the locked window until Windows declared the program hung. Viewer windows now open without locking the main window: the radar keeps drawing, the program stays usable and the window closes normally. The same fix applies to the pipeline view. The paywall and confirmation prompts are unchanged, because they wait for your answer.
- đ Every phone number on a contact page is collected. The program took at most five numbers from a page and stopped there, in page order. Measured on a contact page with 13 named numbers: the CEO was seventh, so his direct number was never collected and the card had to show the switchboard instead. This is also why the feature seemed to work only sometimes: it succeeded when the decision maker's number happened to be among the first five. Junk numbers are still rejected by validation rather than by a count limit, and if the safety limit is ever reached it now leaves a note in the log.
1.0.809
2026-08-031.0.809 - 2026-08-04 - "đ° Suomen liikevaihto löytyy myös lyhennenimen takaa"
đ«đź Suomi
- đ° Liikevaihto löytyy nyt myös silloin kun verkkotunnus on lyhenne yrityksen nimestĂ€. Mitattu esimerkki: ikkoy.com nĂ€ytti tyhjÀÀ liikevaihtoa, henkilöstöÀ ja perustamisvuotta. Syy oli ettĂ€ liidin nimeksi tuli verkkotunnuksen varsi "Ikkoy", joka ei ole yrityksen nimi eikĂ€ löydy mistÀÀn rekisteristĂ€. Kaikki neljĂ€ y-tunnuksen hakutapaa etsivĂ€t sillĂ€ nimellĂ€, joten yksikÀÀn ei voinut osua, ja ilman y-tunnusta talousluvuille ei ole mistĂ€ hakea. Yrityksen oikea nimi luki koko ajan sivun otsikossa: Ikaalisten Kiinteistökonsultit Oy. Nyt ohjelma lukee virallisen nimen sivun otsikosta ja hakee sillĂ€. Sama yritys saa nyt liikevaihdon 430 000 euroa, kahdeksan työntekijÀÀ ja kaupparekisterin toimitusjohtajan. Haku myös nopeutui, koska osuma tulee aiemmin.
- â VÀÀrĂ€n yrityksen lukuja ei voi pÀÀtyĂ€ kortille. Sivun otsikosta hyvĂ€ksytÀÀn vain nimi joka pÀÀttyy yhtiömuotoon omana sananaan, ja rekisteristĂ€ vaaditaan tĂ€smÀÀvĂ€ nimi. Jos tĂ€smÀÀviĂ€ on useampi, ei valita ketÀÀn. Ilman sanarajaa esimerkiksi "Ikkoy" olisi itse nĂ€yttĂ€nyt yhtiömuodolta, koska se pÀÀttyy kirjaimiin oy, ja se olisi voinut noutaa vÀÀrĂ€n yrityksen tunnuksen.
- đ Rekisteritiedot palasivat tavalliseen hakuun. Ohjelmointivirhe esti rekisterihaun kokonaan haun aikaisessa rikastuksessa, joten liikevaihto, perustamispĂ€ivĂ€ ja toimialakoodi jĂ€ivĂ€t tulematta jokaiselta yritykseltĂ€. Virhe ei nĂ€kynyt mitenkÀÀn kĂ€yttĂ€jĂ€lle. Mitattu edellisestĂ€ ajosta: 27 yritystĂ€ 27:stĂ€.
- âïž SĂ€hköpostiluonnos kertoo nyt vastaanottajasta, ei meistĂ€. Aiemmin viestin ainoa nostorivi saattoi olla "MitĂ€ tarjoamme", jolloin viesti ei sanonut vastaanottavasta yrityksestĂ€ mitÀÀn. Nyt luonnos rakennetaan yrityksen omista tiedoista: koko, toimiala ja vuodet alalla. MyyjĂ€n omat sisĂ€iset perustelut ja pÀÀttĂ€jĂ€n nimi jÀÀvĂ€t edelleen vain ohjelmaan, koska ne on kirjoitettu myyjĂ€n silmille eivĂ€tkĂ€ kuulu asiakkaalle lĂ€htevÀÀn viestiin.
đŹđ§ English
- đ° Revenue is now found even when the web address is an abbreviation of the company name. Measured example: ikkoy.com showed no revenue, no headcount and no founding year. The reason was that the lead was named after the web address stem, "Ikkoy", which is not the company name and is in no register. All four ways of finding the business ID searched with that name, so none could match, and without a business ID there is nothing to look financials up with. The real name was in the page title all along: Ikaalisten Kiinteistökonsultit Oy. The program now reads the official name from the page title and searches with it. That company now gets revenue of 430,000 euros, eight employees and the CEO from the trade register. The lookup also got faster because the match comes earlier.
- â Another company's figures cannot end up on the card. From the page title only a name ending in a company form as its own word is accepted, and the register match must be exact. If more than one matches, none is chosen. Without the word boundary, "Ikkoy" would itself have looked like a company form because it ends in the letters oy, and it could have fetched the wrong company's ID.
- đ Register data is back in the normal hunt. A programming error silently disabled the register lookup during hunt-time enrichment, so revenue, founding date and industry code never arrived for any company. Nothing about it was visible to the user. Measured in the previous run: 27 companies out of 27.
- âïž The email draft now talks about the recipient, not about us. Previously the only highlight line could be "What we offer", which said nothing about the receiving company. The draft is now built from the company's own data: size, industry and years in business. The seller's internal reasoning and the decision maker's name stay inside the program, because they are written for the seller and do not belong in a message sent to a customer.
1.0.808
2026-08-031.0.808 - 2026-08-03 - "đ Peruutuksen jĂ€lkeen aloitettu haku toimii taas"
đ«đź Suomi
- đ Perutun haun jĂ€lkeen aloitettu uusi haku ei enÀÀ jÀÀ nollaan. Kun haku peruttiin ja heti perÀÀn kĂ€ynnistettiin uusi, ohjelma saattoi ajaa uudelleen juuri perutun haun (sama hakusana, sama maa) ja pudottaa jokaisen löydön nĂ€kymĂ€ttömiin. Ruudulla nĂ€kyi 0 liidiĂ€ vaikka ohjelma löysi taustalla 139 yritystĂ€. Syy: peruutusmerkintĂ€ jĂ€i pÀÀlle, ja hakuun on kolme sisÀÀnmenopolkua joista vain yksi nollasi sen. Nyt jokainen uusi haku nollaa merkinnĂ€n samalla tavalla. Sama vika esti myös oman listan ajamisen peruutuksen jĂ€lkeen, jolloin lista tuotti 0 riviĂ€.
- đ Peruutus ei enÀÀ sammuta hakumoottoria. Peruutus saattoi lopettaa koko taustaprosessin, jonka jĂ€lkeen yksikÀÀn uusi haku ei kĂ€ynnistynyt ennen ohjelman uudelleenkĂ€ynnistystĂ€. Peruutus on normaali tila, ja moottori jÀÀ nyt pÀÀlle.
- ⳠOhjelma ei jÀÀ enÀÀ HUNTING-tilaan. Jos haku pÀÀttyi ilman yhtÀÀn tulosta, sen lopetusviesti saattoi jÀÀdÀ huomiotta ja kÀyttöliittymÀ nÀytti hakevan loputtomiin ilman virhettÀ. Nyt tila vapautuu aina.
- ⥠TaulukkonÀkymÀ avautuu heti. 800 rivin taulukon piirtÀminen vei 2,9 sekuntia ja jumitti kÀyttöliittymÀn sen ajan. Nyt 0,4 sekuntia. Syy oli ettÀ yhden sarakkeen piirto latasi taustalla koko hakukoneiston.
- ⥠Ohjelma kÀynnistyy nopeammin. Jokainen kÀynnistys kysyi Windowsilta levytyypin erillisellÀ komennolla, mikÀ vei noin 1,8 sekuntia. Tieto haetaan nyt vain kun se oikeasti vaikuttaa asetuksiin, ja se muistetaan seuraavaan kertaan. Jos levytyyppiÀ ei ole mitattu, Asetukset nÀyttÀÀ viivan eikÀ arvaa levytyyppiÀ.
đŹđ§ English
- đ A new hunt started right after a cancel no longer comes back empty. If you cancelled a hunt and immediately started another one, the program could re-run the hunt you had just cancelled (same keyword, same country) and drop every finding out of sight. The screen showed 0 leads while the program had actually found 139 companies in the background. The cause: the cancel marker stayed on, and a hunt has three entry paths of which only one cleared it. Every new hunt now clears it the same way. The same fault also blocked running your own list after a cancel, which produced 0 rows.
- đ Cancelling no longer shuts down the hunt engine. A cancel could end the whole background process, after which no new hunt would start until the program was restarted. Cancelling is a normal state and the engine now stays up.
- âł The program no longer gets stuck in the HUNTING state. If a hunt ended without a single result, its completion message could be ignored and the interface looked like it was searching forever, with no error. The state is now always released.
- ⥠The table view opens instantly. Drawing an 800 row table took 2.9 seconds and froze the interface for that time. It now takes 0.4 seconds. The cause was that drawing one column pulled in the entire search engine stack in the background.
- ⥠The program starts faster. Every start asked Windows for the disk type with a separate command, costing about 1.8 seconds. That is now looked up only when it actually affects settings, and it is remembered for next time. If the disk type has not been measured, Settings shows a dash instead of guessing.
1.0.807
2026-08-031.0.807 - 2026-08-03 - "đ Liikevaihto löytyy nyt yritystunnuksella ja verkkotunnuksella"
đ«đź Suomi
- đ Yritys löytyy rekisteristĂ€ nyt myös tunnuksella ja verkkotunnuksella, ei vain nimellĂ€. TĂ€mĂ€ oli viimeinen syy siihen miksi Viron liikevaihto jĂ€i tyhjĂ€ksi. Ohjelma osasi kysyĂ€ rekisteristĂ€ vain yrityksen nimellĂ€, mutta rekisteriin merkitty nimi on usein aivan eri kuin verkkotunnus: verkkotunnus on tuotenimi ja rekisterissĂ€ on omistajayhtiö. Mitattu esimerkki: aisamajutus.ee on rekisterissĂ€ nimellĂ€ "OsaĂŒhing KINMAR", joten haku sanalla "aisamajutus" ei tuottanut yhtÀÀn osumaa eikĂ€ olisi voinut tuottaa. Yrityksen virallinen tunnus oli koko ajan tiedossa, mutta sillĂ€ ei voinut hakea. Nyt haetaan ensin tunnuksella, ja jos sitĂ€ ei ole, verkkotunnuksella. Sama yritys saa nyt 21 000 euron liikevaihdon ja seitsemĂ€n vuoden historian. Vaatii palvelinpĂ€ivityksen, joka on jo julkaistu.
- â VÀÀrĂ€n yrityksen lukuja ei voi pÀÀtyĂ€ kortille. Tunnuksella haettaessa hyvĂ€ksytÀÀn vain rivi jonka tunnus on tĂ€smĂ€lleen sama, ja verkkotunnuksella haettaessa rivi jonka verkkotunnus todella tĂ€smÀÀ. Jos samaa verkkotunnusta kĂ€yttÀÀ useampi yritys, valitaan se jonka nimi tĂ€smÀÀ tarkasti â ja jos tĂ€smÀÀviĂ€ on useampi, ei valita ketÀÀn. Vanhaa palvelinversiota vasten ohjelma ei hyvĂ€ksy mitÀÀn, koska se tarkistaa vastauksen itse.
đŹđ§ English
- đ A company is now found in the register by its number and its web address, not only by name. This was the last remaining reason Estonian revenue stayed empty. The program could only ask the register by company name, but the registered name is often nothing like the web address: the web address is the product name while the register holds the owning company. Measured example: aisamajutus.ee is registered as "OsaĂŒhing KINMAR", so a search for "aisamajutus" returned nothing and never could have. The company's official number was known all along but could not be used for lookup. The lookup now goes by number first, and by web address when there is no number. That same company now shows revenue of 21,000 euros with seven years of history. Requires the server update, which is already live.
- â Another company's figures cannot reach the card. When looking up by number, only a row with exactly the same number is accepted; when looking up by web address, only a row whose address genuinely matches. If several companies share one web address, the one whose name matches exactly is chosen, and if more than one matches exactly, none is chosen. Against an older server version the program accepts nothing, because it verifies the response itself.
1.0.806
2026-08-031.0.806 - 2026-08-03 - "đ° Liikevaihto tulee myös niille yrityksille jotka ohjelma jo tunnisti"
đ«đź Suomi
- đ° Liikevaihto tulee nyt myös niille yrityksille joiden virallisen tunnuksen ohjelma oli jo löytĂ€nyt. Kun yritykselle oli kerran saatu virallinen yritystunnus, ohjelma ei hakenut sille tilinpÀÀtöslukuja enÀÀ lainkaan: tunnuksen olemassaoloa pidettiin merkkinĂ€ siitĂ€ ettĂ€ tiedot on jo haettu. Yritystunnus ei kuitenkaan ole liikevaihto, ja ohitus osui juuri niihin yrityksiin jotka ovat varmimmin rekisterissĂ€ â omassa liidipankissa 421 yritystĂ€ 10 837:stĂ€. Nyt luvut haetaan aina kun ne puuttuvat, ja rekisteristĂ€ hyvĂ€ksytÀÀn vain rivi jonka tunnus on tĂ€smĂ€lleen sama, joten vÀÀrĂ€n yrityksen liikevaihtoa ei voi pÀÀtyĂ€ kortille. Mitattu 40 yrityksen otoksella: kuusi sai seitsemĂ€n vuoden liikevaihtohistorian (422 835 âŹ, 46 011 âŹ, 15 779 âŹ, 6 552 âŹ, 4 058 âŹ, 2 269 âŹ).
- đ Yhtiömuoto nimen edessĂ€ ei enÀÀ estĂ€ yrityksen löytymistĂ€ rekisteristĂ€. Virossa, Liettuassa, Romaniassa ja Ruotsissa yhtiömuoto kirjoitetaan usein auki ja nimen eteen â "osaĂŒhing AUTOTUBA", "uĆŸdaroji akcinÄ bendrovÄ", "persoanÄ fizicÄ autorizatÄ", "Stiftelsen". Ohjelma osasi poistaa vain lyhenteet nimen lopusta, joten se luki koko yhtiömuodon osaksi yrityksen nimeĂ€ eikĂ€ tunnistanut yritystĂ€ rekisterissĂ€. Liikevaihto jĂ€i silloin tulematta vaikka se oli tallessa. Yhtiömuotojen sanasto mitattiin oikeasta rekisteridatasta yhdeksĂ€n maan osalta, eikĂ€ sitĂ€ kirjoitettu kĂ€sin. Esimerkki: autotuba.ee sai seitsemĂ€n vuoden luvut.
- đ Englanninkielinen toimialahaku ei enÀÀ muutu yhden yrityksen hauksi. Kun hakusana oli englanniksi ja maa jokin muu kuin englanninkielinen â esimerkiksi "marketing agency" Suomessa â ohjelma saattoi tulkita sen yrityksen nimeksi, jos rekisterissĂ€ sattui olemaan yritys jonka nimi alkaa samoilla sanoilla ("Marketing Agency Volpe Oy"). Koko toimialahaku korvautui silloin yhden yrityksen haulla ja tuloslista jĂ€i tyhjĂ€ksi. Syy oli siinĂ€ ettĂ€ ohjelma tunnisti toimialasanat vain kohdemaan omalla kielellĂ€, vaikka hakusana kirjoitetaan englanniksi ja kÀÀnnetÀÀn maan kielelle vasta haun aikana. Nyt englanninkielinen toimialasana tunnistetaan joka maassa. Yrityksen nimellĂ€ hakeminen toimii kuten ennen: nimi lainausmerkeissĂ€ tai yhtiömuoto mukana ohjaa aina yrityshakuun.
- đ Teknologia- ja sĂ€hköpostipalvelutiedot palautuivat kaikille liideille. Edellinen pĂ€ivitys kytki ne vahingossa samaan ehtoon rekisterihaun kanssa: jos yritystĂ€ ei löytynyt rekisteristĂ€, verkkotunnuksen teknologiatietoja ei haettu lainkaan. Ne haetaan taas aina, kuten ennen tĂ€tĂ€.
đŹđ§ English
- đ° Revenue now also arrives for companies whose official number the program had already found. Once a company number had been obtained, the program stopped fetching financial figures for that company altogether: having the number was treated as proof the data was already there. A company number is not revenue, and the shortcut hit exactly the companies most certain to be in the register â 421 out of 10,837 in the lead bank. Figures are now fetched whenever they are missing, and only a register row whose number matches exactly is accepted, so another company's revenue can never reach the card. Measured on a sample of 40 companies: six gained seven years of revenue history (âŹ422,835, âŹ46,011, âŹ15,779, âŹ6,552, âŹ4,058, âŹ2,269).
- đ A legal form in front of the name no longer blocks the register match. In Estonia, Lithuania, Romania and Sweden the legal form is often written out in full and placed before the name â "osaĂŒhing AUTOTUBA", "uĆŸdaroji akcinÄ bendrovÄ", "persoanÄ fizicÄ autorizatÄ", "Stiftelsen". The program only knew how to drop abbreviations at the end of a name, so it read the whole legal form as part of the company name and failed to find the company in the register. Revenue then never arrived although it was on file. The vocabulary of legal forms was measured from real register data across nine countries rather than written by hand. Example: autotuba.ee gained seven years of figures.
- đ An English industry search no longer turns into a single company lookup. When the search term was in English and the country was not English speaking â for example "marketing agency" in Finland â the program could read it as a company name if the register happened to hold a company starting with those same words ("Marketing Agency Volpe Oy"). The whole industry search was then replaced by a lookup of that one company and the result list stayed empty. The cause was that industry words were recognised only in the target country's own language, although the search term is written in English and translated into the local language only during the search. English industry terms are now recognised in every country. Searching by company name works as before: a name in quotes, or with the legal form included, always goes to company lookup.
- đ Technology and mail provider signals are back on every lead. The previous update accidentally tied them to the same condition as the register lookup: if a company was not found in the register, the domain's technology details were not fetched at all. They are fetched again on every lead, as before.
1.0.805
2026-08-031.0.805 - 2026-08-03 - "đ Kuusi uutta maata saa tietonsa suoraan viranomaiselta"
đ«đź Suomi
- đ Puola, Romania, Brasilia, Ecuador, Taiwan ja Sveitsi saavat nyt tietonsa suoraan viranomaisrekisteristĂ€. NĂ€issĂ€ maissa yrityksen tiedot on tĂ€hĂ€n asti kerĂ€tty hakukoneiden tuloksista, koska ohjelmalla oli suora yhteys vain seitsemÀÀn maahan. Testasimme 97 viranomaislĂ€hdettĂ€ ja kuusi niistĂ€ vastasi aidolla datalla ilman maksua tai tunnuksia. KĂ€ytĂ€nnössĂ€: brasilialaisen yrityksen johtajien nimet tulevat kaupparekisteristĂ€ eikĂ€ niitĂ€ tarvitse arvata, romanialaisen yrityksen puhelinnumero ja maakunta tulevat verohallinnolta, puolalaisen yrityksen kotisivu ja alue tulevat kaupparekisteristĂ€, ecuadorilaisen yrityksen laillinen edustaja verohallinnolta, taiwanilaisen yrityksen vastuuhenkilö kaupparekisteristĂ€, ja sveitsilĂ€inen yritys löytyy pelkĂ€llĂ€ nimellĂ€. NĂ€issĂ€ kuudessa maassa tĂ€ydennys kĂ€ynnistyy kun liidillĂ€ on yritystunnus â SveitsissĂ€ riittÀÀ nimi.
- đš Virallinen varoitus kun yritys on lopetettu tai maksuvaikeuksissa. Samat rekisterit kertovat myös milloin yritystĂ€ ei kannata kontaktoida: Puolassa konkurssi- ja selvitystilamerkinnĂ€t sekĂ€ maksamattomat verot, Romaniassa verohallinnon "toimimaton"-merkintĂ€ ja rekisteristĂ€ poisto, Brasiliassa lakkautettu tai keskeytetty y-tunnus, Ecuadorissa verohallinnon haamuyhtiölippu, Taiwanissa purettu tai keskeytetty toiminta ja SveitsissĂ€ rekisteristĂ€ poistettu yritys. MerkintĂ€ nĂ€kyy kortilla lĂ€hteineen, eikĂ€ sitĂ€ pÀÀteltĂ€isi mistÀÀn hakutuloksesta.
- đ Puolan rekisteri peittÀÀ henkilöiden nimet, eikĂ€ ohjelma keksi niitĂ€. Puolan kaupparekisteri julkaisee johtajan tehtĂ€vĂ€n mutta peittÀÀ nimen tietosuojan takia. Ohjelma lukee siis Puolasta osoitteen, alueen, kotisivun, alv-tunnuksen ja toimialan, mutta ei nĂ€ytĂ€ pÀÀttĂ€jÀÀ sieltĂ€ lainkaan â puolalaisen yrityksen pÀÀttĂ€jĂ€ haetaan kuten ennenkin muista lĂ€hteistĂ€.
- đ YksittĂ€isen yrityksen haku kĂ€yttÀÀ vihdoin samoja virallisia lĂ€hteitĂ€ kuin muu ohjelma. Yhden yrityksen haku oli jÀÀnyt kĂ€yttĂ€mÀÀn vain Norjan ja Britannian rekistereitĂ€, vaikka ohjelma oli saanut yhdeksĂ€n muuta maata kĂ€yttöönsĂ€. Nyt sama haku hyödyntÀÀ kaikkia kolmeatoista maata, ja hakutulokseen tulevat myös osoite, alue, kotisivu ja mahdollinen virallinen varoitus.
đŹđ§ English
- đ Poland, Romania, Brazil, Ecuador, Taiwan and Switzerland now get their data straight from the authorities. In these countries company details have so far been pieced together from search engine results, because the program had a direct connection to seven countries only. We tested 97 official sources and six of them answered with real data, free and without credentials. In practice: the names of a Brazilian company's directors come from the trade register instead of being guessed, a Romanian company's phone number and county come from the tax administration, a Polish company's website and region come from the trade register, an Ecuadorian company's legal representative from the tax administration, a Taiwanese company's responsible person from the trade register, and a Swiss company is found by name alone. In these six countries the lookup starts when the lead has a company number â in Switzerland the name is enough.
- đš An official warning when a company has closed or is in payment trouble. The same registers also tell you when a company should not be contacted: bankruptcy and liquidation entries plus unpaid taxes in Poland, the tax administration's "inactive" mark and removal from the register in Romania, a closed or suspended tax number in Brazil, the tax administration's shell-company flag in Ecuador, dissolved or suspended activity in Taiwan, and a company struck off the register in Switzerland. The entry is shown on the card with its source, and it could not be inferred from any search result.
- đ The Polish register hides personal names, and the program does not invent them. Poland's trade register publishes a director's role but hides the name for privacy reasons. The program therefore reads the address, region, website, VAT number and industry from Poland, but shows no decision maker from that source at all â decision makers for Polish companies are still found through the other sources.
- đ Single company lookup finally uses the same official sources as the rest of the program. Looking up one company had been left using only the Norwegian and British registers, even though the program had gained nine further countries. That lookup now uses all thirteen countries, and the result also carries the address, region, website and any official warning.
1.0.804
2026-08-031.0.804 - 2026-08-03 - "đȘđȘ SyvĂ€haku hakee liikevaihdon myös rekisteristĂ€"
đ«đź Suomi
- đ± Norjan liikevaihto nĂ€kyi euroina vaikka luku on kruunuja. Ohjelma merkitsi kaikkien maiden rekisteristĂ€ tulevat liikevaihdot euroiksi riippumatta siitĂ€ missĂ€ valuutassa ne oli ilmoitettu. Norjalaisen yrityksen 10 miljoonan kruunun liikevaihto nĂ€kyi siis kymmenenĂ€ miljoonana euroina â yli kymmenkertaisena. Valuutta luetaan nyt datasta, ja jos sitĂ€ ei tiedetĂ€, kenttĂ€ jĂ€tetÀÀn tyhjĂ€ksi eikĂ€ arvata. Norja nĂ€kyy NOK, Ruotsi SEK, Tanska DKK, Britannia GBP ja euroalue euroina.
- đȘđȘ Viron ja muiden maiden liikevaihto tulee vihdoin syvĂ€haussa. Palvelimella on ollut Viron yritysten liikevaihto seitsemĂ€ltĂ€ vuodelta, mutta syvĂ€haku ei kysynyt sitĂ€ keneltĂ€kÀÀn. Se askel, joka yhdistÀÀ yrityksen kaupparekisterin riviin, oli kytketty vain normaaliin hakuun â syvĂ€hausta se puuttui kokonaan, joten liikevaihto, perustamispĂ€ivĂ€ ja toimialakoodi jĂ€ivĂ€t tyhjiksi kaikissa maissa Suomea lukuun ottamatta. Liitosta esti lisĂ€ksi kaksi asiaa: haun tuloksissa oli mukana ohjelman oman tietopankin rivejĂ€, jotka kilpailivat oikean rekisterirvin kanssa saman nimen kĂ€ytöstĂ€, ja jos usealla yrityksellĂ€ oli sama verkkotunnus, ohjelma luovutti ennen kuin ehti ratkaista tilanteen tarkalla nimiosumalla. Nyt liitos tehdÀÀn myös syvĂ€haussa, oman tietopankin rivit eivĂ€t kilpaile rekisterin kanssa, ja saman verkkotunnuksen jakavista valitaan se jonka nimi tĂ€smÀÀ tarkasti â jos tĂ€smÀÀviĂ€ on useampi, ei valita ketÀÀn. Mitattu: velvet.ee 1,5 M⏠(2025) ja 7 vuoden historia, tabasco.ee 1,2 MâŹ, estmade.ee 226 kâŹ. Suomen luvut tulevat kuten ennen (4,2 M⏠(2025)).
đŹđ§ English
- đ± Norwegian revenue showed as euros although the figure is in kroner. The program labelled every revenue coming from a register as euros, regardless of the currency it was reported in. A Norwegian company's revenue of 10 million kroner therefore appeared as ten million euros â more than ten times too high. The currency is now read from the data, and when it is unknown the field is left empty rather than guessed. Norway shows NOK, Sweden SEK, Denmark DKK, the UK GBP and the euro area euros.
- đȘđȘ Revenue for Estonia and other countries finally arrives in deep enrichment. The server has held seven years of revenue for Estonian companies, but deep enrichment never asked for it. The step that links a company to its trade register row was wired only into normal search â it was missing entirely from deep enrichment, so revenue, founding date and industry code stayed empty in every country except Finland. Two further faults blocked the link: the results included rows from the program's own data bank, which competed with the real register row for the same name, and when several companies shared a website address the program gave up before the exact-name rule could resolve it. The link is now made in deep enrichment too, data bank rows no longer compete with the register, and among companies sharing a web address the one whose name matches exactly is chosen â if more than one matches exactly, none is chosen. Measured: velvet.ee âŹ1.5M (2025) with seven years of history, tabasco.ee âŹ1.2M, estmade.ee âŹ226k. Finnish figures arrive as before (âŹ4.2M (2025)).
1.0.803
2026-08-031.0.803 - 2026-08-03 - "đ° Liikevaihto tulee takaisin, ja tyhjĂ€ rivi kertoo syyn"
đ«đź Suomi
- đ° Liikevaihto tulee taas syvĂ€haussa. Jos yrityksen virallissivun lataus keskeytyi kesken, ohjelma tallensi tuloksen jossa oli vain sivun osoite ja kaksi nollaa â ja piti sitĂ€ valmiina tuloksena. Sen jĂ€lkeen se ei yrittĂ€nyt uudelleen seitsemÀÀn pĂ€ivÀÀn, joten liikevaihto pysyi tyhjĂ€nĂ€ koko viikon vaikka se olisi ollut haettavissa. Kesken jÀÀnyt tulos oli tarkoitus vanhentaa 12 tunnissa, mutta ehto katsoi vain sisĂ€ltÀÀkö tulos talouslohkon lainkaan, ei sitĂ€ onko siellĂ€ liikevaihtoa. Mitattu omasta vĂ€limuistista: 104 yritystĂ€ oli tĂ€ssĂ€ lukossa. Nyt valmius ratkaistaan liikevaihdon perusteella, ja lukossa olleet yritykset vapautuvat itsestÀÀn ilman ettĂ€ mitÀÀn tarvitsee tyhjentÀÀ. Onnistuneet haut sĂ€ilyvĂ€t seitsemĂ€n pĂ€ivÀÀ kuten ennen (todennettu: 908 tallessa, 0 menetetty).
- đ§Ÿ TyhjĂ€ liikevaihtorivi kertoo nyt syyn. Osa yrityksistĂ€ ei julkaise liikevaihtoaan lainkaan â pieni yritys ei ole siihen velvollinen, ja lĂ€hteessĂ€ lukee viivan. Ohjelma merkitsi tĂ€llaisen tuloksen silti "kunnossa"-tilaan, jolloin kortille jĂ€i tyhjĂ€ rivi ilman mitÀÀn selitystĂ€ ja se luki kuin vika. Nyt lĂ€hteen "ei julkaistu" tunnistetaan omana vastauksenaan: kortti kertoo suoraan ettei liikevaihtoa ole julkaistu, eikĂ€ ohjelma hae samaa yritystĂ€ turhaan uudelleen kahdesti vuorokaudessa. Kolme eri tilannetta â lukua ei ole julkaistu, yritystĂ€ ei löydy rekisteristĂ€, lĂ€hde ei vastannut â nĂ€kyvĂ€t nyt eri teksteinĂ€. Kun luku on olemassa, se nĂ€kyy kuten ennen (todennettu syvĂ€haulla: 4,2 M⏠(2025)).
- ⥠Haku ei enÀÀ odota hakukoneita jotka eivĂ€t vastaa. Ohjelma ajoi joka haulla kolmea hakukonetta jotka oli mitattu tuottamattomiksi â yhteensĂ€ 1 316 kyselyĂ€ joista tulos tuli kahteen. Koska rinnakkaisia hakuja on kolme kerrallaan, nĂ€mĂ€ varasivat vuoroja jopa 25 sekunnin ajan niiltĂ€ koneilta jotka oikeasti tuottavat. Tuottamaton hakukone jĂ€tetÀÀn nyt vĂ€liin, mutta vasta kun siitĂ€ on riittĂ€vĂ€ mittaus juuri sillĂ€ markkinalla â uusi tai toipuva kone saa aina nĂ€yttönsĂ€, ja se pÀÀstetÀÀn sÀÀnnöllisesti kokeilemaan uudelleen siltĂ€ varalta ettĂ€ este oli tilapĂ€inen.
đŹđ§ English
- đ° Revenue comes back in deep enrichment. If loading a company's official page was cut short, the program stored a result containing only the page address and two zeros â and treated it as complete. It then did not try again for seven days, so revenue stayed empty for the whole week even when it was available. An incomplete result was meant to expire in 12 hours, but the check only asked whether the result contained a financial block at all, not whether there was any revenue in it. Measured in our own cache: 104 companies were stuck this way. Completeness is now decided by the revenue figure, and the stuck companies free themselves with nothing to clear. Successful lookups keep their seven days as before (verified: 908 retained, 0 lost).
- đ§Ÿ An empty revenue row now explains itself. Some companies do not publish revenue at all â a small company is not required to, and the source shows a dash. The program still marked such a result as "fine", leaving a blank row on the card with no explanation, which read like a fault. The source's "not published" is now recognised as an answer in its own right: the card states plainly that revenue has not been published, and the company is no longer re-fetched twice a day for nothing. Three different situations â figure not published, company not in the register, source did not respond â now read as three different messages. When a figure exists it shows as before (verified by deep enrichment: âŹ4.2M (2025)).
- ⥠Search no longer waits on engines that do not answer. Every search ran three engines that had been measured as unproductive â 1,316 queries between them, returning results in two. Because only three searches run at once, these held slots for up to 25 seconds against the engines that do produce. An unproductive engine is now skipped, but only once there is enough measurement for that specific market â a new or recovering engine always gets its chance, and is let through periodically in case the blockage was temporary.
1.0.801
2026-08-031.0.801 - 2026-08-03 - "đ Haku nĂ€yttÀÀ koko rekisterin, eikĂ€ keksi mitÀÀn"
đ«đź Suomi
- đ Yrityksen nimellĂ€ hakeminen toimii nyt joka maassa. Testattu 89 markkinalla: jokainen löytÀÀ oman yrityksensĂ€ nimellĂ€. Vikoja oli neljĂ€. Ei-latinalaisilla markkinoilla haku palautti aina nollan, koska hakusana muutettiin pieniksi kirjaimiksi ennen lĂ€hetystĂ€ ja tietokannan vertailu tunnistaa kirjainkoon vain latinalaisille merkeille. Se koski kyrillisiĂ€, kreikkalaisia, hepreankielisiĂ€, japanilaisia, kiinalaisia, korealaisia ja armenialaisia nimiĂ€ sekĂ€ kaikkia nimiĂ€ joissa on tarkkeita. Toiseksi, yritys jonka nimessĂ€ on toimialasana ("Hotel Covadonga", "Restaurante Mineirinha") tulkittiin toimialahauksi eikĂ€ nimeĂ€ haettu lainkaan. Kolmanneksi, monisanainen nimi joka on rekisterinimen alkuosa ("The Wheatsheaf" kun rekisterissĂ€ on "The Wheatsheaf Inn") hylĂ€ttiin. NeljĂ€nneksi, yhtiömuoto poistettiin rekisterin nimestĂ€ mutta ei hakusanasta, joten tĂ€ydellĂ€ nimellĂ€ hakeminen ei osunut.
- â Haku ei enÀÀ keksi tuloksia. Olemattoman yrityksen haku palautti aiemmin 15 saman toimialan yritystĂ€ ikÀÀn kuin ne olisivat osumia. Syy: kun hakusanaa ei tunnistettu, ohjelma oletti sen tarkoittavan konsultointia ja korvasi yrityksen nimen toimialasanalla. Nyt tunnistamaton hakusana ei laukaise toimialalaajennusta, ja vastaus on rehellinen nolla. Testattu 89 markkinalla: yksikÀÀn ei palauta keksittyjĂ€ osumia.
- đ Normaali haku nĂ€yttÀÀ koko rekisterin. Haku rajautui huomaamatta viimeisen puolen vuoden aikana rekisteröityihin yrityksiin, vaikka kĂ€yttĂ€jĂ€ ei valinnut uusien yritysten hakua. Markkinoilla joilla tuoreita rekisteröintejĂ€ on vĂ€hĂ€n tulos oli lĂ€hes tyhjĂ€. Mitattu Virosta: normaali haku palauttaa nyt yrityksiĂ€ vuodesta 2001 alkaen, aiemmin vain muutaman pĂ€ivĂ€n ikĂ€isiĂ€. Uusien yritysten haku toimii ennallaan.
- đ« Keksityt yhteystiedot poistettu. Ohjelma saattoi liittÀÀ yritykselle puhelinnumeron joka oli tosiasiassa pala hakemistosivun tyylitiedoston osoitetta, sĂ€hköpostin joka oli kuvatiedoston nimi, sekĂ€ pÀÀttĂ€jĂ€n nimen joka oli johdettu sĂ€hköpostiosoitteen alkuosasta. Todiste: haku yritykselle jota ei ole olemassa palautti puhelinnumeron ja pÀÀttĂ€jĂ€n. Kaikki neljĂ€ porttia on nyt kiinni, ja aidot yhteystiedot menevĂ€t lĂ€pi ennallaan.
- đ Toisen yrityksen yhteystieto ei enÀÀ pÀÀdy kortille. Hakemisto tarjosi samankaltaisen nimen yrityksen ("Solita" tuotti osoitteen toimialueelta sofita.fi) ja se hyvĂ€ksyttiin. Yhteystieto vaatii nyt todisteen ettĂ€ se kuuluu haetulle yritykselle.
- ⥠Haku muistaa mikÀ hakukone toimii missÀkin maassa. Ohjelma oppi sen jo ajon aikana, mutta unohti sulkemisen yhteydessÀ, joten jokainen kÀynnistys alkoi alusta. Oppi sÀilyy nyt vuorokauden.
- đ±đ»đ±đčđșđŠ Baltian ja Ukrainan kotisivut löytyvĂ€t. Kotisivun arvaus yhdisti yhtiömuodon osaksi osoitetta ("SIA Dumpju parks" tuotti siadumpjuparks.lv), joten se ei voinut osua. Mitattu osuus nimistĂ€ jotka alkavat yhtiömuodolla: Liettua 37 %, Ukraina 31 %, Latvia 25 %.
đŹđ§ English
- đ Searching by company name now works in every market. Verified across 89 markets: each one finds its own company by name. There were four faults. On non-Latin markets the search always returned nothing, because the query was lowercased before being sent and the database comparison only recognises letter case for Latin characters. This affected Cyrillic, Greek, Hebrew, Japanese, Chinese, Korean and Armenian names, and every name containing diacritics. Second, a company whose name contains an industry word ("Hotel Covadonga", "Restaurante Mineirinha") was treated as an industry search and the name was never looked up. Third, a multi-word name that is the beginning of the registered name ("The Wheatsheaf" where the register holds "The Wheatsheaf Inn") was rejected. Fourth, the legal form was stripped from the register name but not from the query, so searching with the full name did not match.
- â Search no longer invents results. Searching for a company that does not exist previously returned 15 companies from one industry as if they were matches. The cause: when a search term was not recognised, the program assumed it meant consulting and replaced the company name with an industry word. An unrecognised term no longer triggers industry expansion, and the answer is an honest zero. Verified across 89 markets: none returns invented matches.
- đ Normal search shows the whole register. Search was silently limited to companies registered within the last six months, even when the user had not chosen new-company discovery. In markets with few recent registrations the result was almost empty. Measured in Estonia: normal search now returns companies from 2001 onwards, previously only a few days old. New-company discovery is unchanged.
- đ« Invented contact details removed. The program could attach a phone number that was in fact part of a directory page's stylesheet address, an email that was an image filename, and a decision maker's name derived from the local part of an email address. Proof: searching for a company that does not exist returned a phone number and a decision maker. All four gates are now closed, and genuine contacts pass through unchanged.
- đ Another company's contact no longer reaches the card. A directory offered a similarly named company ("Solita" produced an address on the domain sofita.fi) and it was accepted. A contact now requires evidence that it belongs to the company searched for.
- ⥠Search remembers which engine works in which country. The program already learned this during a run but forgot it on exit, so every start began from scratch. The learning now persists for 24 hours.
- đ±đ»đ±đčđșđŠ Websites in the Baltics and Ukraine are now found. Website guessing merged the legal form into the address ("SIA Dumpju parks" produced siadumpjuparks.lv), so it could never match. Measured share of names beginning with a legal form: Lithuania 37 %, Ukraine 31 %, Latvia 25 %.
1.0.799
2026-08-021.0.799 - 2026-08-02 - "đ Nimihaku löytÀÀ, tiimi nĂ€kyy, kortti puhuu yhtĂ€ kieltĂ€"
đ«đź Suomi
- đ Yrityshaku nimellĂ€ löytÀÀ nyt myös vakiintuneet yritykset. Nimihaku kĂ€ytti samaa tuoreusrajausta kuin uusien yritysten löytĂ€mishaku, eli se nĂ€ytti vain alle puoli vuotta sitten rekisteröidyt yritykset. KĂ€ytĂ€nnössĂ€ jokainen vakiintunut yritys oli nĂ€kymĂ€tön nimellĂ€ haettaessa, vaikka se oli koko ajan tallessa rekisterissĂ€. Mitattu Virosta: "Tallink" 0 â 10 osumaa, "Goal" 0 â 10, "Malmberg" 0 â 1. Yrityksen nimellĂ€ hakeminen ei ole enÀÀ sidottu rekisteröintipĂ€ivÀÀn. Korjaus koskee kaikkia 93 markkinaa.
- đ„ Tiimin poisto pysyy poistettuna. Kun tiimin jĂ€sen poistettiin, hĂ€n palasi listalle seuraavassa synkronoinnissa. Syy: jaetussa tiimilokissa ei ollut lainkaan poiston kĂ€sitettĂ€, ja jokainen kone lĂ€hettÀÀ oman jĂ€senlistansa tunnin vĂ€lein, joten poistettu nimi tuli takaisin heti kun Tiimi-ikkuna avattiin. Poisto jĂ€ttÀÀ nyt jĂ€ljen, jota synkronointi kunnioittaa. Nimen lisÀÀminen uudelleen kĂ€sin toimii normaalisti.
- đ„ "Koko tiimi" -nĂ€kymĂ€ nĂ€yttÀÀ oikeasti koko tiimin. Työlista haki rivit tietokannasta ennen kuin se rajasi ne kĂ€yttĂ€jĂ€n mukaan, ja jĂ€rjestys oli vanhin ensin. KĂ€ytĂ€nnössĂ€ yhden henkilön vanhin kasa tĂ€ytti koko nĂ€kymĂ€n: mitattuna 466 kylmenneestĂ€ kontaktista nĂ€kyi aina sama 50 vanhinta, jotka kuuluivat yhdelle henkilölle, eikĂ€ toisen myyjĂ€n 39 riviĂ€ nĂ€kynyt kummassakaan nĂ€kymĂ€ssĂ€. Nyt rajaus tehdÀÀn ensin ja tiiminĂ€kymĂ€ssĂ€ vuorotellaan tekijöiden kesken, joten jokainen tiimilĂ€inen nĂ€kyy.
- đ Olematon maakoodi ei enÀÀ pÀÀdy kortille. Liidikortilla saattoi nĂ€kyĂ€ numero, jonka maatunnusta ei ole olemassa. Numerontarkistin oli hylĂ€nnyt sen, mutta hylkĂ€ys tulkittiin virheellisesti "ei osata sanoa" -tilaksi ja numero pÀÀstettiin lĂ€pi. Nyt tunnistamaton maatunnus on lopullinen hylkĂ€ys, ja aidot numerot 15 markkinalta menevĂ€t lĂ€pi ennallaan.
- đŁïž Liidikortti puhuu yhtĂ€ kieltĂ€. VenĂ€jĂ€nkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€ kortin perustelut olivat englanniksi, ja yhdessĂ€ kohdassa jopa suomeksi. SyynĂ€ oli se, ettĂ€ kortin myyjĂ€tekstit tuotettiin kokonaan kÀÀnnösten ulkopuolella. Kaikki kortin tekstit, yhteydenottosuunnitelma, todistelistat ja signaalit kÀÀnnetÀÀn nyt kĂ€yttöliittymĂ€n kielelle (suomi, englanti, venĂ€jĂ€).
đŹđ§ English
- đ Company name search now finds established companies too. Name search used the same freshness limit as new-company discovery, so it only showed companies registered within the last six months. In practice every established company was invisible when searched by name, even though it was in the register the whole time. Measured in Estonia: "Tallink" 0 â 10 hits, "Goal" 0 â 10, "Malmberg" 0 â 1. Searching by company name is no longer tied to the registration date. The fix applies to all 93 markets.
- đ„ Removing a team member now sticks. A removed member reappeared at the next sync, because the shared team log had no concept of removal and every machine re-sends its member list hourly. Removal now leaves a marker that sync respects. Adding the name back by hand works normally.
- đ„ The "Whole team" view really shows the whole team. The worklist fetched rows from the database before narrowing them to a user, ordered oldest first, so one person's oldest backlog filled the entire view: of 466 cold contacts the same 50 oldest always showed, all belonging to one person, and another seller's 39 rows appeared in neither view. Narrowing now happens first, and the team view alternates between people so everyone is represented.
- đ Non-existent country codes no longer reach the card. A number whose country code does not exist could appear on the lead card. The validator had rejected it, but the rejection was misread as "cannot decide" and the number was let through. An unrecognised country code is now a final rejection, and genuine numbers from 15 markets pass unchanged.
- đŁïž The lead card speaks one language. In the Russian interface the card's reasoning was in English, and in one place even Finnish, because the card's seller-facing text was produced entirely outside the translation layer. All card text, contact plans, evidence lists and signals now follow the interface language (Finnish, English, Russian).
1.0.798
2026-08-021.0.798 - 2026-08-02 - "đ Nimihaku löytÀÀ, tiimi nĂ€kyy, kortti puhuu yhtĂ€ kieltĂ€"
đ«đź Suomi
- đ Yrityshaku nimellĂ€ löytÀÀ nyt myös vakiintuneet yritykset. Nimihaku kĂ€ytti samaa tuoreusrajausta kuin uusien yritysten löytĂ€mishaku, eli se nĂ€ytti vain alle puoli vuotta sitten rekisteröidyt yritykset. KĂ€ytĂ€nnössĂ€ jokainen vakiintunut yritys oli nĂ€kymĂ€tön nimellĂ€ haettaessa, vaikka se oli koko ajan tallessa rekisterissĂ€. Mitattu Virosta: "Tallink" 0 â 10 osumaa, "Goal" 0 â 10, "Malmberg" 0 â 1. Yrityksen nimellĂ€ hakeminen ei ole enÀÀ sidottu rekisteröintipĂ€ivÀÀn. Korjaus koskee kaikkia 93 markkinaa.
- đ„ Tiimin poisto pysyy poistettuna. Kun tiimin jĂ€sen poistettiin, hĂ€n palasi listalle seuraavassa synkronoinnissa. Syy: jaetussa tiimilokissa ei ollut lainkaan poiston kĂ€sitettĂ€, ja jokainen kone lĂ€hettÀÀ oman jĂ€senlistansa tunnin vĂ€lein, joten poistettu nimi tuli takaisin heti kun Tiimi-ikkuna avattiin. Poisto jĂ€ttÀÀ nyt jĂ€ljen, jota synkronointi kunnioittaa. Nimen lisÀÀminen uudelleen kĂ€sin toimii normaalisti.
- đ„ "Koko tiimi" -nĂ€kymĂ€ nĂ€yttÀÀ oikeasti koko tiimin. Työlista haki rivit tietokannasta ennen kuin se rajasi ne kĂ€yttĂ€jĂ€n mukaan, ja jĂ€rjestys oli vanhin ensin. KĂ€ytĂ€nnössĂ€ yhden henkilön vanhin kasa tĂ€ytti koko nĂ€kymĂ€n: mitattuna 466 kylmenneestĂ€ kontaktista nĂ€kyi aina sama 50 vanhinta, jotka kuuluivat yhdelle henkilölle, eikĂ€ toisen myyjĂ€n 39 riviĂ€ nĂ€kynyt kummassakaan nĂ€kymĂ€ssĂ€. Nyt rajaus tehdÀÀn ensin ja tiiminĂ€kymĂ€ssĂ€ vuorotellaan tekijöiden kesken, joten jokainen tiimilĂ€inen nĂ€kyy.
- đ Olematon maakoodi ei enÀÀ pÀÀdy kortille. Liidikortilla saattoi nĂ€kyĂ€ numero, jonka maatunnusta ei ole olemassa. Numerontarkistin oli hylĂ€nnyt sen, mutta hylkĂ€ys tulkittiin virheellisesti "ei osata sanoa" -tilaksi ja numero pÀÀstettiin lĂ€pi. Nyt tunnistamaton maatunnus on lopullinen hylkĂ€ys, ja aidot numerot 15 markkinalta menevĂ€t lĂ€pi ennallaan.
- đŁïž Liidikortti puhuu yhtĂ€ kieltĂ€. VenĂ€jĂ€nkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€ kortin perustelut olivat englanniksi, ja yhdessĂ€ kohdassa jopa suomeksi. SyynĂ€ oli se, ettĂ€ kortin myyjĂ€tekstit tuotettiin kokonaan kÀÀnnösten ulkopuolella. Kaikki kortin tekstit, yhteydenottosuunnitelma, todistelistat ja signaalit kÀÀnnetÀÀn nyt kĂ€yttöliittymĂ€n kielelle (suomi, englanti, venĂ€jĂ€).
đŹđ§ English
- đ Company name search now finds established companies too. Name search used the same freshness limit as new-company discovery, so it only showed companies registered within the last six months. In practice every established company was invisible when searched by name, even though it was in the register the whole time. Measured in Estonia: "Tallink" 0 â 10 hits, "Goal" 0 â 10, "Malmberg" 0 â 1. Searching by company name is no longer tied to the registration date. The fix applies to all 93 markets.
- đ„ Removing a team member now sticks. A removed member reappeared at the next sync, because the shared team log had no concept of removal and every machine re-sends its member list hourly. Removal now leaves a marker that sync respects. Adding the name back by hand works normally.
- đ„ The "Whole team" view really shows the whole team. The worklist fetched rows from the database before narrowing them to a user, ordered oldest first, so one person's oldest backlog filled the entire view: of 466 cold contacts the same 50 oldest always showed, all belonging to one person, and another seller's 39 rows appeared in neither view. Narrowing now happens first, and the team view alternates between people so everyone is represented.
- đ Non-existent country codes no longer reach the card. A number whose country code does not exist could appear on the lead card. The validator had rejected it, but the rejection was misread as "cannot decide" and the number was let through. An unrecognised country code is now a final rejection, and genuine numbers from 15 markets pass unchanged.
- đŁïž The lead card speaks one language. In the Russian interface the card's reasoning was in English, and in one place even Finnish, because the card's seller-facing text was produced entirely outside the translation layer. All card text, contact plans, evidence lists and signals now follow the interface language (Finnish, English, Russian).
1.0.796
2026-08-021.0.796 - 2026-08-02 - "đ Nimihaku löytÀÀ, tiimi nĂ€kyy, kortti puhuu yhtĂ€ kieltĂ€"
đ«đź Suomi
- đ Yrityshaku nimellĂ€ löytÀÀ nyt myös vakiintuneet yritykset. Nimihaku kĂ€ytti samaa tuoreusrajausta kuin uusien yritysten löytĂ€mishaku, eli se nĂ€ytti vain alle puoli vuotta sitten rekisteröidyt yritykset. KĂ€ytĂ€nnössĂ€ jokainen vakiintunut yritys oli nĂ€kymĂ€tön nimellĂ€ haettaessa, vaikka se oli koko ajan tallessa rekisterissĂ€. Mitattu Virosta: "Tallink" 0 â 10 osumaa, "Goal" 0 â 10, "Malmberg" 0 â 1. Yrityksen nimellĂ€ hakeminen ei ole enÀÀ sidottu rekisteröintipĂ€ivÀÀn. Korjaus koskee kaikkia 93 markkinaa.
- đ„ Tiimin poisto pysyy poistettuna. Kun tiimin jĂ€sen poistettiin, hĂ€n palasi listalle seuraavassa synkronoinnissa. Syy: jaetussa tiimilokissa ei ollut lainkaan poiston kĂ€sitettĂ€, ja jokainen kone lĂ€hettÀÀ oman jĂ€senlistansa tunnin vĂ€lein, joten poistettu nimi tuli takaisin heti kun Tiimi-ikkuna avattiin. Poisto jĂ€ttÀÀ nyt jĂ€ljen, jota synkronointi kunnioittaa. Nimen lisÀÀminen uudelleen kĂ€sin toimii normaalisti.
- đ„ "Koko tiimi" -nĂ€kymĂ€ nĂ€yttÀÀ oikeasti koko tiimin. Työlista haki rivit tietokannasta ennen kuin se rajasi ne kĂ€yttĂ€jĂ€n mukaan, ja jĂ€rjestys oli vanhin ensin. KĂ€ytĂ€nnössĂ€ yhden henkilön vanhin kasa tĂ€ytti koko nĂ€kymĂ€n: mitattuna 466 kylmenneestĂ€ kontaktista nĂ€kyi aina sama 50 vanhinta, jotka kuuluivat yhdelle henkilölle, eikĂ€ toisen myyjĂ€n 39 riviĂ€ nĂ€kynyt kummassakaan nĂ€kymĂ€ssĂ€. Nyt rajaus tehdÀÀn ensin ja tiiminĂ€kymĂ€ssĂ€ vuorotellaan tekijöiden kesken, joten jokainen tiimilĂ€inen nĂ€kyy.
- đ Olematon maakoodi ei enÀÀ pÀÀdy kortille. Liidikortilla saattoi nĂ€kyĂ€ numero, jonka maatunnusta ei ole olemassa. Numerontarkistin oli hylĂ€nnyt sen, mutta hylkĂ€ys tulkittiin virheellisesti "ei osata sanoa" -tilaksi ja numero pÀÀstettiin lĂ€pi. Nyt tunnistamaton maatunnus on lopullinen hylkĂ€ys, ja aidot numerot 15 markkinalta menevĂ€t lĂ€pi ennallaan.
- đŁïž Liidikortti puhuu yhtĂ€ kieltĂ€. VenĂ€jĂ€nkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€ kortin perustelut olivat englanniksi, ja yhdessĂ€ kohdassa jopa suomeksi. SyynĂ€ oli se, ettĂ€ kortin myyjĂ€tekstit tuotettiin kokonaan kÀÀnnösten ulkopuolella. Kaikki kortin tekstit, yhteydenottosuunnitelma, todistelistat ja signaalit kÀÀnnetÀÀn nyt kĂ€yttöliittymĂ€n kielelle (suomi, englanti, venĂ€jĂ€).
đŹđ§ English
- đ Company name search now finds established companies too. Name search used the same freshness limit as new-company discovery, so it only showed companies registered within the last six months. In practice every established company was invisible when searched by name, even though it was in the register the whole time. Measured in Estonia: "Tallink" 0 â 10 hits, "Goal" 0 â 10, "Malmberg" 0 â 1. Searching by company name is no longer tied to the registration date. The fix applies to all 93 markets.
- đ„ Removing a team member now sticks. A removed member reappeared at the next sync, because the shared team log had no concept of removal and every machine re-sends its member list hourly. Removal now leaves a marker that sync respects. Adding the name back by hand works normally.
- đ„ The "Whole team" view really shows the whole team. The worklist fetched rows from the database before narrowing them to a user, ordered oldest first, so one person's oldest backlog filled the entire view: of 466 cold contacts the same 50 oldest always showed, all belonging to one person, and another seller's 39 rows appeared in neither view. Narrowing now happens first, and the team view alternates between people so everyone is represented.
- đ Non-existent country codes no longer reach the card. A number whose country code does not exist could appear on the lead card. The validator had rejected it, but the rejection was misread as "cannot decide" and the number was let through. An unrecognised country code is now a final rejection, and genuine numbers from 15 markets pass unchanged.
- đŁïž The lead card speaks one language. In the Russian interface the card's reasoning was in English, and in one place even Finnish, because the card's seller-facing text was produced entirely outside the translation layer. All card text, contact plans, evidence lists and signals now follow the interface language (Finnish, English, Russian).
1.0.795
2026-08-021.0.795 - 2026-08-02 - "đ Nimihaku löytÀÀ, tiimi nĂ€kyy, kortti puhuu yhtĂ€ kieltĂ€"
đ«đź Suomi
- đ Yrityshaku nimellĂ€ löytÀÀ nyt myös vakiintuneet yritykset. Nimihaku kĂ€ytti samaa tuoreusrajausta kuin uusien yritysten löytĂ€mishaku, eli se nĂ€ytti vain alle puoli vuotta sitten rekisteröidyt yritykset. KĂ€ytĂ€nnössĂ€ jokainen vakiintunut yritys oli nĂ€kymĂ€tön nimellĂ€ haettaessa, vaikka se oli koko ajan tallessa rekisterissĂ€. Mitattu Virosta: "Tallink" 0 â 10 osumaa, "Goal" 0 â 10, "Malmberg" 0 â 1. Yrityksen nimellĂ€ hakeminen ei ole enÀÀ sidottu rekisteröintipĂ€ivÀÀn. Korjaus koskee kaikkia 93 markkinaa.
- đ„ Tiimin poisto pysyy poistettuna. Kun tiimin jĂ€sen poistettiin, hĂ€n palasi listalle seuraavassa synkronoinnissa. Syy: jaetussa tiimilokissa ei ollut lainkaan poiston kĂ€sitettĂ€, ja jokainen kone lĂ€hettÀÀ oman jĂ€senlistansa tunnin vĂ€lein, joten poistettu nimi tuli takaisin heti kun Tiimi-ikkuna avattiin. Poisto jĂ€ttÀÀ nyt jĂ€ljen, jota synkronointi kunnioittaa. Nimen lisÀÀminen uudelleen kĂ€sin toimii normaalisti.
- đ„ "Koko tiimi" -nĂ€kymĂ€ nĂ€yttÀÀ oikeasti koko tiimin. Työlista haki rivit tietokannasta ennen kuin se rajasi ne kĂ€yttĂ€jĂ€n mukaan, ja jĂ€rjestys oli vanhin ensin. KĂ€ytĂ€nnössĂ€ yhden henkilön vanhin kasa tĂ€ytti koko nĂ€kymĂ€n: mitattuna 466 kylmenneestĂ€ kontaktista nĂ€kyi aina sama 50 vanhinta, jotka kuuluivat yhdelle henkilölle, eikĂ€ toisen myyjĂ€n 39 riviĂ€ nĂ€kynyt kummassakaan nĂ€kymĂ€ssĂ€. Nyt rajaus tehdÀÀn ensin ja tiiminĂ€kymĂ€ssĂ€ vuorotellaan tekijöiden kesken, joten jokainen tiimilĂ€inen nĂ€kyy.
- đ Olematon maakoodi ei enÀÀ pÀÀdy kortille. Liidikortilla saattoi nĂ€kyĂ€ numero, jonka maatunnusta ei ole olemassa. Numerontarkistin oli hylĂ€nnyt sen, mutta hylkĂ€ys tulkittiin virheellisesti "ei osata sanoa" -tilaksi ja numero pÀÀstettiin lĂ€pi. Nyt tunnistamaton maatunnus on lopullinen hylkĂ€ys, ja aidot numerot 15 markkinalta menevĂ€t lĂ€pi ennallaan.
- đŁïž Liidikortti puhuu yhtĂ€ kieltĂ€. VenĂ€jĂ€nkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€ kortin perustelut olivat englanniksi, ja yhdessĂ€ kohdassa jopa suomeksi. SyynĂ€ oli se, ettĂ€ kortin myyjĂ€tekstit tuotettiin kokonaan kÀÀnnösten ulkopuolella. Kaikki kortin tekstit, yhteydenottosuunnitelma, todistelistat ja signaalit kÀÀnnetÀÀn nyt kĂ€yttöliittymĂ€n kielelle (suomi, englanti, venĂ€jĂ€).
đŹđ§ English
- đ Company name search now finds established companies too. Name search used the same freshness limit as new-company discovery, so it only showed companies registered within the last six months. In practice every established company was invisible when searched by name, even though it was in the register the whole time. Measured in Estonia: "Tallink" 0 â 10 hits, "Goal" 0 â 10, "Malmberg" 0 â 1. Searching by company name is no longer tied to the registration date. The fix applies to all 93 markets.
- đ„ Removing a team member now sticks. A removed member reappeared at the next sync, because the shared team log had no concept of removal and every machine re-sends its member list hourly. Removal now leaves a marker that sync respects. Adding the name back by hand works normally.
- đ„ The "Whole team" view really shows the whole team. The worklist fetched rows from the database before narrowing them to a user, ordered oldest first, so one person's oldest backlog filled the entire view: of 466 cold contacts the same 50 oldest always showed, all belonging to one person, and another seller's 39 rows appeared in neither view. Narrowing now happens first, and the team view alternates between people so everyone is represented.
- đ Non-existent country codes no longer reach the card. A number whose country code does not exist could appear on the lead card. The validator had rejected it, but the rejection was misread as "cannot decide" and the number was let through. An unrecognised country code is now a final rejection, and genuine numbers from 15 markets pass unchanged.
- đŁïž The lead card speaks one language. In the Russian interface the card's reasoning was in English, and in one place even Finnish, because the card's seller-facing text was produced entirely outside the translation layer. All card text, contact plans, evidence lists and signals now follow the interface language (Finnish, English, Russian).
1.0.793
2026-08-021.0.793 - 2026-08-02 - "đ Löydetyt yhteystiedot eivĂ€t enÀÀ katoa matkalla"
đ«đź Suomi
- đșïž Aluerajaus toimii nyt Baltiassa ja venĂ€jĂ€nkielisillĂ€ markkinoilla. Aluevalikko lĂ€hetti aluenimen latinalaisin kirjaimin, mutta yritysrekisteri tallentaa sen maan omalla kirjoitusasulla, joten haku ei osunut yhteenkÀÀn riviin. Mitattu ennen ja jĂ€lkeen samalla haulla: Minsk 0 â 25 yritystĂ€, Moskova 0 â 25, Klaipeda 0 â 25, Tartumaa 0 â 25, Almaty 5 â 25. Koskee Viroa, Liettuaa, VenĂ€jÀÀ, Valko-VenĂ€jÀÀ, Kazakstania ja Armeniaa; nimivastaavuudet on varmennettu rekisteriĂ€ vasten yksi kerrallaan. Maat joissa haku jo toimi eivĂ€t tee yhtÀÀn lisĂ€kyselyĂ€.
- đ Kevyt rikastus sĂ€ilyttÀÀ löytĂ€mĂ€nsĂ€. Ohjelma kĂ€vi yrityksen sivut lĂ€pi, poimi sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t, ja heitti sitten koko tuloksen pois ennen kuin se ehti liidikortille. Syy oli yksi puuttuva oletusarvo rekrytodisteen lĂ€hdenimessĂ€: sen puuttuminen keskeytti liidin kokoamisen viimeisellĂ€ rivillĂ€, ja keskeytys kirjattiin vain tekniseen lokiin, joten mikÀÀn ei nĂ€yttĂ€nyt rikkinĂ€iseltĂ€. Mitattu yhdestĂ€ oikeasta suomalaishausta: 13 liidiĂ€ menetti rikastuksensa. Suomen ulkopuolella ehto tĂ€yttyi aina, joten kevyt rikastus ei tuottanut niissĂ€ maissa mitÀÀn. Korjattuna kaikki löydetty pÀÀtyy kortille.
- đ Sama vikaluokka ei enÀÀ pÀÀse lĂ€pi. Uusi tarkistus kĂ€y koodin lĂ€pi ennen jokaista julkaisua ja hylkÀÀ sen, jos liidin kokoamisessa luetaan arvoa, jota ei ole varmasti asetettu. LisĂ€ksi kaksi sisĂ€istĂ€ laadunvalvojaa oli hidastunut niin paljon, ettĂ€ ne aikakatkaistiin joka ajolla eli eivĂ€t valvoneet mitÀÀn: ne lukivat vanhoja asennuspaketteja oikean lĂ€hdekoodin sijaan. Nyt ne ajavat sekunneissa ja tarkastavat oikean koodin.
đŹđ§ English
- đșïž Region targeting now works in the Baltics and Russian-speaking markets. The region selector sent the region name in Latin letters, but the company register stores it in the country's own script, so the search matched no rows at all. Measured before and after on the same query: Minsk 0 â 25 companies, Moscow 0 â 25, Klaipeda 0 â 25, Tartumaa 0 â 25, Almaty 5 â 25. Covers Estonia, Lithuania, Russia, Belarus, Kazakhstan and Armenia; every name mapping was verified against the register one by one. Countries where the search already worked make no extra queries.
- đ Light enrichment now keeps what it finds. The program crawled a company's pages, collected emails, phone numbers and decision makers, and then discarded the whole result before it reached the lead card. The cause was one missing default value for the hiring-evidence source name: without it the lead assembly aborted on its final line, and the abort was only written to a technical log, so nothing looked broken. Measured on one real Finnish search: 13 leads lost their enrichment. Outside Finland the condition was always met, so light enrichment produced nothing in those markets. Everything found now reaches the card.
- đ The same class of fault can no longer ship. A new check scans the code before every release and rejects it if lead assembly reads a value that is not guaranteed to be set. In addition, two internal quality checks had slowed down so much that they timed out on every run, meaning they guarded nothing: they were reading old installation packages instead of the actual source code. They now run in seconds and inspect the real code.
1.0.790
2026-08-021.0.790 - 2026-08-02 - "đ Proxyt kĂ€yttöön: hakukoneet vastaavat taas"
đ«đź Suomi
- đ Proxy-verkon pĂ€ivitys toimii taas. Ohjelma hakee kĂ€yttĂ€mĂ€nsĂ€ proxy-osoitteet palveluntarjoajalta, mutta haku epĂ€onnistui hiljaa Windowsin nimipalveluasetuksen takia: tulos oli 0 proxya, jolloin kĂ€yttöön jĂ€i levyllĂ€ ollut kaksi kuukautta vanha lista, josta neljĂ€nnes ei enÀÀ vastannut. Ohjelma raportoi silloin itse "proxy-pooli toimimaton" ja pakotti kaikki haut yhden IP-osoitteen lĂ€pi â mistĂ€ seurasi hakukoneiden estot joka ajossa. Korjattuna sama haku palauttaa 100 proxya 0,7 sekunnissa.
- đ Mitattu vaikutus. Samassa haussa Brave palautti korjauksen jĂ€lkeen oikeita tuloksia (aiemmin esto heti), eikĂ€ "proxy-pooli toimimaton" -tilaa enÀÀ syntynyt.
- đĄ Painesignaalit palasivat. Palvelin hylkĂ€si voimassa olevan lisenssin heti kun ohjelma kertoi kĂ€yttĂ€jĂ€n sĂ€hköpostin, koska allekirjoitus oli laskettu ilman sitĂ€. Korjattu palvelimen puolella: sama avain toimii nyt sekĂ€ sĂ€hköpostin kanssa ettĂ€ ilman, ja vÀÀrĂ€t avaimet torjutaan edelleen.
đŹđ§ English
- đ Proxy network refresh works again. The program fetches its proxy addresses from the provider, but the fetch failed silently due to a Windows name-resolution default: the result was 0 proxies, leaving a two-month-old list on disk of which a quarter no longer answered. The program then reported its own pool as unusable and forced every search through a single IP address, which produced search-engine blocks on every run. After the fix the same fetch returns 100 proxies in 0.7 seconds.
- đ Measured effect. In the same search Brave returned real results after the fix (previously blocked immediately), and the "pool unusable" state no longer occurred.
- đĄ Pressure signals restored. The server rejected a valid licence as soon as the program supplied the user's email address, because the signature had been computed without it. Fixed server-side: the same key now works both with and without the email, and invalid keys are still rejected.
1.0.788
2026-08-021.0.788 - 2026-08-02 - "ⱠHaku ei enÀÀ pysÀhdy kesken ajon"
đ«đź Suomi
- â± Aikakatkot rajaavat oikeasti. Kolmessa kohdassa hakua oli aikakatko joka ei katkaissut mitÀÀn: koodi jĂ€i silti odottamaan hitaan lĂ€hteen loppuun. KĂ€ytĂ€nnössĂ€ yksi hidas taloustietosivu tai karttaindeksointi saattoi pysĂ€yttÀÀ koko rikastusvaiheen minuutiksi. Mitattu korjauksen jĂ€lkeen: 4 sekunnin tehtĂ€vĂ€ katkeaa sekunnin katossa. Samalla paljastui ettĂ€ Kauppalehti-varalĂ€hde ei ajanut lainkaan tietyssĂ€ tilanteessa â se kĂ€ynnistettiin mutta ei koskaan suoritettu.
- đĄ Taustayhteys ei enÀÀ jankkaa. Jos palvelin torjuu taustakyselyn, sitĂ€ yritettiin uudelleen kahden minuutin vĂ€lein loputtomiin. Nyt torjunnan jĂ€lkeen pidetÀÀn tauko, joka lyhenee heti kun yhteys taas toimii. Signaalit eivĂ€t katoa: aiemmin haettu tieto sĂ€ilyy muistissa.
- đ Mittaustulos oikeasta ajosta. Saman haun pisin katkos ajon aikana lyheni 57 sekunnista 15 sekuntiin, yli 20 sekunnin pysĂ€hdykset katosivat kokonaan, ja neljĂ€ssĂ€ minuutissa syntyi 270 liidin sijasta 702.
đŹđ§ English
- â± Timeouts now actually cut. Three places in the hunt had a timeout that stopped nothing: the code still waited for the slow source to finish. In practice a single slow financial page or map indexing could halt the whole enrichment step for a minute. Measured after the fix: a 4-second task is cut at a 1-second cap. The same investigation revealed that a financial fallback source was started but never executed in one path.
- đĄ The background connection stops nagging. When the server rejects a background query, it used to be retried every two minutes forever. It now pauses after a rejection and resumes as soon as the connection works again. No signals are lost: previously fetched data stays cached.
- đ Measured on a real run. For the same search the longest stall dropped from 57 seconds to 15, stalls over 20 seconds disappeared entirely, and four minutes produced 702 leads instead of 270.
1.0.786
2026-08-011.0.786 - 2026-08-01 - "đ Liidikortti puhuu totta ja nĂ€yttÀÀ signaalit"
đ«đź Suomi
- â Lopettaneet yritykset eivĂ€t enÀÀ nĂ€y prospekteina. Kaupparekisterin toimialahaku palauttaa myös lakanneita ja rekisteristĂ€ poistettuja yrityksiĂ€. Mitattu: yhdessĂ€ toimialahaussa 33 riviĂ€ 50:stĂ€ oli lakanneita â ja ne nĂ€ytettiin kortilla elĂ€vinĂ€, osa jopa "ota yhteyttĂ€ heti" -tasolla. Nyt rekisterin virallinen tilamerkintĂ€ nĂ€kyy kortilla punaisena ja kumoaa pistemÀÀrĂ€n: lopettanut yritys ei voi olla kuuma liidi. ToiminimiĂ€, joita ei ole kaupparekisterissĂ€, ei leimata lopettaneiksi.
- đ” "Ei kotisivua" sanotaan vasta kun kotisivu on etsitty. VĂ€ite laukesi jokaiselle tuoreelle rekisteriliidille jo ennen kuin yhtÀÀn hakua oli tehty â myös yrityksille joilla kotisivu on. Nyt vĂ€ite vaatii todisteen siitĂ€ ettĂ€ sivua on oikeasti haettu.
- đ€ Yksi pÀÀttĂ€jĂ€ nĂ€kyy vihdoin. PÀÀttĂ€jĂ€signaali vaati vĂ€hintÀÀn kaksi henkilöÀ. Mitattu liidipankista: 47 liidillĂ€ 50:stĂ€ on tasan yksi pÀÀttĂ€jĂ€, joten 88 % pÀÀttĂ€jĂ€tiedosta jĂ€i kortilla nĂ€kymĂ€ttĂ€ â vaikka nimi ja titteli olivat tallessa. Yksi nimetty pÀÀttĂ€jĂ€ on myyjĂ€lle arvokkain yksittĂ€inen tieto, ja se nĂ€kyy nyt nimellĂ€, tittelillĂ€ ja lĂ€hteellĂ€. RekisteristĂ€ tullut pÀÀttĂ€jĂ€ ja verkkosivulta poimittu nimi erotetaan toisistaan.
- đ Perustamisvuosi kertoo oikean lĂ€hteensĂ€. RekisteristĂ€ saatu perustamispĂ€ivĂ€ ilmoitti lĂ€hteekseen "yrityksen verkkosivu". Nyt kortti osoittaa kaupparekisteriin.
- đ«đź Suomalainen kortti ei jÀÀ tyhjĂ€ksi. Jos talousdatan lĂ€hde ei vastaa, kortti jĂ€i lĂ€hes tyhjĂ€ksi. Nyt kaupparekisterin avoin data tĂ€yttÀÀ aina perusfaktat: virallinen nimi, toimiala, kotipaikka, ikĂ€, kotisivu ja mahdollinen konkurssi tai selvitystila.
đŹđ§ English
- â Ceased companies no longer appear as prospects. A trade-register industry search also returns dissolved and struck-off companies. Measured: in one industry search 33 of 50 rows were ceased â and they were shown as live leads, some at "contact now" level. The official register status now shows on the card in red and overrides the score: a dissolved company cannot be a hot lead. Sole traders that are simply not in the trade register are not labelled ceased.
- đ” "No website" is only claimed after we have looked. The claim fired for every fresh register lead before a single search had run, including companies that do have a site. It now requires proof that a search actually happened.
- đ€ A single decision maker finally shows. The decision-maker signal required at least two people. Measured in the lead bank: 47 of 50 leads have exactly one, so 88 % of decision-maker data never reached the card even though the name and title were stored. One named decision maker is the single most valuable fact for a seller; it now shows with name, title and source. Register-sourced people and names scraped from a website are kept distinct.
- đ The incorporation year names its real source. A date from the register reported "company website" as its source. The card now points at the trade register.
- đ«đź The Finnish card no longer comes up empty. When the financial data source did not answer, the card was almost blank. Trade-register open data now always fills the basics: official name, industry, home town, age, website and any bankruptcy or liquidation.
1.0.785
2026-08-011.0.785 - 2026-08-01 - "đ Liidikortti puhuu totta ja nĂ€yttÀÀ signaalit"
đ«đź Suomi
- â Lopettaneet yritykset eivĂ€t enÀÀ nĂ€y prospekteina. Kaupparekisterin toimialahaku palauttaa myös lakanneita ja rekisteristĂ€ poistettuja yrityksiĂ€. Mitattu: yhdessĂ€ toimialahaussa 33 riviĂ€ 50:stĂ€ oli lakanneita â ja ne nĂ€ytettiin kortilla elĂ€vinĂ€, osa jopa "ota yhteyttĂ€ heti" -tasolla. Nyt rekisterin virallinen tilamerkintĂ€ nĂ€kyy kortilla punaisena ja kumoaa pistemÀÀrĂ€n: lopettanut yritys ei voi olla kuuma liidi. ToiminimiĂ€, joita ei ole kaupparekisterissĂ€, ei leimata lopettaneiksi.
- đ” "Ei kotisivua" sanotaan vasta kun kotisivu on etsitty. VĂ€ite laukesi jokaiselle tuoreelle rekisteriliidille jo ennen kuin yhtÀÀn hakua oli tehty â myös yrityksille joilla kotisivu on. Nyt vĂ€ite vaatii todisteen siitĂ€ ettĂ€ sivua on oikeasti haettu.
- đ€ Yksi pÀÀttĂ€jĂ€ nĂ€kyy vihdoin. PÀÀttĂ€jĂ€signaali vaati vĂ€hintÀÀn kaksi henkilöÀ. Mitattu liidipankista: 47 liidillĂ€ 50:stĂ€ on tasan yksi pÀÀttĂ€jĂ€, joten 88 % pÀÀttĂ€jĂ€tiedosta jĂ€i kortilla nĂ€kymĂ€ttĂ€ â vaikka nimi ja titteli olivat tallessa. Yksi nimetty pÀÀttĂ€jĂ€ on myyjĂ€lle arvokkain yksittĂ€inen tieto, ja se nĂ€kyy nyt nimellĂ€, tittelillĂ€ ja lĂ€hteellĂ€. RekisteristĂ€ tullut pÀÀttĂ€jĂ€ ja verkkosivulta poimittu nimi erotetaan toisistaan.
- đ Perustamisvuosi kertoo oikean lĂ€hteensĂ€. RekisteristĂ€ saatu perustamispĂ€ivĂ€ ilmoitti lĂ€hteekseen "yrityksen verkkosivu". Nyt kortti osoittaa kaupparekisteriin.
- đ«đź Suomalainen kortti ei jÀÀ tyhjĂ€ksi. Jos talousdatan lĂ€hde ei vastaa, kortti jĂ€i lĂ€hes tyhjĂ€ksi. Nyt kaupparekisterin avoin data tĂ€yttÀÀ aina perusfaktat: virallinen nimi, toimiala, kotipaikka, ikĂ€, kotisivu ja mahdollinen konkurssi tai selvitystila.
đŹđ§ English
- â Ceased companies no longer appear as prospects. A trade-register industry search also returns dissolved and struck-off companies. Measured: in one industry search 33 of 50 rows were ceased â and they were shown as live leads, some at "contact now" level. The official register status now shows on the card in red and overrides the score: a dissolved company cannot be a hot lead. Sole traders that are simply not in the trade register are not labelled ceased.
- đ” "No website" is only claimed after we have looked. The claim fired for every fresh register lead before a single search had run, including companies that do have a site. It now requires proof that a search actually happened.
- đ€ A single decision maker finally shows. The decision-maker signal required at least two people. Measured in the lead bank: 47 of 50 leads have exactly one, so 88 % of decision-maker data never reached the card even though the name and title were stored. One named decision maker is the single most valuable fact for a seller; it now shows with name, title and source. Register-sourced people and names scraped from a website are kept distinct.
- đ The incorporation year names its real source. A date from the register reported "company website" as its source. The card now points at the trade register.
- đ«đź The Finnish card no longer comes up empty. When the financial data source did not answer, the card was almost blank. Trade-register open data now always fills the basics: official name, industry, home town, age, website and any bankruptcy or liquidation.
1.0.783
2026-08-011.0.783 - 2026-08-01 - "đ§č SelkeĂ€mpi data: yksi arvio, ei tyhjiĂ€ sarakkeita"
đ«đź Suomi
- đ Y-tunnus ei enÀÀ kiinnity vÀÀrÀÀn yritykseen. Kun useampi yritys jakoi saman verkkotunnuksen (konserni, kunta, holding-yhtiö), ohjelma saattoi liittÀÀ liidiin toisen yrityksen Y-tunnuksen. Mitattu 10 yrityksen viennistĂ€: kahdella oli vÀÀrĂ€ tunnus, esimerkiksi *Luova toimisto Ensemble Oy* sai holding-yhtiön ja *Markkinointitoimisto Pori* sai kunnallisen infrayhtiön tunnuksen. VÀÀrĂ€ tunnus ei ole kosmeettinen virhe: sillĂ€ haetaan liikevaihto, joten kortilla nĂ€kyi vÀÀrĂ€n yrityksen luvut. Nyt tunnus kelpaa vain jos rekisterin nimi vastaa yrityksen nimeĂ€, ja jos samasta hausta löytyy oikea nimiosuma, se voittaa. Ensemble saa nyt oikean tunnuksen, jonka kaupparekisteri itse ilmoittaa kyseisen verkkotunnuksen haltijaksi.
- âïž Yksi arvio neljĂ€n sijaan. Samalla rivillĂ€ saattoi lukea luottamus 35, luokka HOT, prioriteetti MEDIUM ja toimenpide KEEP â neljĂ€ eri mieltĂ€ olevaa tuomiota. Kahdeksan kymmenestĂ€ liidistĂ€ oli HOT, myös heikot, joten sana ei kertonut mitÀÀn. Nyt luokka, prioriteetti ja toimenpide johdetaan samasta nĂ€kyvĂ€stĂ€ luvusta, eikĂ€ matala luku voi enÀÀ olla HOT. Luokka HOT vaatii lisĂ€ksi yhteystiedon.
- đ§Ÿ Vienti 38 sarakkeesta 24:ÀÀn. Aiemmin 44 % soluista oli tyhjiĂ€ ja 12 saraketta tĂ€ysin tyhjiĂ€. TyhjĂ€t valinnaiset sarakkeet jĂ€tetÀÀn nyt pois, pÀÀllekkĂ€iset yhdistettiin ja sisĂ€iset tekniset mittarit poistettiin. Tilalle tulivat kentĂ€t joita asiakas oikeasti kysyy: toimiala, liikevaihto, henkilöstömÀÀrĂ€, perustamisvuosi ja paikkakunta.
- đ·ïž Toimiala nĂ€kyy vihdoin. Toimialasarake oli tyhjĂ€ kaikilla liideillĂ€, koska tietoa ei luettu kaupparekisterin vastauksesta eikĂ€ tallennettu. Nyt se tulee rekisteristĂ€ ja sĂ€ilyy liidipankissa. Sama korjaus koskee ALV-tunnusta.
- đ Ensisijainen puhelinnumero tĂ€yttyy. Puhelinsarake saattoi olla tyhjĂ€ vaikka numeroita oli löytynyt.
đŹđ§ English
- đ Company IDs no longer attach to the wrong company. When several companies shared one web domain (a group, a municipality, a holding company), the program could attach another company's registration number to the lead. Measured across a 10-company export: two carried the wrong number â *Luova toimisto Ensemble Oy* got a holding company's ID and *Markkinointitoimisto Pori* got a municipal infrastructure company's. A wrong ID is not cosmetic: it is used to fetch revenue, so the card showed another company's figures. An ID is now accepted only when the register name matches the company name, and an exact name match in the same result set wins. Ensemble now gets the correct ID, the one the trade register itself lists as the holder of that domain.
- âïž One verdict instead of four. A single row could read trust 35, tier HOT, priority MEDIUM and action KEEP â four verdicts disagreeing with each other. Eight of ten leads were HOT, weak ones included, so the label meant nothing. Tier, priority and action are now derived from the same visible number, and a low number can no longer be HOT. HOT additionally requires a contact detail.
- đ§Ÿ Export trimmed from 38 columns to 24. Previously 44 % of cells were empty and 12 columns were empty for every row. Empty optional columns are now omitted, duplicates merged and internal technical counters dropped. In their place came the fields customers actually ask for: industry, revenue, headcount, incorporation year and town.
- đ·ïž Industry finally shows. The industry column was empty for every lead because the value was never read from the trade register reply nor stored. It now comes from the register and survives in the lead bank. The same fix applies to the VAT number.
- đ The primary phone number fills in. The phone column could be empty even when numbers had been found.
1.0.781
2026-08-011.0.781 - 2026-08-01 - "đĄ Ilmaiset viralliset lĂ€hteet kĂ€yttöön"
đ«đź Suomi
- đĄ Rekrytointisignaali toimii taas. Tieto siitĂ€ rekrytoiko yritys parhaillaan haettiin yhdestĂ€ työpaikkasyötteestĂ€, joka on lakkautettu: osoite vastasi virhekoodilla 404 eikĂ€ ohjelma kertonut siitĂ€ mitÀÀn, joten jokainen yritys nĂ€ytti siltĂ€ ettei se rekrytoi. Tilalle tuli neljĂ€ elĂ€vÀÀ lĂ€hdettĂ€: yrityksen oman sivun rekrytointijĂ€rjestelmĂ€ (Greenhouse, Lever, Ashby, Recruitee, Workable, SmartRecruiters), Ruotsin Arbetsförmedlingen, Norjan NAV ja Saksan Bundesagentur fĂŒr Arbeit. Jokainen avoin paikka tulee klikattavan lĂ€hdelinkin kanssa. Mitattu: 81 avointa paikkaa yhdeltĂ€ yritykseltĂ€, joista 17 myyntiroolia. Ilmoitus kelpaa vain jos työnantaja on todistettavasti sama yritys: vapaa nimihaku palautti testissĂ€ haulla *Spotify AB* työnantajat Klarhet AB, Akkel AB ja Tacting AB, ja haulla *Equinor* yrityksen Securitas Norge. NĂ€mĂ€ eivĂ€t enÀÀ tuota signaalia.
- đ«đ· Ranskan yritykset tuovat pÀÀttĂ€jĂ€t ja liikevaihdon suoraan rekisteristĂ€. Ohjelma haki jo Ranskan virallista yritysrekisteriĂ€, mutta luki vastauksesta vain nimen, y-tunnusta vastaavan numeron ja osoitteen. Samassa vastauksessa tuli mukana myös toimitusjohtaja ja hallitus, liikevaihto ja tulos, perustamispĂ€ivĂ€, henkilöstökaista ja tarkat koordinaatit. Mitattu 110 yrityksen otoksella: pÀÀttĂ€jĂ€ löytyi 73 %:lle, liikevaihto 29 %:lle ja perustamispĂ€ivĂ€ kaikille. NĂ€mĂ€ tulevat nyt talteen ilman yhtĂ€kÀÀn lisĂ€hakua.
- đ«đź Kotisivu ja virallinen tilanne suoraan kaupparekisteristĂ€. Kaupparekisteri kertoo osalle yrityksistĂ€ kotisivun osoitteen, mutta ohjelma jĂ€tti kentĂ€n lukematta ja etsi saman tiedon hakukoneella. Mitattu 70 y-tunnuksen otoksella: 16 % sai kotisivun suoraan rekisteristĂ€. Samalla luetaan yrityksen virallinen tilanne â konkurssi, selvitystila tai yrityssaneeraus â joka aiemmin haettiin vain uutisista ja talousmedioista.
- đŹđ§ Britannian konkurssikuulutukset virallisesta lĂ€hteestĂ€. Maksukyvyttömyys nĂ€kyy nyt virallisen kuulutuslehden (The Gazette) tietona klikattavan kuulutuslinkin kanssa. Kuulutus haetaan yritysnumerolla ja otsikko varmistetaan yrityksen nimeĂ€ vastaan, joten toisen yrityksen kuulutus ei voi vuotaa vÀÀrĂ€lle liidille.
- đȘđș NeljĂ€ uutta virallista rekisteriĂ€ ja ALV-varmennus 27 maahan. TĆĄekin, Slovakian ja Tanskan viralliset rekisterit tuovat nyt vastuuhenkilöt, osoitteen, puhelimen ja henkilöstömÀÀrĂ€n. LisĂ€ksi EU:n ALV-tietojĂ€rjestelmĂ€ varmistaa yrityksen virallisen nimen ja osoitteen 27 maassa. Aiemmin tĂ€llainen suora rekisterihaku oli olemassa vain Norjalle ja Britannialle.
- đ LĂ€hdemerkintĂ€ kertoo oikean lĂ€hteen. Talousvaikeuksien lĂ€hde oli kirjoitettu koodiin kiinteĂ€sti Kauppalehdeksi. Kun tieto alkoi tulla myös kaupparekisteristĂ€ ja ulkomaisista virallisista lĂ€hteistĂ€, kortti olisi nĂ€yttĂ€nyt vÀÀrÀÀ lĂ€hdettĂ€ ja vÀÀrÀÀn paikkaan osoittavan linkin. Korjattu.
- đ Perun ja Slovakian yritysrekisterit kytketty, Alankomaiden lĂ€hde korjattu. Perun verohallinnon vapaa yritysrekisteri (372 MB, pĂ€ivittyy pĂ€ivittĂ€in) ja Slovakian tilastokeskuksen virallinen rajapinta olivat kĂ€yttĂ€mĂ€ttĂ€. Alankomaiden lĂ€hdeasetus lupasi rekisteriaineistoa mutta osoite oli tyhjĂ€, jolloin lĂ€hde palautti hiljaa nolla riviĂ€.
đŹđ§ English
- đĄ The hiring signal works again. Whether a company is currently hiring came from a single job feed that has been discontinued: the address returned 404 and the program said nothing about it, so every company looked like it was not hiring. Four live sources replace it: the applicant tracking system linked on the company's own site (Greenhouse, Lever, Ashby, Recruitee, Workable, SmartRecruiters), Sweden's Arbetsförmedlingen, Norway's NAV and Germany's Bundesagentur fĂŒr Arbeit. Every opening carries a clickable source link. Measured: 81 open roles for one company, 17 of them in sales. A posting only counts when the employer is provably the same company: a free-text search for *Spotify AB* returned employers Klarhet AB, Akkel AB and Tacting AB, and *Equinor* returned Securitas Norge. Those no longer produce a signal.
- đ«đ· French companies bring decision makers and revenue straight from the register. The program already queried the official French company register but read only the name, registration number and address from the reply. The same reply also carried the managing director and board, revenue and profit, incorporation date, employee band and precise coordinates. Measured on a 110-company sample: a decision maker for 73 %, revenue for 29 % and the incorporation date for all of them. These are now captured without a single extra request.
- đ«đź Website and official status straight from the Finnish trade register. The register publishes a website address for some companies, but the field was never read and the same information was searched for again with a search engine. Measured on a 70-company sample: 16 % had the website available directly from the register. The company's official status â bankruptcy, liquidation or restructuring â is now read from the same source instead of only from news.
- đŹđ§ UK insolvency notices from the official source. Insolvency now shows as an official Gazette notice with a clickable link to the notice itself. The notice is looked up by company number and the title is verified against the company name, so another company's notice cannot leak onto the wrong lead.
- đȘđș Four new official registers and EU VAT verification for 27 countries. The Czech, Slovak and Danish official registers now provide officers, address, phone and headcount. The EU VAT information system additionally confirms the official name and address in 27 countries. Previously this kind of direct register lookup existed only for Norway and the UK.
- đ Source labels tell the truth. The source for financial distress was hardcoded as one Finnish financial paper. Once the information also began arriving from the trade register and foreign official sources, the card would have shown the wrong source and a link pointing to the wrong place. Fixed.
- đ Peru and Slovakia registers connected, Netherlands source repaired. Peru's free tax-authority company register (372 MB, refreshed daily) and Slovakia's official statistics-office API were unused. The Netherlands entry promised bulk register data but its address was empty, so the source silently returned zero rows.
1.0.779
2026-07-311.0.779 - 2026-07-31 - "đžđȘ Ruotsin haku löytÀÀ yritykset"
đ«đź Suomi
- đžđȘ Ruotsin haku löytÀÀ oikeat yritykset. Toimialahaku Ruotsissa palautti aiemmin muutaman yrityksen jotka eivĂ€t liittyneet hakusanaan mitenkÀÀn: haulla *byggföretag* (rakennusliike) tuloksena oli esimerkiksi McKinsey & Company ja Kjell & Company, koska ainoa vastannut lĂ€hde osui pelkkÀÀn sanaan "Company". Ruotsin yritysrekisterilĂ€hde luettiin vÀÀrĂ€stĂ€ kohtaa sivua, joten se palautti systemaattisesti nolla riviĂ€. Nyt sama haku palauttaa 90 rakennusalan yritystĂ€ noin kolmessa sekunnissa ja mukana tulevat Y-tunnus (organisationsnummer), puhelinnumero, kotisivu, toimiala ja kunta. Hakusana kÀÀnnetÀÀn myös ruotsiksi ennen hakua: *rakennusliike* ja *construction* löytĂ€vĂ€t molemmat ruotsalaiset bygg-yritykset.
- đ Aluerajaus toimii Ruotsissa. Kaupungin tai lÀÀnin valinta ei aiemmin kulkenut Ruotsin yrityshakuun lainkaan. Nyt esimerkiksi Tukholman valinta rajaa tulokset Tukholman lÀÀniin (todennettu: 28 yritystĂ€, 0 alueen ulkopuolelta). Jos rajaus ei osu yhteenkÀÀn yritykseen, tulokset nĂ€ytetÀÀn rajaamattomina eikĂ€ listaa tyhjennetĂ€.
- đŻ Hakutuloksiin ei enÀÀ eksy toimialaan liittymĂ€ttömiĂ€ yrityksiĂ€. Jos hakusana ei tuottanut karttalĂ€hteestĂ€ osumia, ohjelma teki lopuksi geneerisen haun sanalla "company" ja nĂ€ytti tulokset kuin ne olisivat vastanneet hakuusi. TĂ€mĂ€ varahaku on poistettu tuloksista kaikissa maissa.
- đ Pienten rekistereiden maat listaavat oikeat yritykset. Maissa joissa kansainvĂ€lisessĂ€ yritysrekisterissĂ€ on vain vĂ€hĂ€n yrityksiĂ€ (esimerkiksi Valko-VenĂ€jĂ€, Malta, Puerto Rico), muutama epĂ€olennainen nimiosuma esti koko maan aktiivisten yritysten listaamisen. Mitattu Valko-VenĂ€jĂ€llĂ€: nĂ€ytettiin 4 yritystĂ€, vaikka rekisterissĂ€ on 54 aktiivista. Nyt haku palauttaa niistĂ€ tĂ€yden sivullisen, ja hakusanaan osuneet yritykset ovat listan kĂ€rjessĂ€.
- â±ïž Yksi vastaamaton lĂ€hde ei enÀÀ syö koko haun aikaa. Jos maan oma rekisterisivu ei vastaa, se vei aiemmin koko hakuun varatun ajan, jolloin toimivatkaan lĂ€hteet eivĂ€t ehtineet vastata ja haku palautti tyhjĂ€n. Nyt jokaisella lĂ€hteellĂ€ on oma aikaosuutensa ja hitaasta lĂ€hteestĂ€ siirrytÀÀn seuraavaan. Koskee kaikkia maita.
đŹđ§ English
- đžđȘ Swedish searches find real companies. Searching by industry in Sweden used to return a handful of companies unrelated to the query: *byggföretag* (construction company) returned McKinsey & Company and Kjell & Company, because the only responding source matched the word "Company" alone. The Swedish company-register source was being read from the wrong part of the page and therefore returned zero rows every time. The same search now returns 90 construction companies in about three seconds, including registration number (organisationsnummer), phone, website, industry and municipality. Keywords are translated into Swedish first, so both *construction* and the Finnish *rakennusliike* find Swedish bygg companies.
- đ Regional filtering works in Sweden. A selected city or county never reached the Swedish company search. Selecting Stockholm now limits results to Stockholm county (verified: 28 companies, none outside). If the filter matches nothing, results are shown unfiltered rather than emptied.
- đŻ No more unrelated companies in results. When a keyword produced no hits from the map data source, the program finished with a generic search for the word "company" and presented those results as answers to your query. That fallback no longer feeds results, in any country.
- đ Countries with small registers list their real companies. Where the international company register holds only a few entries (for example Belarus, Malta, Puerto Rico), a couple of irrelevant name matches blocked the listing of the country's active companies. Measured in Belarus: 4 companies shown although the register holds 54 active. A full page is now returned, with keyword matches at the top.
- â±ïž One unresponsive source no longer consumes the whole search. If a country's own register page did not respond, it used to consume the entire time budget so that working sources never got their turn and the search came back empty. Each source now gets its own share of the time and a slow source is skipped. Applies to all countries.
1.0.778
2026-07-311.0.778 - 2026-07-31 - "đ§ Toimialahaku palauttaa taas yrityksiĂ€"
đ«đź Suomi
- đ§ Toimialalla hakeminen palauttaa taas yrityksiĂ€. Versioissa 1.0.773â1.0.774 haku toimialan nimellĂ€ â esimerkiksi *kampaamo*, *ravintola*, *tilitoimisto*, *rakennusliike* tai *arkkitehtitoimisto* â pÀÀttyi ilmoitukseen "ei rekisteriosumia tĂ€llĂ€ rajauksella", vaikka kaupparekisteristĂ€ löytyi yrityksiĂ€. Mitattu: rekisteri palautti 98 yritystĂ€ ja ohjelma nĂ€ytti 0. Syy oli 30.7. lisĂ€tyssĂ€ toimialaportissa ollut sisĂ€inen virhe, joka ei nĂ€kynyt kĂ€yttĂ€jĂ€lle vaan tyhjensi koko rekisterituloksen hiljaa. Laaja haku ("local business") toimi koko ajan, mikĂ€ teki viasta vaikeasti huomattavan. Korjattu, ja lisĂ€ksi varmistettu ettei vastaava voi toistua: jos toimialasanaston luku epĂ€onnistuu, tuloksia ei enÀÀ suodateta lainkaan â puutteellinen rajaus on parempi kuin tyhjĂ€ lista.
- đïž Rakennusalan haku löytÀÀ talonrakentajat. Hakusana *rakennusliike* oli kytketty toimialakoodiin joka kattaa 54 riviĂ€ kaupparekisteristĂ€, kun sen rinnakkaiset sanat *rakennus* ja *rakentaminen* kattavat 16 570. KĂ€ytĂ€nnössĂ€ rakennusliikehaku ei siis löytĂ€nyt talonrakennusyrityksiĂ€ lainkaan. Kaikki rakennussanat osoittavat nyt samaan, mitattuun kohtaan. Rajaus sĂ€ilyy tarkkana: kattoasennus, rakennuskoneiden vuokraus ja rakennustuotteiden valmistus ovat eri toimialoja eivĂ€tkĂ€ tule rakennusliikehakuun.
- đ» Ohjelmisto- ja verkkosivualan haut toimivat. Noin 25 hakusanaa (*software*, *saas*, *verkkosivu*, *web design*, *ohjelmointi*, *sovelluskehitys* ja niiden vieraskieliset vastineet) oli kytketty toimialakoodiin jota ei esiinny Suomen eikĂ€ Norjan rekisteridatassa lainkaan â nĂ€mĂ€ haut eivĂ€t voineet tuottaa yhtÀÀn osumaa. Syy oli koodin kirjoitusasu, ei toimiala: sama toimiala kirjoitetaan eri maissa eri tavoin (Suomi 62100, Norja 62.100, TĆĄekki 62010, Ranska 62.01Z, Argentiina 620100). KytkentĂ€ on nyt muodossa joka osuu kaikissa nĂ€issĂ€ maissa.
đŹđ§ English
- đ§ Searching by industry returns companies again. In versions 1.0.773â1.0.774, searching by an industry name â for example *hairdresser*, *restaurant*, *bookkeeping firm*, *construction company* or *architecture practice* â ended in "no register matches for this filter" even when the business register did contain companies. Measured: the register returned 98 companies and the program displayed 0. The cause was an internal error in the per-row industry gate added on 30 July; it was never shown to the user and silently emptied the entire register result. Broad searches ("local business") worked throughout, which made the fault hard to notice. Fixed, and guarded against recurrence: if the industry vocabulary cannot be read, results are no longer filtered at all â an imprecise filter is better than an empty list.
- đïž Construction searches find building contractors. The keyword *rakennusliike* (construction company) was mapped to an industry code covering 54 register rows, while its sibling terms covered 16 570 â so the search effectively found no building contractors. All construction terms now point to the same, measured code. Precision is preserved: roofing installation, construction equipment rental and building-material manufacturing remain separate industries and do not appear in a construction-company search.
- đ» Software and web industry searches work. About 25 keywords (*software*, *saas*, *web design*, *website*, *programming*, *application development* and their non-English equivalents) were mapped to an industry code that does not occur in the Finnish or Norwegian register data at all, so those searches could never return a single match. The cause was the code's notation, not the industry: the same industry is written differently by country (Finland 62100, Norway 62.100, Czechia 62010, France 62.01Z, Argentina 620100). The mapping now uses a form that matches in all of them.
1.0.775
2026-07-301.0.775 - 2026-07-31 - "đ§ Toimialahaku palauttaa taas yrityksiĂ€"
đ«đź Suomi
- đ§ Toimialalla hakeminen palauttaa taas yrityksiĂ€. Versioissa 1.0.773â1.0.774 haku toimialan nimellĂ€ â esimerkiksi *kampaamo*, *ravintola*, *tilitoimisto*, *rakennusliike* tai *arkkitehtitoimisto* â pÀÀttyi ilmoitukseen "ei rekisteriosumia tĂ€llĂ€ rajauksella", vaikka kaupparekisteristĂ€ löytyi yrityksiĂ€. Mitattu: rekisteri palautti 98 yritystĂ€ ja ohjelma nĂ€ytti 0. Syy oli 30.7. lisĂ€tyssĂ€ toimialaportissa ollut sisĂ€inen virhe, joka ei nĂ€kynyt kĂ€yttĂ€jĂ€lle vaan tyhjensi koko rekisterituloksen hiljaa. Laaja haku ("local business") toimi koko ajan, mikĂ€ teki viasta vaikeasti huomattavan. Korjattu, ja lisĂ€ksi varmistettu ettei vastaava voi toistua: jos toimialasanaston luku epĂ€onnistuu, tuloksia ei enÀÀ suodateta lainkaan â puutteellinen rajaus on parempi kuin tyhjĂ€ lista.
- đïž Rakennusalan haku löytÀÀ talonrakentajat. Hakusana *rakennusliike* oli kytketty toimialakoodiin joka kattaa 54 riviĂ€ kaupparekisteristĂ€, kun sen rinnakkaiset sanat *rakennus* ja *rakentaminen* kattavat 16 570. KĂ€ytĂ€nnössĂ€ rakennusliikehaku ei siis löytĂ€nyt talonrakennusyrityksiĂ€ lainkaan. Kaikki rakennussanat osoittavat nyt samaan, mitattuun kohtaan. Rajaus sĂ€ilyy tarkkana: kattoasennus, rakennuskoneiden vuokraus ja rakennustuotteiden valmistus ovat eri toimialoja eivĂ€tkĂ€ tule rakennusliikehakuun.
- đ» Ohjelmisto- ja verkkosivualan haut toimivat. Noin 25 hakusanaa (*software*, *saas*, *verkkosivu*, *web design*, *ohjelmointi*, *sovelluskehitys* ja niiden vieraskieliset vastineet) oli kytketty toimialakoodiin jota ei esiinny Suomen eikĂ€ Norjan rekisteridatassa lainkaan â nĂ€mĂ€ haut eivĂ€t voineet tuottaa yhtÀÀn osumaa. Syy oli koodin kirjoitusasu, ei toimiala: sama toimiala kirjoitetaan eri maissa eri tavoin (Suomi 62100, Norja 62.100, TĆĄekki 62010, Ranska 62.01Z, Argentiina 620100). KytkentĂ€ on nyt muodossa joka osuu kaikissa nĂ€issĂ€ maissa.
đŹđ§ English
- đ§ Searching by industry returns companies again. In versions 1.0.773â1.0.774, searching by an industry name â for example *hairdresser*, *restaurant*, *bookkeeping firm*, *construction company* or *architecture practice* â ended in "no register matches for this filter" even when the business register did contain companies. Measured: the register returned 98 companies and the program displayed 0. The cause was an internal error in the per-row industry gate added on 30 July; it was never shown to the user and silently emptied the entire register result. Broad searches ("local business") worked throughout, which made the fault hard to notice. Fixed, and guarded against recurrence: if the industry vocabulary cannot be read, results are no longer filtered at all â an imprecise filter is better than an empty list.
- đïž Construction searches find building contractors. The keyword *rakennusliike* (construction company) was mapped to an industry code covering 54 register rows, while its sibling terms covered 16 570 â so the search effectively found no building contractors. All construction terms now point to the same, measured code. Precision is preserved: roofing installation, construction equipment rental and building-material manufacturing remain separate industries and do not appear in a construction-company search.
- đ» Software and web industry searches work. About 25 keywords (*software*, *saas*, *web design*, *website*, *programming*, *application development* and their non-English equivalents) were mapped to an industry code that does not occur in the Finnish or Norwegian register data at all, so those searches could never return a single match. The cause was the code's notation, not the industry: the same industry is written differently by country (Finland 62100, Norway 62.100, Czechia 62010, France 62.01Z, Argentina 620100). The mapping now uses a form that matches in all of them.
1.0.774
2026-07-301.0.774 - 2026-07-30 - "đą 'Toimisto' on nyt oikea toimialahaku â mitattuna, ei arvattuna"
đ«đź Suomi
- đą Haku sanalla "toimisto" tunnistaa nyt toimialan. Sana "toimisto" (ja englannin "office") puuttui toimialasanastosta kokonaan. Siksi sillĂ€ haettaessa Atlas ei tunnistanut toimialaa lainkaan vaan teki laajan konseptihaun, jolloin rivikohtainen toimialaportti ei aktivoitunut ja tuloksiin saattoi pÀÀtyĂ€ minkĂ€ tahansa alan yrityksiĂ€. Nyt sana on kytketty siihen mitĂ€ kaupparekisteri sillĂ€ oikeasti palauttaa. Mitattu 100 rekisteririvin otoksesta: 59Ă mainostoimistot, 15Ă hallinto- ja toimistopalvelut, 10Ă lakiasiaintoimistot, 6Ă matkatoimistot, 2Ă ohjelmatoimistot, 1Ă asianajotoimistot â kytkentĂ€ on nĂ€mĂ€, ei arvaus. Tietoinen rajaus: hautaustoimistot jĂ€tettiin pois, koska sana pÀÀttyy "-toimistoon" mutta kyse ei ole toimistopalveluyrityksestĂ€.
- đŻ Tarkempi hakusana voittaa aina yleisemmĂ€n. Yleinen "toimisto" ei syrjĂ€ytĂ€ tarkempaa hakua: "tilitoimisto" hakee kirjanpitoa, "perintĂ€toimisto" perintÀÀ ja "mainostoimisto" mainontaa tĂ€smĂ€lleen kuten ennenkin. YleistĂ€ toimistohakua kĂ€ytetÀÀn vasta silloin kun mikÀÀn tarkempi toimialasana ei osu, eikĂ€ se koskaan vaikuta siihen miten Atlas lukee rekisteririvin omaa toimialanimeĂ€ â ilman tĂ€tĂ€ rajausta esimerkiksi "Kulttuurialan ohjelmatoimistojen toiminta" olisi voinut osua kirjanpitohakuun.
đŹđ§ English
- đą Searching for "office" now resolves to a real industry. The word "toimisto" / "office" was missing from the industry vocabulary entirely, so searching for it did not identify an industry at all â it fell back to a broad concept search, the per-row industry gate never activated, and companies from unrelated industries could end up in the results. The word is now mapped to what the business register actually returns for it. Measured across a 100-row register sample: 59Ă advertising agencies, 15Ă administrative and office services, 10Ă legal offices, 6Ă travel agencies, 2Ă booking/talent agencies, 1Ă law firms â the mapping is these, not a guess. Deliberate exclusion: funeral homes ("hautaustoimisto") are left out; the word literally ends in "-toimisto" but the business is not an office-services company.
- đŻ A more specific keyword always beats a generic one. The generic "office" never displaces a more specific search: "tilitoimisto" searches bookkeeping, "perintĂ€toimisto" debt collection and "mainostoimisto" advertising exactly as before. The generic office search is used only when no more specific industry word matches, and it never affects how Atlas reads a register row's own industry name â without that rule, "Cultural booking agency activities" could have matched a bookkeeping search.
1.0.773
2026-07-301.0.773 - 2026-07-30 - "đ° Liikevaihto tulee taas â ja kertoo syyn jos ei tule + yrityksen ikĂ€ suodattimeksi"
đ«đź Suomi
- đșïž Aluehaku ei enÀÀ hylkÀÀ alueen omia yrityksiĂ€. Goldmine-haussa rekisteristĂ€ löytynyt yritys saattoi saada leiman "aluetta ei vahvistettu" â ja pudota listan hĂ€nnille â vaikka rekisteri itse oli juuri kertonut sen kotipaikan (esim. tamperelainen firma Pirkanmaa-haussa). Nyt rekisterin oma kotipaikkatieto kelpaa todisteeksi, ja vahvistus ajetaan uudelleen jos tiedot tĂ€ydentyvĂ€t kesken ajon. Myös pienempien paikkakuntien kotipaikat (kylĂ€nnimet) tunnistetaan nyt oikealle alueelle.
- đ§Ÿ Rekisterifaktat kulkevat liidin mukana loppuun asti. Y-tunnus, alue, kotipaikka, perustamispĂ€ivĂ€ ja yhtiömuoto saattoivat kadota rikastuksen aikana â nyt ne sĂ€ilyvĂ€t liidikorttiin ja liidipankkiin asti, eikĂ€ samoja tietoja tarvitse hakea uudestaan seuraavissa ajoissa.
- ⥠Goldmine-ajon hetkittÀiset jumit korjattu. Kolme raskasta työvaihetta (rekisterihaku joka ei voinut edes onnistua, WHOIS/rekry-rikastus ja karttadatan indeksointi) pyöri haun kanssa samassa sÀikeessÀ ja jÀÀdytti ajoa sekunneiksi kerrallaan. Mitattu: ~10 % ajoajasta jÀÀssÀ. Nyt ne ajetaan työsÀikeissÀ ja turha haku ohitetaan kokonaan.
- đ Goldmine nĂ€yttÀÀ kaikki rekisterin firmat. SisĂ€inen "kiinnostussuodatin" pudotti osan rekisteristĂ€ löytyneistĂ€ yrityksistĂ€, koska nĂ€kymĂ€ttömillĂ€ firmoilla ei ole hakukonejĂ€lkeĂ€ josta kiinnostusta voisi mitata â eli suodatin karsi juuri niitĂ€ firmoja joita goldmine lupaa. RekisteristĂ€ löytynyt yritys ei enÀÀ putoa tĂ€llĂ€ perusteella.
- đ„ SyvĂ€analyysin tulokset talteen kokonaisuudessaan. Löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t tallentuvat nyt liidipankkiin luotettavasti, eikĂ€ tallennusraja enÀÀ heitĂ€ pois parhaiten onnistuneiden analyysien tuloksia. Myös pankin suodattimet (LinkedIn, rahoitus, uutiset) toimivat taas.
- đ Peruutus pysĂ€yttÀÀ nyt kaiken heti. Aiemmin haun peruutuksen jĂ€lkeen saattoi vielĂ€ ilmestyĂ€ uusia liidejĂ€, ja pysĂ€ytyslippu saattoi jÀÀdĂ€ pÀÀlle seuraavaan hakuun. Molemmat korjattu.
- đ§ KansainvĂ€liset sĂ€hköpostit eivĂ€t enÀÀ tyssÀÀ turhaan. SĂ€hköpostien tarkistuksessa oli kaksi eri sallittujen pÀÀtteiden listaa, ja 61 maan osoitteet (mm. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) torjuttiin virheellisesti. Portti kÀÀntyi sallitusta kielletyt-listaksi â vain oikeasti epĂ€ilyttĂ€vĂ€t pÀÀtteet torjutaan.
- đ Yrityksen ikĂ€ nĂ€ytetÀÀn yrityksen ikĂ€nĂ€. Paneeli nĂ€ytti aiemmin verkkotunnuksen iĂ€n, koska rekisterin virallinen perustamispĂ€ivĂ€ haettiin mutta jĂ€i lukematta. Nyt virallinen pĂ€ivĂ€ voittaa aina.
- đ± Yrityksen iĂ€llĂ€ voi nyt hakea, suodattaa ja lajitella. Virallinen perustamispĂ€ivĂ€ oli tallessa, mutta sitĂ€ ei pÀÀssyt kĂ€yttĂ€mÀÀn mihinkÀÀn. Nyt liiditaulukossa on Perustettu-sarake (klikkaus lajittelee, nuorimmat kĂ€rkeen), liidipankissa ja liidilistassa on đ± Uusi yritys -suodatin (rekisteröity enintÀÀn 18 kk sitten) ja hakukenttĂ€ ymmĂ€rtÀÀ ikĂ€ehdot:
age<2(alle 2 v vanhat),age>=10(vakiintuneet),founded>2020,founded:false(yritykset joilta perustamispĂ€ivĂ€ puuttuu). Alle vuoden vanha yritys rakentaa toimittajansa juuri nyt â sitĂ€ segmenttiĂ€ ei voi kohdistaa ilman tĂ€tĂ€ tietoa. TĂ€rkeĂ€ rajaus: jos perustamispĂ€ivÀÀ ei tiedetĂ€, yritys ei osu ikĂ€suodattimeen kumpaankaan suuntaan â Atlas ei arvaa firman ikÀÀ. - đ° Liikevaihto tulee taas KauppalehdestĂ€ â lĂ€hde oli rikki. Kauppalehti-haku osoitti sivulle joka palauttaa virheen (404), joten se ei ole voinut tuottaa liikevaihtoa sen jĂ€lkeen kun Kauppalehti vaihtoi osoitteitaan â ja syvĂ€analyysissĂ€ se vielĂ€ odotti tuota virhesivua 32 sekuntia turhaan. Nyt kĂ€ytetÀÀn yrityksen omaa sivua y-tunnuksella, jolta liikevaihto, henkilöstömÀÀrĂ€ ja perustamispĂ€ivĂ€ lukevat suoraan. Mitattu korjauksen jĂ€lkeen: 314 948 ⏠(3,5 s) ja 4 171 137 ⏠(0,6 s) yrityksille jotka aiemmin palauttivat tyhjÀÀ. Samalla y-tunnus vĂ€litetÀÀn lĂ€hteelle kaikista poluista â se oli tiedossa mutta ei kulkenut perille.
- đĄïž Estetty riski ettĂ€ toisen yrityksen liikevaihto nĂ€kyisi vÀÀrĂ€llĂ€ yrityksellĂ€. Kauppalehden sivulla on myös muiden yritysten nostoja, ja vanha lukija poimi sivun ensimmĂ€isen luvun ja ensimmĂ€isen y-tunnuksen. Nyt luku hyvĂ€ksytÀÀn vain jos sivulla on juuri kysytty y-tunnus ja luku on sen vĂ€littömĂ€ssĂ€ yhteydessĂ€ (mitattu ero: oma luku 0,8â1,1 kt pÀÀssĂ€, vieras 14 kt).
- đïž Toimialahaku pitÀÀ nyt rajauksensa â kuntosalihaku ei palauta kirjakauppaa. Kun haet toimialalla (esim. "kuntosali" tai "kampaamo"), tuloksiin saattoi tulla tĂ€ysin muun alan yrityksiĂ€ â mitattu esimerkki: kuntosalihaku palautti "Muualla luokittelematon muu terveydenhuolto". Syy oli toimialasanaston liian laaja laajennus, joka venytti kuntosalihaun terveydenhuoltoon ja koulutukseen. Nyt jokainen rekisteririvi tarkistetaan erikseen: rivin toimialan on osuttava haettuun toimialaan, eikĂ€ koodillista riviĂ€ hyvĂ€ksytĂ€ arvaamalla. LisĂ€ksi jos toimialalta ei löydy osumia, ohjelma ei enÀÀ vaihda hakua "kaikkiin toimialoihin" vaan kertoo suoraan ettei osumia ollut â aiemmin lista tĂ€yttyi hiljaa muiden alojen yrityksistĂ€. Laaja konseptihaku ("local business") toimii ennallaan.
- đ Kolme puuttuvaa toimialasanaa lisĂ€tty. "kuntokeskus" (joka on kuntosalitoimialan virallinen nimi kaupparekisterissĂ€), "liikuntakeskus" ja "kirjakauppa" puuttuivat toimialasanastosta kokonaan, joten niillĂ€ haettaessa ohjelma ei tunnistanut toimialaa lainkaan ja haki kaikkia aloja.
- đą Yrityskoko on nyt kĂ€ytettĂ€vissĂ€ â henkilöstöluku tallentuu ja rajaa. HenkilöstömÀÀrĂ€ haettiin (Kauppalehden keskimÀÀrĂ€inen henkilöstö, asiakastiedon "työllisti N henkilöÀ") mutta se ei tallentunut liidille lainkaan â mitattu: 0 / 793 liidillĂ€ oli henkilöstötietoa, joten kokorajausta ei voinut kĂ€yttÀÀ mihinkÀÀn. Nyt luku nousee liidin omaksi kenttÀÀnsĂ€ sekĂ€ haku- ettĂ€ syvĂ€analyysipolulla, se tallentuu pankkiin ja nĂ€kyy kortilla. Rajaus: uusi đą Keskisuuri (50+) -suodatin sekĂ€ hakuehdot
employees>=50/employees<50. Henkilöstöbandista luetaan alaraja ("50â249" â 50). TĂ€rkeĂ€ rajaus: jos kokoa ei tiedetĂ€, yritys ei osu kumpaankaan suuntaan â ohjelma ei vĂ€itĂ€ tuntemattomia pienyrityksiksi. - đ Uudet ostosignaalit: muutosohjelma, organisaatiouudistus, uusi strategia ja uusi COO. Atlas tunnisti uutisista aiemmin rahoituksen, yritysoston, laajentumisen, tuotejulkaisun ja uuden toimitusjohtajan. Nyt mukaan tulivat ne hetket joissa yritys tarvitsee ulkopuolista apua muutoksen lĂ€pivientiin: muutos-/transformaatio-ohjelman kĂ€ynnistys, organisaatiouudistus ja uusi toimintamalli, uuden strategian tai kasvusuunnitelman julkistus sekĂ€ COO-, liiketoiminta-, strategia- ja henkilöstöjohtajan nimitykset (aiemmin vain toimitusjohtaja). Signaalit tunnistetaan sekĂ€ suomeksi ettĂ€ englanniksi, ja ne nostavat myös đ-signaalikombon.
- đ«đź Korjattu kolme suomen taivutusaukkoa talousvaikeuksien tunnistuksessa. Uutinen "hakeutui yrityssaneeraukseen" ei osunut tunnistukseen lainkaan (haettiin muotoa "saneeraus", joka ei sisĂ€lly taivutettuun "saneeraukseen"), joten yritys saattoi saada positiivisen ostosignaalin samasta uutisesta jossa kerrottiin saneerauksesta. Sama koski sanaa "lomautus", ja YT-lain uudistuksen jĂ€lkeinen virallinen termi "muutosneuvottelut" puuttui kokonaan. Nyt kaikki kolme tunnistetaan, ja talousvaikeus estÀÀ aina positiivisen signaalin. RemonttimielessĂ€ kĂ€ytetty "saneeraus" ei kuitenkaan vaienna aitoja signaaleja.
- đ„ Liidikortin henkilölista on taas luettava. Kortti latoi kaikki verkkosivulta löytyneet nimet perĂ€kkĂ€in â kymmeniĂ€ nimiĂ€, jokainen kahdella rivillĂ€ ja useimmat ilman titteliĂ€ â jolloin lista tĂ€ytti koko kortin ja työnsi muun tiedon nĂ€kymĂ€n ulkopuolelle. Nyt titteliĂ€ kantavat ja kaupparekisteristĂ€ varmistetut pÀÀttĂ€jĂ€t ovat ensimmĂ€isinĂ€, ja loput nimet kerrotaan yhdellĂ€ rivillĂ€ ("+N muuta nimettyĂ€ kontaktia") â mitÀÀn ei pudoteta: kaikki nimet ovat edelleen viennissĂ€ ja liidipankissa.
- đ§Ÿ "NEXT STEP" ei enÀÀ sano pÀÀttĂ€jiksi nimiĂ€ joilla ei ole roolia. RivillĂ€ luki esimerkiksi "24 decision makers identified" kun kyse oli 24 verkkosivulta poimitusta nimestĂ€. PÀÀttĂ€jiksi lasketaan nyt vain ne joilla on titteli tai kaupparekisterin merkintĂ€; muut ovat "nimettyjĂ€ kontakteja".
- đ§ PerintĂ€toimiston laskutusosoite ei enÀÀ nĂ€y yrityksen sĂ€hköpostina. Kortilla saattoi lukea yrityksen yhteystietona kolmannen osapuolen perintĂ€-/verkkolaskuoperaattorin osoite (esim.
invoices-âŠ@kollektorinvoice.com). NĂ€mĂ€ suodatetaan nyt pois yhteisessĂ€ sĂ€hköpostiportissa. Rajaus tehtiin tarkasti: gmail- ja hotmail-osoitteet sĂ€ilyvĂ€t, koska pienyritysten aidot yhteysosoitteet ovat usein niissĂ€. - đșïž Ohjelma kertoo nyt jos kaupunkidata puuttuu. Kaupunkitiedot (661 MB) asennetaan erillisenĂ€ osana, ja jos sitĂ€ ei ole vielĂ€ ladattu, alue- ja kaupunkirajaus ei voi toimia â goldmine-haku nĂ€ytti silti tĂ€ysin normaalilta ja tuotti rajaamattomia tuloksia. Puute nĂ€kyi vain lokitiedostossa. Nyt haun alussa kerrotaan suoraan: "kaupunkidata puuttuu â aluerajaus ei toimi tĂ€ssĂ€ ajossa, kĂ€ynnistĂ€ sovellus AtlasLauncherilla tai odota latausta". Ohjelma ei enÀÀ nĂ€ytĂ€ tekevĂ€nsĂ€ jotain mitĂ€ se ei tee.
- đš Korjattu virheellinen konkurssimerkintĂ€. Liidikortti saattoi nĂ€yttÀÀ punaisen "Financial distress: Bankruptcy" -merkinnĂ€n yritykselle joka ei ole konkurssissa (varmistettu kaupparekisteristĂ€: ei yhtÀÀn yritystilannemerkintÀÀ). Syy: tilan tunnistus luki koko sivun ja osui Kauppalehden hakusivun pudotusvalikon vaihtoehtoihin ("KonkurssipesĂ€", "Selvitystila") â eli valikon sanastoon, ei mihinkÀÀn tietoon yrityksestĂ€. TĂ€mĂ€ osui jokaiseen yritykseen joka haettiin siltĂ€ sivulta. Nyt merkintĂ€ vaatii varsinaisen ilmoitusmuodon ("asetettu konkurssiin"), sen on liityttĂ€vĂ€ juuri kysytyn yrityksen tietoihin, eikĂ€ valikkosanastosta voi enÀÀ syntyĂ€ merkintÀÀ.
- đ Talousvaikeus-merkintĂ€ ei nĂ€y ilman toimivaa lĂ€hdelinkkiĂ€. LĂ€hteenĂ€ luki "Kauppalehti" mutta linkki ei ollut klikattava. Konkurssi on vakavin asia mitĂ€ yrityksestĂ€ voi sanoa, joten sÀÀntö on nyt yksiselitteinen: ilman todistelinkkiĂ€ merkintÀÀ ei nĂ€ytetĂ€ lainkaan. Aiemmin kerĂ€tyt merkinnĂ€t piiloutuvat kunnes ne on todennettu uudelleen.
- đ Estetty vÀÀrĂ€n verkkotunnuksen tarttuminen yritykseen. Kauppalehden sivulta luettiin osoite, puhelin ja verkkotunnus koko sivun ensimmĂ€isestĂ€ osumasta â ja sivulla on myös julkaisijan omat tiedot, joten yrityksen kotisivuksi saattoi tulla iltalehti.fi. Nyt nĂ€mĂ€ luetaan vain siitĂ€ tietolohkosta joka on merkitty kysytyn yrityksen nimellĂ€. Samalla korjautui vÀÀrin poimittu puhelinnumero.
- âïž Kortti ei enÀÀ vĂ€itĂ€ "kaikki signaalit positiivisia" kun ne eivĂ€t ole. Sama kortti saattoi lukea "OTA YHTEYTTĂ NYT â kaikki signaalit positiivisia" ja samaan aikaan nĂ€yttÀÀ tappiollisuuden ja punaisen talousvaikeusmerkinnĂ€n. Priorisointiin ei koskettu, mutta teksti kertoo nyt totuuden: negatiivisen signaalin kanssa lukee "vahvat ostosignaalit, huomioi varaukset alla".
- đ§Ÿ Sivulta löytyneitĂ€ nimiĂ€ ei enÀÀ kutsuta pÀÀttĂ€jiksi. Kortilla saattoi lukea "26 pÀÀttĂ€jÀÀ tunnistettu" kun kyse oli 26 verkkosivulta poimitusta nimestĂ€ â kĂ€ytĂ€nnössĂ€ koko henkilöstöstĂ€, useimmat ilman titteliĂ€. Nyt ne ovat "nimettyjĂ€ kontakteja"; vain kaupparekisteristĂ€ tulevat nimet esitetÀÀn pÀÀttĂ€jinĂ€. LisĂ€ksi "tehokas ja kannattava per henkilö" ei enÀÀ esiinny tappiollisella yrityksellĂ€ â liikevaihto per henkilö on fakta, kannattavuus eri asia.
- đŻ Y-tunnus haetaan nyt nopeimmasta ja varmimmasta lĂ€hteestĂ€ ensin. Liikevaihdon saaminen edellyttÀÀ y-tunnusta, ja sitĂ€ etsittiin ensin palvelinrekisteristĂ€ verkon yli â kun palvelin oli hidas, aikabudjetti kului siihen ja yrityksen oma sivu, jolla y-tunnus lukee, jĂ€i kokonaan kokeilematta. Tulos riippui siis palvelimen sen hetkisestĂ€ nopeudesta. Nyt jĂ€rjestys on: paikallinen rekisteri â yrityksen oma sivu (mitattu 0,4â2,9 s, varmistetaan aina PRH:sta) â palvelinrekisteri â PRH-nimihaku. LisĂ€ksi raskas sivunrenderöinti aloitetaan vain jos se mahtuu aikabudjettiin, joten viimeiselle hakuvaiheelle jÀÀ aina oma osuus.
- â»ïž Puutteellinen talousvastaus ei jÀÀ muistiin viikoksi. Virallisen sivun tulokset pidetÀÀn muistissa 7 vuorokautta ("tilinpÀÀtös ei muutu viikossa"), mutta jos sivu jĂ€i kesken eikĂ€ lukuja saatu, myös se tyhjĂ€ vastaus sĂ€ilyi viikon eikĂ€ uusi ajo yrittĂ€nyt uudelleen. Nyt valmis tulos sĂ€ilyy 7 vrk ja puutteellinen 12 tuntia.
- đ Liikevaihto ei enÀÀ lakkaa tulemasta kesken työsession. TĂ€mĂ€ selittÀÀ sen ettĂ€ liikevaihto tuli "vĂ€lillĂ€ ja vĂ€lillĂ€ ei". Kun tietolĂ€hde ei vastannut kolme kertaa perĂ€kkĂ€in, Atlas oikosulki sen â mutta sulku ei koskaan auennut itsestÀÀn, vaan vasta uuden haun alussa. SyvĂ€analyysi ei avannut sitĂ€ lainkaan, joten yksi huono verkkohetki saattoi estÀÀ liikevaihdon kaikilta lopun session yrityksiltĂ€ ohjelman uudelleenkĂ€ynnistykseen asti. Nyt sulku vanhenee itsestÀÀn kahdessa minuutissa ja pÀÀstÀÀ koeyrityksen lĂ€pi, ja syvĂ€analyysi aloittaa aina puhtaalta. Samalla korjattiin toinen sama ilmiö: haun sisĂ€inen 60 yrityksen katto taloustietojen haulle ei nollautunut ajojen vĂ€lillĂ€, joten luvut loppuivat pysyvĂ€sti ja hiljaa â nyt se nollataan joka ajon alussa ja katon osuminen kirjataan lokiin.
- đ§Ÿ TyhjĂ€ liikevaihtokohta kertoo nyt syyn. Kolme tĂ€ysin eri tilannetta nĂ€ytti samalta tyhjĂ€ltĂ€ ruudulta ja luki kuin ohjelmavirhe: yritystĂ€ ei ole kaupparekisterissĂ€ (tilinpÀÀtöstĂ€ ei ole olemassa), yritys on rekisterissĂ€ mutta lukuja ei ole julkaistu, tai tietolĂ€hde ei vastannut. Nyt kortti sanoo kumpi on kyseessĂ€. Tekninen hĂ€iriö ei koskaan esiinny vĂ€itteenĂ€ "ei tilinpÀÀtöstĂ€", eikĂ€ syytĂ€ nĂ€ytetĂ€ ennen kuin se on todettu.
- đ Suodatinnapit ovat nyt kĂ€yttĂ€jĂ€n kielellĂ€. Liidipankin ja liidilistan pikasuodattimet (PÀÀttĂ€jĂ€, Rekrytoi, Rahoitus, UutisiaâŠ) nĂ€kyivĂ€t suomeksi myös englannin- ja venĂ€jĂ€nkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€. Nyt kaikki napit on kÀÀnnetty kaikille kolmelle kielelle.
- đ Oman listan CSV-raportissa on nyt rikastettu data. Lista-ajon lopussa syntyvĂ€ CSV/Excel sisĂ€lsi vain syöterivit â löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t puuttuivat, vaikka ne nĂ€kyivĂ€t ruudulla. Nyt raporttiin kirjautuu jokaisen rivin paras rikastettu versio. Myös lista-ajon hetkittĂ€iset jumit (mitattu jopa 45 s) korjattiin samalla työsĂ€iemallilla kuin haun jumit.
- đïž "Nimi, Kaupunki" -rivit ymmĂ€rretÀÀn. Listarivi kuten "Solita Oy, Tampere" meni aiemmin hakuun sellaisenaan eikĂ€ yrityksen sivustoa löytynyt koskaan. Nyt kaupunkipÀÀte tunnistetaan (oikeaa kaupunkia vasten â pilkullinen yritysnimi ei mene rikki) ja nimi ja paikkakunta kĂ€sitellÀÀn erikseen.
- đ§Ÿ Y-tunnus kulkee liidin mukana. Rekisterihaku löysi y-tunnuksen useimmille yrityksille, mutta se hĂ€visi matkalla eikĂ€ koskaan tallentunut â jokainen uusi ajo aloitti alusta. Nyt y-tunnus tallentuu heti kun se on selvitetty, vaikka talousluvut eivĂ€t sillĂ€ hetkellĂ€ olisi saatavilla.
- đ Oman listan yrityksiĂ€ ei enÀÀ paineta pohjalle arvauksella. Jos listaamaasi yritystĂ€ ei löytynyt Suomen kaupparekisteristĂ€ eikĂ€ sen sivuilta irronnut yhteystietoja, Atlas saattoi tulkita sen "rekisteröimĂ€ttömĂ€ksi henkilösivustoksi" ja pudottaa pisteet lĂ€hes nollaan â myös suurilta ulkomaisilta yrityksiltĂ€, jotka eivĂ€t luonnollisesti ole Suomen rekisterissĂ€. Mitattu: 59 riviĂ€ 168:sta. Kun sinĂ€ itse listaat yrityksen, se on takuu sen olemassaolosta, joten tĂ€tĂ€ pÀÀttelyĂ€ ei enÀÀ sovelleta omaan listaan eikĂ€ nimellĂ€ haettuun yritykseen. Tavallinen haku toimii ennallaan.
- đïž Paikkakunta, alue ja perustamispĂ€ivĂ€ mukaan vientiin. CSV- ja Excel-viennissĂ€ ei ollut lainkaan sarakkeita kotipaikalle, alueelle eikĂ€ yrityksen perustamispĂ€ivĂ€lle, vaikka Atlas hakee ne rekisteristĂ€. Nyt ne ovat mukana molemmissa vienneissĂ€ ja liidin tiedoissa.
- đ§č Lokitiedosto ei enÀÀ tĂ€yty verkkokohinasta. RikkinĂ€inen pakkaus, katkennut TLS-kĂ€ttely tai kadonnut verkkotunnus tuotti jokaisesta tapauksesta tĂ€yden virhejĂ€ljen lokiin. Nyt ne kirjataan yhdelle riville, joten oikeat viat erottuvat ja loki pysyy kevyenĂ€.
- âïž Oma viestisi voittaa aina massalĂ€hetyksessĂ€. Vakava vika: kun muokkasit viestin itse ennen lĂ€hetystĂ€, vastaanottaja saattoi silti saada Atlaksen generoiman viestin â muokkauksesi meni viestin tekstiosaan, mutta piilossa ollut aiemmin generoitu HTML-osa lĂ€hti mukana ja sĂ€hköpostiohjelmat nĂ€yttĂ€vĂ€t juuri sen. Nyt kirjoittamasi teksti korvaa aina molemmat osat, eli esikatselu = lĂ€hetetty, kirjaimellisesti. Myös ilman otsikkoriviĂ€ kirjoitettu viesti sĂ€ilyy koskemattomana (vain puuttuva otsikko tĂ€ydennetÀÀn).
đŹđ§ English
- đșïž Region search no longer rejects the region's own companies. In goldmine, a company found in the registry could get flagged "region unconfirmed" â and sink to the bottom â even though the registry itself had just reported its registered office (e.g. a Tampere company in a Pirkanmaa search). The registry's own seat now counts as evidence, confirmation re-runs when data completes mid-run, and small-locality seat names are now mapped to the right region.
- đ§Ÿ Registry facts travel with the lead all the way. Business ID, region, registered office, founding date and company form could get lost during enrichment â they now persist to the lead card and the lead vault, so the same facts never need re-fetching in later runs.
- ⥠Momentary goldmine freezes fixed. Three heavy steps (a registry lookup that could not even succeed, WHOIS/hiring enrichment, and map-data indexing) ran in the search thread and froze the run for seconds at a time â measured ~10% of run time. They now run in worker threads, and the pointless lookup is skipped entirely.
- đ Goldmine shows every registry company. An internal "interest filter" dropped some registry-found companies because invisible firms leave no search-engine trace to measure interest from â i.e. it filtered out exactly the companies goldmine promises. Registry-found companies no longer drop on that basis.
- đ„ Deep-analysis results are stored in full. Found emails, phone numbers and decision makers now persist reliably to the lead vault, and the storage cap no longer discards the results of the most successful analyses. Vault filters (LinkedIn, financing, news) work again.
- đ Cancel now stops everything immediately. Previously new leads could still appear after cancelling, and the stop flag could stay on into the next search. Both fixed.
- đ§ International emails no longer get blocked needlessly. Email validation had two separate allow-lists, and addresses from 61 countries (incl. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) were rejected in error. The gate is now a block-list â only genuinely suspicious endings are refused.
- đ Company age is shown as company age. The panel previously showed the domain's age because the official founding date was fetched from the registry but never read. The official date now always wins.
- đ± Company age is now searchable, filterable and sortable. The official founding date was stored but could not be used anywhere. The lead table now has a Founded column (click to sort, youngest first), the lead vault and lead list have a đ± New company filter (registered no more than 18 months ago), and the search box understands age conditions:
age<2(under 2 years old),age>=10(established),founded>2020,founded:false(companies with no founding date on file). A company under a year old is choosing its suppliers right now â that segment cannot be targeted without this data. Important limit: when the founding date is unknown, the company does not match an age filter in either direction â Atlas does not guess a company's age. - đ° Revenue comes from Kauppalehti again â the source was broken. The Kauppalehti lookup pointed at a URL that returns an error (404), so it could not have produced revenue since Kauppalehti changed its routes â and in deep analysis it still waited 32 seconds on that error page for nothing. It now uses the company's own page by business ID, where revenue, headcount and the founding date are readable directly. Measured after the fix: âŹ314,948 (3.5 s) and âŹ4,171,137 (0.6 s) for companies that previously returned nothing. The business ID is also passed to the source from every path â it was known but never reached it.
- đĄïž Prevented a risk of showing another company's revenue on the wrong lead. The Kauppalehti page also features other companies, and the old reader took the page's first figure and first business ID. A figure is now accepted only if the requested business ID is on the page and the figure sits immediately next to it (measured distance: own figure 0.8â1.1 kB away, foreign one 14 kB).
- đïž Industry search now keeps its scope â a gym search no longer returns a bookstore. When searching by industry (e.g. "gym" or "hairdresser"), results could include companies from entirely different industries â measured example: a gym search returned "other health care not elsewhere classified". The cause was an over-broad industry vocabulary expansion that stretched a gym search into health care and education. Every registry row is now checked individually: the row's industry must match the requested one, and a row that carries a code is never accepted by guesswork. In addition, when an industry has no matches, the app no longer switches the search to "all industries" â it says plainly that there were no matches; previously the list quietly filled up with other industries. Broad concept searches ("local business") work as before.
- đ Three missing industry words added. "kuntokeskus" (the official register name for the gym industry), "liikuntakeskus" and "kirjakauppa" were missing from the industry vocabulary entirely, so searching with them meant the app did not recognise an industry at all and searched every industry.
- đą Company size is now usable â headcount is stored and filterable. Headcount was fetched (Kauppalehti's average personnel, Asiakastieto's "employed N people") but never stored on the lead â measured: 0 out of 793 leads had headcount data, so size filtering could not be used at all. The figure is now promoted to a first-class lead field on both the search and deep-analysis paths, persists to the vault and shows on the card. Filtering: a new đą Mid-size (50+) filter plus the query conditions
employees>=50/employees<50. A headcount band reads as its lower bound ("50â249" â 50). Important limit: when the size is unknown, the company matches neither direction â the app does not assume unknown companies are small. - đ New buying signals: change programs, reorganisations, new strategies and new COOs. Atlas previously detected funding, acquisitions, expansion, product launches and new CEOs in the news. It now also catches the moments when a company needs outside help to execute change: transformation/change programme launches, reorganisations and new operating models, new strategy or growth-plan announcements, and COO, business, strategy and HR director appointments (previously CEO only). Detected in both Finnish and English, and they also feed the đ signal combo.
- đ«đź Fixed three Finnish inflection gaps in distress detection. A headline about a company entering corporate restructuring ("yrityssaneeraukseen") was not detected at all â the search term was the base form, which is not contained in the inflected word â so a company could receive a positive buying signal from the very article reporting its restructuring. The same applied to "lomautus" (layoff), and the official post-reform Finnish term "muutosneuvottelut" was missing entirely. All three are now detected, and financial distress always blocks a positive signal. Renovation-sense uses of the same Finnish word still do not silence genuine signals.
- đ„ The lead card's people list is readable again. The card listed every name found on the website one after another â dozens of names, each on two rows and most without a title â so the list filled the whole card and pushed everything else out of view. Titled people and decision makers verified from the trade register now come first, and the remaining names are summarised on one line ("+N more named contacts") â nothing is dropped: every name is still in the export and the lead vault.
- đ§Ÿ "NEXT STEP" no longer calls untitled names decision makers. The line could read "24 decision makers identified" when these were 24 names scraped from the website. Only people with a title or a trade-register entry are counted as decision makers; the rest are "named contacts".
- đ§ A debt-collection billing address no longer appears as the company's email. The card could list a third-party collection or e-invoicing operator address (e.g.
invoices-âŠ@kollektorinvoice.com) as the company's contact. These are now filtered in the shared email gate. The scope was kept tight: gmail and hotmail addresses are preserved, because small companies' genuine contact addresses are often there. - đșïž The app now tells you when city data is missing. City data (661 MB) is installed as a separate component, and if it has not been downloaded yet, region and city targeting cannot work â yet a goldmine search still looked completely normal and returned unscoped results. The gap was visible only in the log file. The start of a search now states it plainly: "city data missing â region targeting unavailable in this run; start the app via AtlasLauncher or wait for the download". The app no longer appears to do something it is not doing.
- đš Fixed a false bankruptcy flag. A lead card could show a red "Financial distress: Bankruptcy" flag for a company that is not bankrupt (verified against the trade register: no company-situation entries at all). Cause: the detector scanned the whole page and matched the dropdown filter options on Kauppalehti's page ("KonkurssipesĂ€", "Selvitystila") â the menu vocabulary, not any information about the company. It therefore hit every company fetched from that page. The flag now requires an actual statement form ("placed in bankruptcy"), must be tied to the requested company's own data, and menu vocabulary can no longer produce a flag.
- đ A financial-distress flag is not shown without a working source link. The source read "Kauppalehti" but the link was not clickable. Bankruptcy is the most serious thing that can be said about a company, so the rule is now absolute: no proof link, no flag. Previously collected flags stay hidden until they are re-verified.
- đ Prevented the wrong website from attaching to a company. Address, phone and website were read from the first match on the whole Kauppalehti page â which also carries the publisher's own details, so a company's website could end up as iltalehti.fi. These are now read only from the data block labelled with the requested company's name. A mis-parsed phone number was fixed by the same change.
- âïž The card no longer claims "all signals positive" when they are not. The same card could read "CONTACT NOW â all signals positive" while also showing a loss and a red distress flag. Prioritisation is unchanged, but the wording now tells the truth: with a negative signal it reads "strong buying signals, note the caveats below".
- đ§Ÿ Names found on a website are no longer called decision makers. A card could read "26 decision makers identified" when these were 26 names scraped from the website â effectively the whole staff, most without a title. They are now "named contacts"; only names from the trade register are presented as decision makers. Also, "lean and profitable per head" no longer appears for a loss-making company â revenue per head is a fact, profitability is a different matter.
- đŻ The business ID is now looked up from the fastest, most certain source first. Getting revenue requires the business ID, and it was searched from the server registry over the network first â when that server was slow, the time budget went to it and the company's own site, where the ID is printed, was never tried at all. The outcome therefore depended on the server's speed at that moment. The order is now: local registry â the company's own site (measured 0.4â2.9 s, always verified against the official register) â server registry â official name search. Heavy page rendering is also only started if it fits the time budget, so the last stage always keeps its share.
- â»ïž An incomplete financial response is no longer remembered for a week. Official-page results are cached for 7 days ("a financial statement does not change in a week"), but if the page came back incomplete and no figures were found, that empty answer was kept for a week too and no later run retried. A complete result is now kept 7 days and an incomplete one 12 hours.
- đ Revenue no longer stops arriving mid-session. This explains why revenue appeared "sometimes but not always". When a data source failed to respond three times in a row, Atlas short-circuited it â but the circuit never reopened on its own, only at the start of a new search. Deep analysis never reopened it at all, so one bad network moment could block revenue for every remaining company in the session until the app was restarted. The circuit now expires on its own after two minutes and lets a trial request through, and deep analysis always starts clean. A second instance of the same phenomenon was fixed too: the internal 60-company cap on financial lookups never reset between runs, so the figures stopped permanently and silently â it is now reset at the start of every run and hitting the cap is written to the log.
- đ§Ÿ An empty revenue field now states the reason. Three entirely different situations looked like the same blank space and read like a bug: the company is not in the trade register (no statement exists), the company is in the register but has published no figures, or the data source did not respond. The card now says which one it is. A technical failure is never presented as the claim "no financial statement", and no reason is shown before it has been established.
- đ Filter buttons are now in your language. The quick filters in the lead vault and lead list (Decision maker, Hiring, Funding, In the newsâŠ) appeared in Finnish even in the English and Russian interface. All buttons are now translated for all three languages.
- đ Your own list's CSV report now contains the enriched data. The CSV/Excel produced at the end of a list run only contained the input rows â found emails, phone numbers and decision makers were missing even though they showed on screen. The report now records the best enriched version of every row. The list run's momentary freezes (measured up to 45 s) were fixed with the same worker-thread model as the search freezes.
- đïž "Name, City" rows are understood. A list row like "Solita Oy, Tampere" previously went into the search as-is and the company's website was never found. The city suffix is now recognized (validated against real cities â a company name containing a comma is not broken up) and name and locality are handled separately.
- đ§Ÿ The business ID travels with the lead. The registry lookup found the business ID for most companies, but it was lost on the way and never stored â every new run started from scratch. It is now saved as soon as it is resolved, even when financials are not available at that moment.
- đ Companies on your own list are no longer buried by guesswork. If a company you listed was not found in the Finnish trade register and no contacts could be extracted from its site, Atlas could read it as an "unregistered personal site" and cut its score to near zero â including large foreign companies, which naturally are not in the Finnish register. Measured: 59 rows out of 168. When you list a company yourself, that is a guarantee it exists, so this inference no longer applies to your own list or to a company looked up by name. Normal search is unchanged.
- đïž Locality, region and founding date now included in exports. The CSV and Excel exports had no columns at all for registered office, region or founding date, even though Atlas fetches them from the register. They are now included in both exports and in the lead's details.
- đ§č The log file no longer fills up with network noise. A broken compression, a failed TLS handshake or a vanished domain each produced a full stack trace in the log. These are now recorded on a single line, so real faults stand out and the log stays light.
- âïž Your own message always wins in batch sending. Serious bug: when you edited a message yourself before sending, the recipient could still receive Atlas's generated message â your edit went into the plain-text part, but a previously generated hidden HTML part was sent along and email clients display exactly that. Your written text now replaces both parts, so preview = sent, literally. A message written without a subject line is also kept untouched (only the missing subject is filled in).
1.0.771
2026-07-301.0.771 - 2026-07-30 - "đ° Liikevaihto tulee taas â ja kertoo syyn jos ei tule + yrityksen ikĂ€ suodattimeksi"
đ«đź Suomi
- đșïž Aluehaku ei enÀÀ hylkÀÀ alueen omia yrityksiĂ€. Goldmine-haussa rekisteristĂ€ löytynyt yritys saattoi saada leiman "aluetta ei vahvistettu" â ja pudota listan hĂ€nnille â vaikka rekisteri itse oli juuri kertonut sen kotipaikan (esim. tamperelainen firma Pirkanmaa-haussa). Nyt rekisterin oma kotipaikkatieto kelpaa todisteeksi, ja vahvistus ajetaan uudelleen jos tiedot tĂ€ydentyvĂ€t kesken ajon. Myös pienempien paikkakuntien kotipaikat (kylĂ€nnimet) tunnistetaan nyt oikealle alueelle.
- đ§Ÿ Rekisterifaktat kulkevat liidin mukana loppuun asti. Y-tunnus, alue, kotipaikka, perustamispĂ€ivĂ€ ja yhtiömuoto saattoivat kadota rikastuksen aikana â nyt ne sĂ€ilyvĂ€t liidikorttiin ja liidipankkiin asti, eikĂ€ samoja tietoja tarvitse hakea uudestaan seuraavissa ajoissa.
- ⥠Goldmine-ajon hetkittÀiset jumit korjattu. Kolme raskasta työvaihetta (rekisterihaku joka ei voinut edes onnistua, WHOIS/rekry-rikastus ja karttadatan indeksointi) pyöri haun kanssa samassa sÀikeessÀ ja jÀÀdytti ajoa sekunneiksi kerrallaan. Mitattu: ~10 % ajoajasta jÀÀssÀ. Nyt ne ajetaan työsÀikeissÀ ja turha haku ohitetaan kokonaan.
- đ Goldmine nĂ€yttÀÀ kaikki rekisterin firmat. SisĂ€inen "kiinnostussuodatin" pudotti osan rekisteristĂ€ löytyneistĂ€ yrityksistĂ€, koska nĂ€kymĂ€ttömillĂ€ firmoilla ei ole hakukonejĂ€lkeĂ€ josta kiinnostusta voisi mitata â eli suodatin karsi juuri niitĂ€ firmoja joita goldmine lupaa. RekisteristĂ€ löytynyt yritys ei enÀÀ putoa tĂ€llĂ€ perusteella.
- đ„ SyvĂ€analyysin tulokset talteen kokonaisuudessaan. Löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t tallentuvat nyt liidipankkiin luotettavasti, eikĂ€ tallennusraja enÀÀ heitĂ€ pois parhaiten onnistuneiden analyysien tuloksia. Myös pankin suodattimet (LinkedIn, rahoitus, uutiset) toimivat taas.
- đ Peruutus pysĂ€yttÀÀ nyt kaiken heti. Aiemmin haun peruutuksen jĂ€lkeen saattoi vielĂ€ ilmestyĂ€ uusia liidejĂ€, ja pysĂ€ytyslippu saattoi jÀÀdĂ€ pÀÀlle seuraavaan hakuun. Molemmat korjattu.
- đ§ KansainvĂ€liset sĂ€hköpostit eivĂ€t enÀÀ tyssÀÀ turhaan. SĂ€hköpostien tarkistuksessa oli kaksi eri sallittujen pÀÀtteiden listaa, ja 61 maan osoitteet (mm. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) torjuttiin virheellisesti. Portti kÀÀntyi sallitusta kielletyt-listaksi â vain oikeasti epĂ€ilyttĂ€vĂ€t pÀÀtteet torjutaan.
- đ Yrityksen ikĂ€ nĂ€ytetÀÀn yrityksen ikĂ€nĂ€. Paneeli nĂ€ytti aiemmin verkkotunnuksen iĂ€n, koska rekisterin virallinen perustamispĂ€ivĂ€ haettiin mutta jĂ€i lukematta. Nyt virallinen pĂ€ivĂ€ voittaa aina.
- đ± Yrityksen iĂ€llĂ€ voi nyt hakea, suodattaa ja lajitella. Virallinen perustamispĂ€ivĂ€ oli tallessa, mutta sitĂ€ ei pÀÀssyt kĂ€yttĂ€mÀÀn mihinkÀÀn. Nyt liiditaulukossa on Perustettu-sarake (klikkaus lajittelee, nuorimmat kĂ€rkeen), liidipankissa ja liidilistassa on đ± Uusi yritys -suodatin (rekisteröity enintÀÀn 18 kk sitten) ja hakukenttĂ€ ymmĂ€rtÀÀ ikĂ€ehdot:
age<2(alle 2 v vanhat),age>=10(vakiintuneet),founded>2020,founded:false(yritykset joilta perustamispĂ€ivĂ€ puuttuu). Alle vuoden vanha yritys rakentaa toimittajansa juuri nyt â sitĂ€ segmenttiĂ€ ei voi kohdistaa ilman tĂ€tĂ€ tietoa. TĂ€rkeĂ€ rajaus: jos perustamispĂ€ivÀÀ ei tiedetĂ€, yritys ei osu ikĂ€suodattimeen kumpaankaan suuntaan â Atlas ei arvaa firman ikÀÀ. - đ° Liikevaihto tulee taas KauppalehdestĂ€ â lĂ€hde oli rikki. Kauppalehti-haku osoitti sivulle joka palauttaa virheen (404), joten se ei ole voinut tuottaa liikevaihtoa sen jĂ€lkeen kun Kauppalehti vaihtoi osoitteitaan â ja syvĂ€analyysissĂ€ se vielĂ€ odotti tuota virhesivua 32 sekuntia turhaan. Nyt kĂ€ytetÀÀn yrityksen omaa sivua y-tunnuksella, jolta liikevaihto, henkilöstömÀÀrĂ€ ja perustamispĂ€ivĂ€ lukevat suoraan. Mitattu korjauksen jĂ€lkeen: 314 948 ⏠(3,5 s) ja 4 171 137 ⏠(0,6 s) yrityksille jotka aiemmin palauttivat tyhjÀÀ. Samalla y-tunnus vĂ€litetÀÀn lĂ€hteelle kaikista poluista â se oli tiedossa mutta ei kulkenut perille.
- đĄïž Estetty riski ettĂ€ toisen yrityksen liikevaihto nĂ€kyisi vÀÀrĂ€llĂ€ yrityksellĂ€. Kauppalehden sivulla on myös muiden yritysten nostoja, ja vanha lukija poimi sivun ensimmĂ€isen luvun ja ensimmĂ€isen y-tunnuksen. Nyt luku hyvĂ€ksytÀÀn vain jos sivulla on juuri kysytty y-tunnus ja luku on sen vĂ€littömĂ€ssĂ€ yhteydessĂ€ (mitattu ero: oma luku 0,8â1,1 kt pÀÀssĂ€, vieras 14 kt).
- đ Uudet ostosignaalit: muutosohjelma, organisaatiouudistus, uusi strategia ja uusi COO. Atlas tunnisti uutisista aiemmin rahoituksen, yritysoston, laajentumisen, tuotejulkaisun ja uuden toimitusjohtajan. Nyt mukaan tulivat ne hetket joissa yritys tarvitsee ulkopuolista apua muutoksen lĂ€pivientiin: muutos-/transformaatio-ohjelman kĂ€ynnistys, organisaatiouudistus ja uusi toimintamalli, uuden strategian tai kasvusuunnitelman julkistus sekĂ€ COO-, liiketoiminta-, strategia- ja henkilöstöjohtajan nimitykset (aiemmin vain toimitusjohtaja). Signaalit tunnistetaan sekĂ€ suomeksi ettĂ€ englanniksi, ja ne nostavat myös đ-signaalikombon.
- đ«đź Korjattu kolme suomen taivutusaukkoa talousvaikeuksien tunnistuksessa. Uutinen "hakeutui yrityssaneeraukseen" ei osunut tunnistukseen lainkaan (haettiin muotoa "saneeraus", joka ei sisĂ€lly taivutettuun "saneeraukseen"), joten yritys saattoi saada positiivisen ostosignaalin samasta uutisesta jossa kerrottiin saneerauksesta. Sama koski sanaa "lomautus", ja YT-lain uudistuksen jĂ€lkeinen virallinen termi "muutosneuvottelut" puuttui kokonaan. Nyt kaikki kolme tunnistetaan, ja talousvaikeus estÀÀ aina positiivisen signaalin. RemonttimielessĂ€ kĂ€ytetty "saneeraus" ei kuitenkaan vaienna aitoja signaaleja.
- đ„ Liidikortin henkilölista on taas luettava. Kortti latoi kaikki verkkosivulta löytyneet nimet perĂ€kkĂ€in â kymmeniĂ€ nimiĂ€, jokainen kahdella rivillĂ€ ja useimmat ilman titteliĂ€ â jolloin lista tĂ€ytti koko kortin ja työnsi muun tiedon nĂ€kymĂ€n ulkopuolelle. Nyt titteliĂ€ kantavat ja kaupparekisteristĂ€ varmistetut pÀÀttĂ€jĂ€t ovat ensimmĂ€isinĂ€, ja loput nimet kerrotaan yhdellĂ€ rivillĂ€ ("+N muuta nimettyĂ€ kontaktia") â mitÀÀn ei pudoteta: kaikki nimet ovat edelleen viennissĂ€ ja liidipankissa.
- đ§Ÿ "NEXT STEP" ei enÀÀ sano pÀÀttĂ€jiksi nimiĂ€ joilla ei ole roolia. RivillĂ€ luki esimerkiksi "24 decision makers identified" kun kyse oli 24 verkkosivulta poimitusta nimestĂ€. PÀÀttĂ€jiksi lasketaan nyt vain ne joilla on titteli tai kaupparekisterin merkintĂ€; muut ovat "nimettyjĂ€ kontakteja".
- đ§ PerintĂ€toimiston laskutusosoite ei enÀÀ nĂ€y yrityksen sĂ€hköpostina. Kortilla saattoi lukea yrityksen yhteystietona kolmannen osapuolen perintĂ€-/verkkolaskuoperaattorin osoite (esim.
invoices-âŠ@kollektorinvoice.com). NĂ€mĂ€ suodatetaan nyt pois yhteisessĂ€ sĂ€hköpostiportissa. Rajaus tehtiin tarkasti: gmail- ja hotmail-osoitteet sĂ€ilyvĂ€t, koska pienyritysten aidot yhteysosoitteet ovat usein niissĂ€. - đșïž Ohjelma kertoo nyt jos kaupunkidata puuttuu. Kaupunkitiedot (661 MB) asennetaan erillisenĂ€ osana, ja jos sitĂ€ ei ole vielĂ€ ladattu, alue- ja kaupunkirajaus ei voi toimia â goldmine-haku nĂ€ytti silti tĂ€ysin normaalilta ja tuotti rajaamattomia tuloksia. Puute nĂ€kyi vain lokitiedostossa. Nyt haun alussa kerrotaan suoraan: "kaupunkidata puuttuu â aluerajaus ei toimi tĂ€ssĂ€ ajossa, kĂ€ynnistĂ€ sovellus AtlasLauncherilla tai odota latausta". Ohjelma ei enÀÀ nĂ€ytĂ€ tekevĂ€nsĂ€ jotain mitĂ€ se ei tee.
- đš Korjattu virheellinen konkurssimerkintĂ€. Liidikortti saattoi nĂ€yttÀÀ punaisen "Financial distress: Bankruptcy" -merkinnĂ€n yritykselle joka ei ole konkurssissa (varmistettu kaupparekisteristĂ€: ei yhtÀÀn yritystilannemerkintÀÀ). Syy: tilan tunnistus luki koko sivun ja osui Kauppalehden hakusivun pudotusvalikon vaihtoehtoihin ("KonkurssipesĂ€", "Selvitystila") â eli valikon sanastoon, ei mihinkÀÀn tietoon yrityksestĂ€. TĂ€mĂ€ osui jokaiseen yritykseen joka haettiin siltĂ€ sivulta. Nyt merkintĂ€ vaatii varsinaisen ilmoitusmuodon ("asetettu konkurssiin"), sen on liityttĂ€vĂ€ juuri kysytyn yrityksen tietoihin, eikĂ€ valikkosanastosta voi enÀÀ syntyĂ€ merkintÀÀ.
- đ Talousvaikeus-merkintĂ€ ei nĂ€y ilman toimivaa lĂ€hdelinkkiĂ€. LĂ€hteenĂ€ luki "Kauppalehti" mutta linkki ei ollut klikattava. Konkurssi on vakavin asia mitĂ€ yrityksestĂ€ voi sanoa, joten sÀÀntö on nyt yksiselitteinen: ilman todistelinkkiĂ€ merkintÀÀ ei nĂ€ytetĂ€ lainkaan. Aiemmin kerĂ€tyt merkinnĂ€t piiloutuvat kunnes ne on todennettu uudelleen.
- đ Estetty vÀÀrĂ€n verkkotunnuksen tarttuminen yritykseen. Kauppalehden sivulta luettiin osoite, puhelin ja verkkotunnus koko sivun ensimmĂ€isestĂ€ osumasta â ja sivulla on myös julkaisijan omat tiedot, joten yrityksen kotisivuksi saattoi tulla iltalehti.fi. Nyt nĂ€mĂ€ luetaan vain siitĂ€ tietolohkosta joka on merkitty kysytyn yrityksen nimellĂ€. Samalla korjautui vÀÀrin poimittu puhelinnumero.
- âïž Kortti ei enÀÀ vĂ€itĂ€ "kaikki signaalit positiivisia" kun ne eivĂ€t ole. Sama kortti saattoi lukea "OTA YHTEYTTĂ NYT â kaikki signaalit positiivisia" ja samaan aikaan nĂ€yttÀÀ tappiollisuuden ja punaisen talousvaikeusmerkinnĂ€n. Priorisointiin ei koskettu, mutta teksti kertoo nyt totuuden: negatiivisen signaalin kanssa lukee "vahvat ostosignaalit, huomioi varaukset alla".
- đ§Ÿ Sivulta löytyneitĂ€ nimiĂ€ ei enÀÀ kutsuta pÀÀttĂ€jiksi. Kortilla saattoi lukea "26 pÀÀttĂ€jÀÀ tunnistettu" kun kyse oli 26 verkkosivulta poimitusta nimestĂ€ â kĂ€ytĂ€nnössĂ€ koko henkilöstöstĂ€, useimmat ilman titteliĂ€. Nyt ne ovat "nimettyjĂ€ kontakteja"; vain kaupparekisteristĂ€ tulevat nimet esitetÀÀn pÀÀttĂ€jinĂ€. LisĂ€ksi "tehokas ja kannattava per henkilö" ei enÀÀ esiinny tappiollisella yrityksellĂ€ â liikevaihto per henkilö on fakta, kannattavuus eri asia.
- đŻ Y-tunnus haetaan nyt nopeimmasta ja varmimmasta lĂ€hteestĂ€ ensin. Liikevaihdon saaminen edellyttÀÀ y-tunnusta, ja sitĂ€ etsittiin ensin palvelinrekisteristĂ€ verkon yli â kun palvelin oli hidas, aikabudjetti kului siihen ja yrityksen oma sivu, jolla y-tunnus lukee, jĂ€i kokonaan kokeilematta. Tulos riippui siis palvelimen sen hetkisestĂ€ nopeudesta. Nyt jĂ€rjestys on: paikallinen rekisteri â yrityksen oma sivu (mitattu 0,4â2,9 s, varmistetaan aina PRH:sta) â palvelinrekisteri â PRH-nimihaku. LisĂ€ksi raskas sivunrenderöinti aloitetaan vain jos se mahtuu aikabudjettiin, joten viimeiselle hakuvaiheelle jÀÀ aina oma osuus.
- â»ïž Puutteellinen talousvastaus ei jÀÀ muistiin viikoksi. Virallisen sivun tulokset pidetÀÀn muistissa 7 vuorokautta ("tilinpÀÀtös ei muutu viikossa"), mutta jos sivu jĂ€i kesken eikĂ€ lukuja saatu, myös se tyhjĂ€ vastaus sĂ€ilyi viikon eikĂ€ uusi ajo yrittĂ€nyt uudelleen. Nyt valmis tulos sĂ€ilyy 7 vrk ja puutteellinen 12 tuntia.
- đ Liikevaihto ei enÀÀ lakkaa tulemasta kesken työsession. TĂ€mĂ€ selittÀÀ sen ettĂ€ liikevaihto tuli "vĂ€lillĂ€ ja vĂ€lillĂ€ ei". Kun tietolĂ€hde ei vastannut kolme kertaa perĂ€kkĂ€in, Atlas oikosulki sen â mutta sulku ei koskaan auennut itsestÀÀn, vaan vasta uuden haun alussa. SyvĂ€analyysi ei avannut sitĂ€ lainkaan, joten yksi huono verkkohetki saattoi estÀÀ liikevaihdon kaikilta lopun session yrityksiltĂ€ ohjelman uudelleenkĂ€ynnistykseen asti. Nyt sulku vanhenee itsestÀÀn kahdessa minuutissa ja pÀÀstÀÀ koeyrityksen lĂ€pi, ja syvĂ€analyysi aloittaa aina puhtaalta. Samalla korjattiin toinen sama ilmiö: haun sisĂ€inen 60 yrityksen katto taloustietojen haulle ei nollautunut ajojen vĂ€lillĂ€, joten luvut loppuivat pysyvĂ€sti ja hiljaa â nyt se nollataan joka ajon alussa ja katon osuminen kirjataan lokiin.
- đ§Ÿ TyhjĂ€ liikevaihtokohta kertoo nyt syyn. Kolme tĂ€ysin eri tilannetta nĂ€ytti samalta tyhjĂ€ltĂ€ ruudulta ja luki kuin ohjelmavirhe: yritystĂ€ ei ole kaupparekisterissĂ€ (tilinpÀÀtöstĂ€ ei ole olemassa), yritys on rekisterissĂ€ mutta lukuja ei ole julkaistu, tai tietolĂ€hde ei vastannut. Nyt kortti sanoo kumpi on kyseessĂ€. Tekninen hĂ€iriö ei koskaan esiinny vĂ€itteenĂ€ "ei tilinpÀÀtöstĂ€", eikĂ€ syytĂ€ nĂ€ytetĂ€ ennen kuin se on todettu.
- đ Suodatinnapit ovat nyt kĂ€yttĂ€jĂ€n kielellĂ€. Liidipankin ja liidilistan pikasuodattimet (PÀÀttĂ€jĂ€, Rekrytoi, Rahoitus, UutisiaâŠ) nĂ€kyivĂ€t suomeksi myös englannin- ja venĂ€jĂ€nkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€. Nyt kaikki napit on kÀÀnnetty kaikille kolmelle kielelle.
- đ Oman listan CSV-raportissa on nyt rikastettu data. Lista-ajon lopussa syntyvĂ€ CSV/Excel sisĂ€lsi vain syöterivit â löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t puuttuivat, vaikka ne nĂ€kyivĂ€t ruudulla. Nyt raporttiin kirjautuu jokaisen rivin paras rikastettu versio. Myös lista-ajon hetkittĂ€iset jumit (mitattu jopa 45 s) korjattiin samalla työsĂ€iemallilla kuin haun jumit.
- đïž "Nimi, Kaupunki" -rivit ymmĂ€rretÀÀn. Listarivi kuten "Solita Oy, Tampere" meni aiemmin hakuun sellaisenaan eikĂ€ yrityksen sivustoa löytynyt koskaan. Nyt kaupunkipÀÀte tunnistetaan (oikeaa kaupunkia vasten â pilkullinen yritysnimi ei mene rikki) ja nimi ja paikkakunta kĂ€sitellÀÀn erikseen.
- đ§Ÿ Y-tunnus kulkee liidin mukana. Rekisterihaku löysi y-tunnuksen useimmille yrityksille, mutta se hĂ€visi matkalla eikĂ€ koskaan tallentunut â jokainen uusi ajo aloitti alusta. Nyt y-tunnus tallentuu heti kun se on selvitetty, vaikka talousluvut eivĂ€t sillĂ€ hetkellĂ€ olisi saatavilla.
- đ Oman listan yrityksiĂ€ ei enÀÀ paineta pohjalle arvauksella. Jos listaamaasi yritystĂ€ ei löytynyt Suomen kaupparekisteristĂ€ eikĂ€ sen sivuilta irronnut yhteystietoja, Atlas saattoi tulkita sen "rekisteröimĂ€ttömĂ€ksi henkilösivustoksi" ja pudottaa pisteet lĂ€hes nollaan â myös suurilta ulkomaisilta yrityksiltĂ€, jotka eivĂ€t luonnollisesti ole Suomen rekisterissĂ€. Mitattu: 59 riviĂ€ 168:sta. Kun sinĂ€ itse listaat yrityksen, se on takuu sen olemassaolosta, joten tĂ€tĂ€ pÀÀttelyĂ€ ei enÀÀ sovelleta omaan listaan eikĂ€ nimellĂ€ haettuun yritykseen. Tavallinen haku toimii ennallaan.
- đïž Paikkakunta, alue ja perustamispĂ€ivĂ€ mukaan vientiin. CSV- ja Excel-viennissĂ€ ei ollut lainkaan sarakkeita kotipaikalle, alueelle eikĂ€ yrityksen perustamispĂ€ivĂ€lle, vaikka Atlas hakee ne rekisteristĂ€. Nyt ne ovat mukana molemmissa vienneissĂ€ ja liidin tiedoissa.
- đ§č Lokitiedosto ei enÀÀ tĂ€yty verkkokohinasta. RikkinĂ€inen pakkaus, katkennut TLS-kĂ€ttely tai kadonnut verkkotunnus tuotti jokaisesta tapauksesta tĂ€yden virhejĂ€ljen lokiin. Nyt ne kirjataan yhdelle riville, joten oikeat viat erottuvat ja loki pysyy kevyenĂ€.
- âïž Oma viestisi voittaa aina massalĂ€hetyksessĂ€. Vakava vika: kun muokkasit viestin itse ennen lĂ€hetystĂ€, vastaanottaja saattoi silti saada Atlaksen generoiman viestin â muokkauksesi meni viestin tekstiosaan, mutta piilossa ollut aiemmin generoitu HTML-osa lĂ€hti mukana ja sĂ€hköpostiohjelmat nĂ€yttĂ€vĂ€t juuri sen. Nyt kirjoittamasi teksti korvaa aina molemmat osat, eli esikatselu = lĂ€hetetty, kirjaimellisesti. Myös ilman otsikkoriviĂ€ kirjoitettu viesti sĂ€ilyy koskemattomana (vain puuttuva otsikko tĂ€ydennetÀÀn).
đŹđ§ English
- đșïž Region search no longer rejects the region's own companies. In goldmine, a company found in the registry could get flagged "region unconfirmed" â and sink to the bottom â even though the registry itself had just reported its registered office (e.g. a Tampere company in a Pirkanmaa search). The registry's own seat now counts as evidence, confirmation re-runs when data completes mid-run, and small-locality seat names are now mapped to the right region.
- đ§Ÿ Registry facts travel with the lead all the way. Business ID, region, registered office, founding date and company form could get lost during enrichment â they now persist to the lead card and the lead vault, so the same facts never need re-fetching in later runs.
- ⥠Momentary goldmine freezes fixed. Three heavy steps (a registry lookup that could not even succeed, WHOIS/hiring enrichment, and map-data indexing) ran in the search thread and froze the run for seconds at a time â measured ~10% of run time. They now run in worker threads, and the pointless lookup is skipped entirely.
- đ Goldmine shows every registry company. An internal "interest filter" dropped some registry-found companies because invisible firms leave no search-engine trace to measure interest from â i.e. it filtered out exactly the companies goldmine promises. Registry-found companies no longer drop on that basis.
- đ„ Deep-analysis results are stored in full. Found emails, phone numbers and decision makers now persist reliably to the lead vault, and the storage cap no longer discards the results of the most successful analyses. Vault filters (LinkedIn, financing, news) work again.
- đ Cancel now stops everything immediately. Previously new leads could still appear after cancelling, and the stop flag could stay on into the next search. Both fixed.
- đ§ International emails no longer get blocked needlessly. Email validation had two separate allow-lists, and addresses from 61 countries (incl. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) were rejected in error. The gate is now a block-list â only genuinely suspicious endings are refused.
- đ Company age is shown as company age. The panel previously showed the domain's age because the official founding date was fetched from the registry but never read. The official date now always wins.
- đ± Company age is now searchable, filterable and sortable. The official founding date was stored but could not be used anywhere. The lead table now has a Founded column (click to sort, youngest first), the lead vault and lead list have a đ± New company filter (registered no more than 18 months ago), and the search box understands age conditions:
age<2(under 2 years old),age>=10(established),founded>2020,founded:false(companies with no founding date on file). A company under a year old is choosing its suppliers right now â that segment cannot be targeted without this data. Important limit: when the founding date is unknown, the company does not match an age filter in either direction â Atlas does not guess a company's age. - đ° Revenue comes from Kauppalehti again â the source was broken. The Kauppalehti lookup pointed at a URL that returns an error (404), so it could not have produced revenue since Kauppalehti changed its routes â and in deep analysis it still waited 32 seconds on that error page for nothing. It now uses the company's own page by business ID, where revenue, headcount and the founding date are readable directly. Measured after the fix: âŹ314,948 (3.5 s) and âŹ4,171,137 (0.6 s) for companies that previously returned nothing. The business ID is also passed to the source from every path â it was known but never reached it.
- đĄïž Prevented a risk of showing another company's revenue on the wrong lead. The Kauppalehti page also features other companies, and the old reader took the page's first figure and first business ID. A figure is now accepted only if the requested business ID is on the page and the figure sits immediately next to it (measured distance: own figure 0.8â1.1 kB away, foreign one 14 kB).
- đ New buying signals: change programs, reorganisations, new strategies and new COOs. Atlas previously detected funding, acquisitions, expansion, product launches and new CEOs in the news. It now also catches the moments when a company needs outside help to execute change: transformation/change programme launches, reorganisations and new operating models, new strategy or growth-plan announcements, and COO, business, strategy and HR director appointments (previously CEO only). Detected in both Finnish and English, and they also feed the đ signal combo.
- đ«đź Fixed three Finnish inflection gaps in distress detection. A headline about a company entering corporate restructuring ("yrityssaneeraukseen") was not detected at all â the search term was the base form, which is not contained in the inflected word â so a company could receive a positive buying signal from the very article reporting its restructuring. The same applied to "lomautus" (layoff), and the official post-reform Finnish term "muutosneuvottelut" was missing entirely. All three are now detected, and financial distress always blocks a positive signal. Renovation-sense uses of the same Finnish word still do not silence genuine signals.
- đ„ The lead card's people list is readable again. The card listed every name found on the website one after another â dozens of names, each on two rows and most without a title â so the list filled the whole card and pushed everything else out of view. Titled people and decision makers verified from the trade register now come first, and the remaining names are summarised on one line ("+N more named contacts") â nothing is dropped: every name is still in the export and the lead vault.
- đ§Ÿ "NEXT STEP" no longer calls untitled names decision makers. The line could read "24 decision makers identified" when these were 24 names scraped from the website. Only people with a title or a trade-register entry are counted as decision makers; the rest are "named contacts".
- đ§ A debt-collection billing address no longer appears as the company's email. The card could list a third-party collection or e-invoicing operator address (e.g.
invoices-âŠ@kollektorinvoice.com) as the company's contact. These are now filtered in the shared email gate. The scope was kept tight: gmail and hotmail addresses are preserved, because small companies' genuine contact addresses are often there. - đșïž The app now tells you when city data is missing. City data (661 MB) is installed as a separate component, and if it has not been downloaded yet, region and city targeting cannot work â yet a goldmine search still looked completely normal and returned unscoped results. The gap was visible only in the log file. The start of a search now states it plainly: "city data missing â region targeting unavailable in this run; start the app via AtlasLauncher or wait for the download". The app no longer appears to do something it is not doing.
- đš Fixed a false bankruptcy flag. A lead card could show a red "Financial distress: Bankruptcy" flag for a company that is not bankrupt (verified against the trade register: no company-situation entries at all). Cause: the detector scanned the whole page and matched the dropdown filter options on Kauppalehti's page ("KonkurssipesĂ€", "Selvitystila") â the menu vocabulary, not any information about the company. It therefore hit every company fetched from that page. The flag now requires an actual statement form ("placed in bankruptcy"), must be tied to the requested company's own data, and menu vocabulary can no longer produce a flag.
- đ A financial-distress flag is not shown without a working source link. The source read "Kauppalehti" but the link was not clickable. Bankruptcy is the most serious thing that can be said about a company, so the rule is now absolute: no proof link, no flag. Previously collected flags stay hidden until they are re-verified.
- đ Prevented the wrong website from attaching to a company. Address, phone and website were read from the first match on the whole Kauppalehti page â which also carries the publisher's own details, so a company's website could end up as iltalehti.fi. These are now read only from the data block labelled with the requested company's name. A mis-parsed phone number was fixed by the same change.
- âïž The card no longer claims "all signals positive" when they are not. The same card could read "CONTACT NOW â all signals positive" while also showing a loss and a red distress flag. Prioritisation is unchanged, but the wording now tells the truth: with a negative signal it reads "strong buying signals, note the caveats below".
- đ§Ÿ Names found on a website are no longer called decision makers. A card could read "26 decision makers identified" when these were 26 names scraped from the website â effectively the whole staff, most without a title. They are now "named contacts"; only names from the trade register are presented as decision makers. Also, "lean and profitable per head" no longer appears for a loss-making company â revenue per head is a fact, profitability is a different matter.
- đŻ The business ID is now looked up from the fastest, most certain source first. Getting revenue requires the business ID, and it was searched from the server registry over the network first â when that server was slow, the time budget went to it and the company's own site, where the ID is printed, was never tried at all. The outcome therefore depended on the server's speed at that moment. The order is now: local registry â the company's own site (measured 0.4â2.9 s, always verified against the official register) â server registry â official name search. Heavy page rendering is also only started if it fits the time budget, so the last stage always keeps its share.
- â»ïž An incomplete financial response is no longer remembered for a week. Official-page results are cached for 7 days ("a financial statement does not change in a week"), but if the page came back incomplete and no figures were found, that empty answer was kept for a week too and no later run retried. A complete result is now kept 7 days and an incomplete one 12 hours.
- đ Revenue no longer stops arriving mid-session. This explains why revenue appeared "sometimes but not always". When a data source failed to respond three times in a row, Atlas short-circuited it â but the circuit never reopened on its own, only at the start of a new search. Deep analysis never reopened it at all, so one bad network moment could block revenue for every remaining company in the session until the app was restarted. The circuit now expires on its own after two minutes and lets a trial request through, and deep analysis always starts clean. A second instance of the same phenomenon was fixed too: the internal 60-company cap on financial lookups never reset between runs, so the figures stopped permanently and silently â it is now reset at the start of every run and hitting the cap is written to the log.
- đ§Ÿ An empty revenue field now states the reason. Three entirely different situations looked like the same blank space and read like a bug: the company is not in the trade register (no statement exists), the company is in the register but has published no figures, or the data source did not respond. The card now says which one it is. A technical failure is never presented as the claim "no financial statement", and no reason is shown before it has been established.
- đ Filter buttons are now in your language. The quick filters in the lead vault and lead list (Decision maker, Hiring, Funding, In the newsâŠ) appeared in Finnish even in the English and Russian interface. All buttons are now translated for all three languages.
- đ Your own list's CSV report now contains the enriched data. The CSV/Excel produced at the end of a list run only contained the input rows â found emails, phone numbers and decision makers were missing even though they showed on screen. The report now records the best enriched version of every row. The list run's momentary freezes (measured up to 45 s) were fixed with the same worker-thread model as the search freezes.
- đïž "Name, City" rows are understood. A list row like "Solita Oy, Tampere" previously went into the search as-is and the company's website was never found. The city suffix is now recognized (validated against real cities â a company name containing a comma is not broken up) and name and locality are handled separately.
- đ§Ÿ The business ID travels with the lead. The registry lookup found the business ID for most companies, but it was lost on the way and never stored â every new run started from scratch. It is now saved as soon as it is resolved, even when financials are not available at that moment.
- đ Companies on your own list are no longer buried by guesswork. If a company you listed was not found in the Finnish trade register and no contacts could be extracted from its site, Atlas could read it as an "unregistered personal site" and cut its score to near zero â including large foreign companies, which naturally are not in the Finnish register. Measured: 59 rows out of 168. When you list a company yourself, that is a guarantee it exists, so this inference no longer applies to your own list or to a company looked up by name. Normal search is unchanged.
- đïž Locality, region and founding date now included in exports. The CSV and Excel exports had no columns at all for registered office, region or founding date, even though Atlas fetches them from the register. They are now included in both exports and in the lead's details.
- đ§č The log file no longer fills up with network noise. A broken compression, a failed TLS handshake or a vanished domain each produced a full stack trace in the log. These are now recorded on a single line, so real faults stand out and the log stays light.
- âïž Your own message always wins in batch sending. Serious bug: when you edited a message yourself before sending, the recipient could still receive Atlas's generated message â your edit went into the plain-text part, but a previously generated hidden HTML part was sent along and email clients display exactly that. Your written text now replaces both parts, so preview = sent, literally. A message written without a subject line is also kept untouched (only the missing subject is filled in).
1.0.770
2026-07-301.0.770 - 2026-07-30 - "đ° Liikevaihto tulee taas â ja kertoo syyn jos ei tule + yrityksen ikĂ€ suodattimeksi"
đ«đź Suomi
- đșïž Aluehaku ei enÀÀ hylkÀÀ alueen omia yrityksiĂ€. Goldmine-haussa rekisteristĂ€ löytynyt yritys saattoi saada leiman "aluetta ei vahvistettu" â ja pudota listan hĂ€nnille â vaikka rekisteri itse oli juuri kertonut sen kotipaikan (esim. tamperelainen firma Pirkanmaa-haussa). Nyt rekisterin oma kotipaikkatieto kelpaa todisteeksi, ja vahvistus ajetaan uudelleen jos tiedot tĂ€ydentyvĂ€t kesken ajon. Myös pienempien paikkakuntien kotipaikat (kylĂ€nnimet) tunnistetaan nyt oikealle alueelle.
- đ§Ÿ Rekisterifaktat kulkevat liidin mukana loppuun asti. Y-tunnus, alue, kotipaikka, perustamispĂ€ivĂ€ ja yhtiömuoto saattoivat kadota rikastuksen aikana â nyt ne sĂ€ilyvĂ€t liidikorttiin ja liidipankkiin asti, eikĂ€ samoja tietoja tarvitse hakea uudestaan seuraavissa ajoissa.
- ⥠Goldmine-ajon hetkittÀiset jumit korjattu. Kolme raskasta työvaihetta (rekisterihaku joka ei voinut edes onnistua, WHOIS/rekry-rikastus ja karttadatan indeksointi) pyöri haun kanssa samassa sÀikeessÀ ja jÀÀdytti ajoa sekunneiksi kerrallaan. Mitattu: ~10 % ajoajasta jÀÀssÀ. Nyt ne ajetaan työsÀikeissÀ ja turha haku ohitetaan kokonaan.
- đ Goldmine nĂ€yttÀÀ kaikki rekisterin firmat. SisĂ€inen "kiinnostussuodatin" pudotti osan rekisteristĂ€ löytyneistĂ€ yrityksistĂ€, koska nĂ€kymĂ€ttömillĂ€ firmoilla ei ole hakukonejĂ€lkeĂ€ josta kiinnostusta voisi mitata â eli suodatin karsi juuri niitĂ€ firmoja joita goldmine lupaa. RekisteristĂ€ löytynyt yritys ei enÀÀ putoa tĂ€llĂ€ perusteella.
- đ„ SyvĂ€analyysin tulokset talteen kokonaisuudessaan. Löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t tallentuvat nyt liidipankkiin luotettavasti, eikĂ€ tallennusraja enÀÀ heitĂ€ pois parhaiten onnistuneiden analyysien tuloksia. Myös pankin suodattimet (LinkedIn, rahoitus, uutiset) toimivat taas.
- đ Peruutus pysĂ€yttÀÀ nyt kaiken heti. Aiemmin haun peruutuksen jĂ€lkeen saattoi vielĂ€ ilmestyĂ€ uusia liidejĂ€, ja pysĂ€ytyslippu saattoi jÀÀdĂ€ pÀÀlle seuraavaan hakuun. Molemmat korjattu.
- đ§ KansainvĂ€liset sĂ€hköpostit eivĂ€t enÀÀ tyssÀÀ turhaan. SĂ€hköpostien tarkistuksessa oli kaksi eri sallittujen pÀÀtteiden listaa, ja 61 maan osoitteet (mm. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) torjuttiin virheellisesti. Portti kÀÀntyi sallitusta kielletyt-listaksi â vain oikeasti epĂ€ilyttĂ€vĂ€t pÀÀtteet torjutaan.
- đ Yrityksen ikĂ€ nĂ€ytetÀÀn yrityksen ikĂ€nĂ€. Paneeli nĂ€ytti aiemmin verkkotunnuksen iĂ€n, koska rekisterin virallinen perustamispĂ€ivĂ€ haettiin mutta jĂ€i lukematta. Nyt virallinen pĂ€ivĂ€ voittaa aina.
- đ± Yrityksen iĂ€llĂ€ voi nyt hakea, suodattaa ja lajitella. Virallinen perustamispĂ€ivĂ€ oli tallessa, mutta sitĂ€ ei pÀÀssyt kĂ€yttĂ€mÀÀn mihinkÀÀn. Nyt liiditaulukossa on Perustettu-sarake (klikkaus lajittelee, nuorimmat kĂ€rkeen), liidipankissa ja liidilistassa on đ± Uusi yritys -suodatin (rekisteröity enintÀÀn 18 kk sitten) ja hakukenttĂ€ ymmĂ€rtÀÀ ikĂ€ehdot:
age<2(alle 2 v vanhat),age>=10(vakiintuneet),founded>2020,founded:false(yritykset joilta perustamispĂ€ivĂ€ puuttuu). Alle vuoden vanha yritys rakentaa toimittajansa juuri nyt â sitĂ€ segmenttiĂ€ ei voi kohdistaa ilman tĂ€tĂ€ tietoa. TĂ€rkeĂ€ rajaus: jos perustamispĂ€ivÀÀ ei tiedetĂ€, yritys ei osu ikĂ€suodattimeen kumpaankaan suuntaan â Atlas ei arvaa firman ikÀÀ. - đ° Liikevaihto tulee taas KauppalehdestĂ€ â lĂ€hde oli rikki. Kauppalehti-haku osoitti sivulle joka palauttaa virheen (404), joten se ei ole voinut tuottaa liikevaihtoa sen jĂ€lkeen kun Kauppalehti vaihtoi osoitteitaan â ja syvĂ€analyysissĂ€ se vielĂ€ odotti tuota virhesivua 32 sekuntia turhaan. Nyt kĂ€ytetÀÀn yrityksen omaa sivua y-tunnuksella, jolta liikevaihto, henkilöstömÀÀrĂ€ ja perustamispĂ€ivĂ€ lukevat suoraan. Mitattu korjauksen jĂ€lkeen: 314 948 ⏠(3,5 s) ja 4 171 137 ⏠(0,6 s) yrityksille jotka aiemmin palauttivat tyhjÀÀ. Samalla y-tunnus vĂ€litetÀÀn lĂ€hteelle kaikista poluista â se oli tiedossa mutta ei kulkenut perille.
- đĄïž Estetty riski ettĂ€ toisen yrityksen liikevaihto nĂ€kyisi vÀÀrĂ€llĂ€ yrityksellĂ€. Kauppalehden sivulla on myös muiden yritysten nostoja, ja vanha lukija poimi sivun ensimmĂ€isen luvun ja ensimmĂ€isen y-tunnuksen. Nyt luku hyvĂ€ksytÀÀn vain jos sivulla on juuri kysytty y-tunnus ja luku on sen vĂ€littömĂ€ssĂ€ yhteydessĂ€ (mitattu ero: oma luku 0,8â1,1 kt pÀÀssĂ€, vieras 14 kt).
- đșïž Ohjelma kertoo nyt jos kaupunkidata puuttuu. Kaupunkitiedot (661 MB) asennetaan erillisenĂ€ osana, ja jos sitĂ€ ei ole vielĂ€ ladattu, alue- ja kaupunkirajaus ei voi toimia â goldmine-haku nĂ€ytti silti tĂ€ysin normaalilta ja tuotti rajaamattomia tuloksia. Puute nĂ€kyi vain lokitiedostossa. Nyt haun alussa kerrotaan suoraan: "kaupunkidata puuttuu â aluerajaus ei toimi tĂ€ssĂ€ ajossa, kĂ€ynnistĂ€ sovellus AtlasLauncherilla tai odota latausta". Ohjelma ei enÀÀ nĂ€ytĂ€ tekevĂ€nsĂ€ jotain mitĂ€ se ei tee.
- đš Korjattu virheellinen konkurssimerkintĂ€. Liidikortti saattoi nĂ€yttÀÀ punaisen "Financial distress: Bankruptcy" -merkinnĂ€n yritykselle joka ei ole konkurssissa (varmistettu kaupparekisteristĂ€: ei yhtÀÀn yritystilannemerkintÀÀ). Syy: tilan tunnistus luki koko sivun ja osui Kauppalehden hakusivun pudotusvalikon vaihtoehtoihin ("KonkurssipesĂ€", "Selvitystila") â eli valikon sanastoon, ei mihinkÀÀn tietoon yrityksestĂ€. TĂ€mĂ€ osui jokaiseen yritykseen joka haettiin siltĂ€ sivulta. Nyt merkintĂ€ vaatii varsinaisen ilmoitusmuodon ("asetettu konkurssiin"), sen on liityttĂ€vĂ€ juuri kysytyn yrityksen tietoihin, eikĂ€ valikkosanastosta voi enÀÀ syntyĂ€ merkintÀÀ.
- đ Talousvaikeus-merkintĂ€ ei nĂ€y ilman toimivaa lĂ€hdelinkkiĂ€. LĂ€hteenĂ€ luki "Kauppalehti" mutta linkki ei ollut klikattava. Konkurssi on vakavin asia mitĂ€ yrityksestĂ€ voi sanoa, joten sÀÀntö on nyt yksiselitteinen: ilman todistelinkkiĂ€ merkintÀÀ ei nĂ€ytetĂ€ lainkaan. Aiemmin kerĂ€tyt merkinnĂ€t piiloutuvat kunnes ne on todennettu uudelleen.
- đ Estetty vÀÀrĂ€n verkkotunnuksen tarttuminen yritykseen. Kauppalehden sivulta luettiin osoite, puhelin ja verkkotunnus koko sivun ensimmĂ€isestĂ€ osumasta â ja sivulla on myös julkaisijan omat tiedot, joten yrityksen kotisivuksi saattoi tulla iltalehti.fi. Nyt nĂ€mĂ€ luetaan vain siitĂ€ tietolohkosta joka on merkitty kysytyn yrityksen nimellĂ€. Samalla korjautui vÀÀrin poimittu puhelinnumero.
- âïž Kortti ei enÀÀ vĂ€itĂ€ "kaikki signaalit positiivisia" kun ne eivĂ€t ole. Sama kortti saattoi lukea "OTA YHTEYTTĂ NYT â kaikki signaalit positiivisia" ja samaan aikaan nĂ€yttÀÀ tappiollisuuden ja punaisen talousvaikeusmerkinnĂ€n. Priorisointiin ei koskettu, mutta teksti kertoo nyt totuuden: negatiivisen signaalin kanssa lukee "vahvat ostosignaalit, huomioi varaukset alla".
- đ§Ÿ Sivulta löytyneitĂ€ nimiĂ€ ei enÀÀ kutsuta pÀÀttĂ€jiksi. Kortilla saattoi lukea "26 pÀÀttĂ€jÀÀ tunnistettu" kun kyse oli 26 verkkosivulta poimitusta nimestĂ€ â kĂ€ytĂ€nnössĂ€ koko henkilöstöstĂ€, useimmat ilman titteliĂ€. Nyt ne ovat "nimettyjĂ€ kontakteja"; vain kaupparekisteristĂ€ tulevat nimet esitetÀÀn pÀÀttĂ€jinĂ€. LisĂ€ksi "tehokas ja kannattava per henkilö" ei enÀÀ esiinny tappiollisella yrityksellĂ€ â liikevaihto per henkilö on fakta, kannattavuus eri asia.
- đŻ Y-tunnus haetaan nyt nopeimmasta ja varmimmasta lĂ€hteestĂ€ ensin. Liikevaihdon saaminen edellyttÀÀ y-tunnusta, ja sitĂ€ etsittiin ensin palvelinrekisteristĂ€ verkon yli â kun palvelin oli hidas, aikabudjetti kului siihen ja yrityksen oma sivu, jolla y-tunnus lukee, jĂ€i kokonaan kokeilematta. Tulos riippui siis palvelimen sen hetkisestĂ€ nopeudesta. Nyt jĂ€rjestys on: paikallinen rekisteri â yrityksen oma sivu (mitattu 0,4â2,9 s, varmistetaan aina PRH:sta) â palvelinrekisteri â PRH-nimihaku. LisĂ€ksi raskas sivunrenderöinti aloitetaan vain jos se mahtuu aikabudjettiin, joten viimeiselle hakuvaiheelle jÀÀ aina oma osuus.
- â»ïž Puutteellinen talousvastaus ei jÀÀ muistiin viikoksi. Virallisen sivun tulokset pidetÀÀn muistissa 7 vuorokautta ("tilinpÀÀtös ei muutu viikossa"), mutta jos sivu jĂ€i kesken eikĂ€ lukuja saatu, myös se tyhjĂ€ vastaus sĂ€ilyi viikon eikĂ€ uusi ajo yrittĂ€nyt uudelleen. Nyt valmis tulos sĂ€ilyy 7 vrk ja puutteellinen 12 tuntia.
- đ Liikevaihto ei enÀÀ lakkaa tulemasta kesken työsession. TĂ€mĂ€ selittÀÀ sen ettĂ€ liikevaihto tuli "vĂ€lillĂ€ ja vĂ€lillĂ€ ei". Kun tietolĂ€hde ei vastannut kolme kertaa perĂ€kkĂ€in, Atlas oikosulki sen â mutta sulku ei koskaan auennut itsestÀÀn, vaan vasta uuden haun alussa. SyvĂ€analyysi ei avannut sitĂ€ lainkaan, joten yksi huono verkkohetki saattoi estÀÀ liikevaihdon kaikilta lopun session yrityksiltĂ€ ohjelman uudelleenkĂ€ynnistykseen asti. Nyt sulku vanhenee itsestÀÀn kahdessa minuutissa ja pÀÀstÀÀ koeyrityksen lĂ€pi, ja syvĂ€analyysi aloittaa aina puhtaalta. Samalla korjattiin toinen sama ilmiö: haun sisĂ€inen 60 yrityksen katto taloustietojen haulle ei nollautunut ajojen vĂ€lillĂ€, joten luvut loppuivat pysyvĂ€sti ja hiljaa â nyt se nollataan joka ajon alussa ja katon osuminen kirjataan lokiin.
- đ§Ÿ TyhjĂ€ liikevaihtokohta kertoo nyt syyn. Kolme tĂ€ysin eri tilannetta nĂ€ytti samalta tyhjĂ€ltĂ€ ruudulta ja luki kuin ohjelmavirhe: yritystĂ€ ei ole kaupparekisterissĂ€ (tilinpÀÀtöstĂ€ ei ole olemassa), yritys on rekisterissĂ€ mutta lukuja ei ole julkaistu, tai tietolĂ€hde ei vastannut. Nyt kortti sanoo kumpi on kyseessĂ€. Tekninen hĂ€iriö ei koskaan esiinny vĂ€itteenĂ€ "ei tilinpÀÀtöstĂ€", eikĂ€ syytĂ€ nĂ€ytetĂ€ ennen kuin se on todettu.
- đ Suodatinnapit ovat nyt kĂ€yttĂ€jĂ€n kielellĂ€. Liidipankin ja liidilistan pikasuodattimet (PÀÀttĂ€jĂ€, Rekrytoi, Rahoitus, UutisiaâŠ) nĂ€kyivĂ€t suomeksi myös englannin- ja venĂ€jĂ€nkielisessĂ€ kĂ€yttöliittymĂ€ssĂ€. Nyt kaikki napit on kÀÀnnetty kaikille kolmelle kielelle.
- đ Oman listan CSV-raportissa on nyt rikastettu data. Lista-ajon lopussa syntyvĂ€ CSV/Excel sisĂ€lsi vain syöterivit â löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t puuttuivat, vaikka ne nĂ€kyivĂ€t ruudulla. Nyt raporttiin kirjautuu jokaisen rivin paras rikastettu versio. Myös lista-ajon hetkittĂ€iset jumit (mitattu jopa 45 s) korjattiin samalla työsĂ€iemallilla kuin haun jumit.
- đïž "Nimi, Kaupunki" -rivit ymmĂ€rretÀÀn. Listarivi kuten "Solita Oy, Tampere" meni aiemmin hakuun sellaisenaan eikĂ€ yrityksen sivustoa löytynyt koskaan. Nyt kaupunkipÀÀte tunnistetaan (oikeaa kaupunkia vasten â pilkullinen yritysnimi ei mene rikki) ja nimi ja paikkakunta kĂ€sitellÀÀn erikseen.
- đ§Ÿ Y-tunnus kulkee liidin mukana. Rekisterihaku löysi y-tunnuksen useimmille yrityksille, mutta se hĂ€visi matkalla eikĂ€ koskaan tallentunut â jokainen uusi ajo aloitti alusta. Nyt y-tunnus tallentuu heti kun se on selvitetty, vaikka talousluvut eivĂ€t sillĂ€ hetkellĂ€ olisi saatavilla.
- đ Oman listan yrityksiĂ€ ei enÀÀ paineta pohjalle arvauksella. Jos listaamaasi yritystĂ€ ei löytynyt Suomen kaupparekisteristĂ€ eikĂ€ sen sivuilta irronnut yhteystietoja, Atlas saattoi tulkita sen "rekisteröimĂ€ttömĂ€ksi henkilösivustoksi" ja pudottaa pisteet lĂ€hes nollaan â myös suurilta ulkomaisilta yrityksiltĂ€, jotka eivĂ€t luonnollisesti ole Suomen rekisterissĂ€. Mitattu: 59 riviĂ€ 168:sta. Kun sinĂ€ itse listaat yrityksen, se on takuu sen olemassaolosta, joten tĂ€tĂ€ pÀÀttelyĂ€ ei enÀÀ sovelleta omaan listaan eikĂ€ nimellĂ€ haettuun yritykseen. Tavallinen haku toimii ennallaan.
- đïž Paikkakunta, alue ja perustamispĂ€ivĂ€ mukaan vientiin. CSV- ja Excel-viennissĂ€ ei ollut lainkaan sarakkeita kotipaikalle, alueelle eikĂ€ yrityksen perustamispĂ€ivĂ€lle, vaikka Atlas hakee ne rekisteristĂ€. Nyt ne ovat mukana molemmissa vienneissĂ€ ja liidin tiedoissa.
- đ§č Lokitiedosto ei enÀÀ tĂ€yty verkkokohinasta. RikkinĂ€inen pakkaus, katkennut TLS-kĂ€ttely tai kadonnut verkkotunnus tuotti jokaisesta tapauksesta tĂ€yden virhejĂ€ljen lokiin. Nyt ne kirjataan yhdelle riville, joten oikeat viat erottuvat ja loki pysyy kevyenĂ€.
- âïž Oma viestisi voittaa aina massalĂ€hetyksessĂ€. Vakava vika: kun muokkasit viestin itse ennen lĂ€hetystĂ€, vastaanottaja saattoi silti saada Atlaksen generoiman viestin â muokkauksesi meni viestin tekstiosaan, mutta piilossa ollut aiemmin generoitu HTML-osa lĂ€hti mukana ja sĂ€hköpostiohjelmat nĂ€yttĂ€vĂ€t juuri sen. Nyt kirjoittamasi teksti korvaa aina molemmat osat, eli esikatselu = lĂ€hetetty, kirjaimellisesti. Myös ilman otsikkoriviĂ€ kirjoitettu viesti sĂ€ilyy koskemattomana (vain puuttuva otsikko tĂ€ydennetÀÀn).
đŹđ§ English
- đșïž Region search no longer rejects the region's own companies. In goldmine, a company found in the registry could get flagged "region unconfirmed" â and sink to the bottom â even though the registry itself had just reported its registered office (e.g. a Tampere company in a Pirkanmaa search). The registry's own seat now counts as evidence, confirmation re-runs when data completes mid-run, and small-locality seat names are now mapped to the right region.
- đ§Ÿ Registry facts travel with the lead all the way. Business ID, region, registered office, founding date and company form could get lost during enrichment â they now persist to the lead card and the lead vault, so the same facts never need re-fetching in later runs.
- ⥠Momentary goldmine freezes fixed. Three heavy steps (a registry lookup that could not even succeed, WHOIS/hiring enrichment, and map-data indexing) ran in the search thread and froze the run for seconds at a time â measured ~10% of run time. They now run in worker threads, and the pointless lookup is skipped entirely.
- đ Goldmine shows every registry company. An internal "interest filter" dropped some registry-found companies because invisible firms leave no search-engine trace to measure interest from â i.e. it filtered out exactly the companies goldmine promises. Registry-found companies no longer drop on that basis.
- đ„ Deep-analysis results are stored in full. Found emails, phone numbers and decision makers now persist reliably to the lead vault, and the storage cap no longer discards the results of the most successful analyses. Vault filters (LinkedIn, financing, news) work again.
- đ Cancel now stops everything immediately. Previously new leads could still appear after cancelling, and the stop flag could stay on into the next search. Both fixed.
- đ§ International emails no longer get blocked needlessly. Email validation had two separate allow-lists, and addresses from 61 countries (incl. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) were rejected in error. The gate is now a block-list â only genuinely suspicious endings are refused.
- đ Company age is shown as company age. The panel previously showed the domain's age because the official founding date was fetched from the registry but never read. The official date now always wins.
- đ± Company age is now searchable, filterable and sortable. The official founding date was stored but could not be used anywhere. The lead table now has a Founded column (click to sort, youngest first), the lead vault and lead list have a đ± New company filter (registered no more than 18 months ago), and the search box understands age conditions:
age<2(under 2 years old),age>=10(established),founded>2020,founded:false(companies with no founding date on file). A company under a year old is choosing its suppliers right now â that segment cannot be targeted without this data. Important limit: when the founding date is unknown, the company does not match an age filter in either direction â Atlas does not guess a company's age. - đ° Revenue comes from Kauppalehti again â the source was broken. The Kauppalehti lookup pointed at a URL that returns an error (404), so it could not have produced revenue since Kauppalehti changed its routes â and in deep analysis it still waited 32 seconds on that error page for nothing. It now uses the company's own page by business ID, where revenue, headcount and the founding date are readable directly. Measured after the fix: âŹ314,948 (3.5 s) and âŹ4,171,137 (0.6 s) for companies that previously returned nothing. The business ID is also passed to the source from every path â it was known but never reached it.
- đĄïž Prevented a risk of showing another company's revenue on the wrong lead. The Kauppalehti page also features other companies, and the old reader took the page's first figure and first business ID. A figure is now accepted only if the requested business ID is on the page and the figure sits immediately next to it (measured distance: own figure 0.8â1.1 kB away, foreign one 14 kB).
- đșïž The app now tells you when city data is missing. City data (661 MB) is installed as a separate component, and if it has not been downloaded yet, region and city targeting cannot work â yet a goldmine search still looked completely normal and returned unscoped results. The gap was visible only in the log file. The start of a search now states it plainly: "city data missing â region targeting unavailable in this run; start the app via AtlasLauncher or wait for the download". The app no longer appears to do something it is not doing.
- đš Fixed a false bankruptcy flag. A lead card could show a red "Financial distress: Bankruptcy" flag for a company that is not bankrupt (verified against the trade register: no company-situation entries at all). Cause: the detector scanned the whole page and matched the dropdown filter options on Kauppalehti's page ("KonkurssipesĂ€", "Selvitystila") â the menu vocabulary, not any information about the company. It therefore hit every company fetched from that page. The flag now requires an actual statement form ("placed in bankruptcy"), must be tied to the requested company's own data, and menu vocabulary can no longer produce a flag.
- đ A financial-distress flag is not shown without a working source link. The source read "Kauppalehti" but the link was not clickable. Bankruptcy is the most serious thing that can be said about a company, so the rule is now absolute: no proof link, no flag. Previously collected flags stay hidden until they are re-verified.
- đ Prevented the wrong website from attaching to a company. Address, phone and website were read from the first match on the whole Kauppalehti page â which also carries the publisher's own details, so a company's website could end up as iltalehti.fi. These are now read only from the data block labelled with the requested company's name. A mis-parsed phone number was fixed by the same change.
- âïž The card no longer claims "all signals positive" when they are not. The same card could read "CONTACT NOW â all signals positive" while also showing a loss and a red distress flag. Prioritisation is unchanged, but the wording now tells the truth: with a negative signal it reads "strong buying signals, note the caveats below".
- đ§Ÿ Names found on a website are no longer called decision makers. A card could read "26 decision makers identified" when these were 26 names scraped from the website â effectively the whole staff, most without a title. They are now "named contacts"; only names from the trade register are presented as decision makers. Also, "lean and profitable per head" no longer appears for a loss-making company â revenue per head is a fact, profitability is a different matter.
- đŻ The business ID is now looked up from the fastest, most certain source first. Getting revenue requires the business ID, and it was searched from the server registry over the network first â when that server was slow, the time budget went to it and the company's own site, where the ID is printed, was never tried at all. The outcome therefore depended on the server's speed at that moment. The order is now: local registry â the company's own site (measured 0.4â2.9 s, always verified against the official register) â server registry â official name search. Heavy page rendering is also only started if it fits the time budget, so the last stage always keeps its share.
- â»ïž An incomplete financial response is no longer remembered for a week. Official-page results are cached for 7 days ("a financial statement does not change in a week"), but if the page came back incomplete and no figures were found, that empty answer was kept for a week too and no later run retried. A complete result is now kept 7 days and an incomplete one 12 hours.
- đ Revenue no longer stops arriving mid-session. This explains why revenue appeared "sometimes but not always". When a data source failed to respond three times in a row, Atlas short-circuited it â but the circuit never reopened on its own, only at the start of a new search. Deep analysis never reopened it at all, so one bad network moment could block revenue for every remaining company in the session until the app was restarted. The circuit now expires on its own after two minutes and lets a trial request through, and deep analysis always starts clean. A second instance of the same phenomenon was fixed too: the internal 60-company cap on financial lookups never reset between runs, so the figures stopped permanently and silently â it is now reset at the start of every run and hitting the cap is written to the log.
- đ§Ÿ An empty revenue field now states the reason. Three entirely different situations looked like the same blank space and read like a bug: the company is not in the trade register (no statement exists), the company is in the register but has published no figures, or the data source did not respond. The card now says which one it is. A technical failure is never presented as the claim "no financial statement", and no reason is shown before it has been established.
- đ Filter buttons are now in your language. The quick filters in the lead vault and lead list (Decision maker, Hiring, Funding, In the newsâŠ) appeared in Finnish even in the English and Russian interface. All buttons are now translated for all three languages.
- đ Your own list's CSV report now contains the enriched data. The CSV/Excel produced at the end of a list run only contained the input rows â found emails, phone numbers and decision makers were missing even though they showed on screen. The report now records the best enriched version of every row. The list run's momentary freezes (measured up to 45 s) were fixed with the same worker-thread model as the search freezes.
- đïž "Name, City" rows are understood. A list row like "Solita Oy, Tampere" previously went into the search as-is and the company's website was never found. The city suffix is now recognized (validated against real cities â a company name containing a comma is not broken up) and name and locality are handled separately.
- đ§Ÿ The business ID travels with the lead. The registry lookup found the business ID for most companies, but it was lost on the way and never stored â every new run started from scratch. It is now saved as soon as it is resolved, even when financials are not available at that moment.
- đ Companies on your own list are no longer buried by guesswork. If a company you listed was not found in the Finnish trade register and no contacts could be extracted from its site, Atlas could read it as an "unregistered personal site" and cut its score to near zero â including large foreign companies, which naturally are not in the Finnish register. Measured: 59 rows out of 168. When you list a company yourself, that is a guarantee it exists, so this inference no longer applies to your own list or to a company looked up by name. Normal search is unchanged.
- đïž Locality, region and founding date now included in exports. The CSV and Excel exports had no columns at all for registered office, region or founding date, even though Atlas fetches them from the register. They are now included in both exports and in the lead's details.
- đ§č The log file no longer fills up with network noise. A broken compression, a failed TLS handshake or a vanished domain each produced a full stack trace in the log. These are now recorded on a single line, so real faults stand out and the log stays light.
- âïž Your own message always wins in batch sending. Serious bug: when you edited a message yourself before sending, the recipient could still receive Atlas's generated message â your edit went into the plain-text part, but a previously generated hidden HTML part was sent along and email clients display exactly that. Your written text now replaces both parts, so preview = sent, literally. A message written without a subject line is also kept untouched (only the missing subject is filled in).
1.0.765
2026-07-291.0.765 - 2026-07-29 - "đ Goldmine-laatupaketti: alueen firmat pysyvĂ€t mukana + kaikki löydetty data talteen"
đ«đź Suomi
- đșïž Aluehaku ei enÀÀ hylkÀÀ alueen omia yrityksiĂ€. Goldmine-haussa rekisteristĂ€ löytynyt yritys saattoi saada leiman "aluetta ei vahvistettu" â ja pudota listan hĂ€nnille â vaikka rekisteri itse oli juuri kertonut sen kotipaikan (esim. tamperelainen firma Pirkanmaa-haussa). Nyt rekisterin oma kotipaikkatieto kelpaa todisteeksi, ja vahvistus ajetaan uudelleen jos tiedot tĂ€ydentyvĂ€t kesken ajon. Myös pienempien paikkakuntien kotipaikat (kylĂ€nnimet) tunnistetaan nyt oikealle alueelle.
- đ§Ÿ Rekisterifaktat kulkevat liidin mukana loppuun asti. Y-tunnus, alue, kotipaikka, perustamispĂ€ivĂ€ ja yhtiömuoto saattoivat kadota rikastuksen aikana â nyt ne sĂ€ilyvĂ€t liidikorttiin ja liidipankkiin asti, eikĂ€ samoja tietoja tarvitse hakea uudestaan seuraavissa ajoissa.
- ⥠Goldmine-ajon hetkittÀiset jumit korjattu. Kolme raskasta työvaihetta (rekisterihaku joka ei voinut edes onnistua, WHOIS/rekry-rikastus ja karttadatan indeksointi) pyöri haun kanssa samassa sÀikeessÀ ja jÀÀdytti ajoa sekunneiksi kerrallaan. Mitattu: ~10 % ajoajasta jÀÀssÀ. Nyt ne ajetaan työsÀikeissÀ ja turha haku ohitetaan kokonaan.
- đ Goldmine nĂ€yttÀÀ kaikki rekisterin firmat. SisĂ€inen "kiinnostussuodatin" pudotti osan rekisteristĂ€ löytyneistĂ€ yrityksistĂ€, koska nĂ€kymĂ€ttömillĂ€ firmoilla ei ole hakukonejĂ€lkeĂ€ josta kiinnostusta voisi mitata â eli suodatin karsi juuri niitĂ€ firmoja joita goldmine lupaa. RekisteristĂ€ löytynyt yritys ei enÀÀ putoa tĂ€llĂ€ perusteella.
- đ„ SyvĂ€analyysin tulokset talteen kokonaisuudessaan. Löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t tallentuvat nyt liidipankkiin luotettavasti, eikĂ€ tallennusraja enÀÀ heitĂ€ pois parhaiten onnistuneiden analyysien tuloksia. Myös pankin suodattimet (LinkedIn, rahoitus, uutiset) toimivat taas.
- đ Peruutus pysĂ€yttÀÀ nyt kaiken heti. Aiemmin haun peruutuksen jĂ€lkeen saattoi vielĂ€ ilmestyĂ€ uusia liidejĂ€, ja pysĂ€ytyslippu saattoi jÀÀdĂ€ pÀÀlle seuraavaan hakuun. Molemmat korjattu.
- đ§ KansainvĂ€liset sĂ€hköpostit eivĂ€t enÀÀ tyssÀÀ turhaan. SĂ€hköpostien tarkistuksessa oli kaksi eri sallittujen pÀÀtteiden listaa, ja 61 maan osoitteet (mm. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) torjuttiin virheellisesti. Portti kÀÀntyi sallitusta kielletyt-listaksi â vain oikeasti epĂ€ilyttĂ€vĂ€t pÀÀtteet torjutaan.
- đ Yrityksen ikĂ€ nĂ€ytetÀÀn yrityksen ikĂ€nĂ€. Paneeli nĂ€ytti aiemmin verkkotunnuksen iĂ€n, koska rekisterin virallinen perustamispĂ€ivĂ€ haettiin mutta jĂ€i lukematta. Nyt virallinen pĂ€ivĂ€ voittaa aina.
- đ Oman listan CSV-raportissa on nyt rikastettu data. Lista-ajon lopussa syntyvĂ€ CSV/Excel sisĂ€lsi vain syöterivit â löydetyt sĂ€hköpostit, puhelinnumerot ja pÀÀttĂ€jĂ€t puuttuivat, vaikka ne nĂ€kyivĂ€t ruudulla. Nyt raporttiin kirjautuu jokaisen rivin paras rikastettu versio. Myös lista-ajon hetkittĂ€iset jumit (mitattu jopa 45 s) korjattiin samalla työsĂ€iemallilla kuin haun jumit.
- đïž "Nimi, Kaupunki" -rivit ymmĂ€rretÀÀn. Listarivi kuten "Solita Oy, Tampere" meni aiemmin hakuun sellaisenaan eikĂ€ yrityksen sivustoa löytynyt koskaan. Nyt kaupunkipÀÀte tunnistetaan (oikeaa kaupunkia vasten â pilkullinen yritysnimi ei mene rikki) ja nimi ja paikkakunta kĂ€sitellÀÀn erikseen.
- đ§Ÿ Y-tunnus kulkee liidin mukana. Rekisterihaku löysi y-tunnuksen useimmille yrityksille, mutta se hĂ€visi matkalla eikĂ€ koskaan tallentunut â jokainen uusi ajo aloitti alusta. Nyt y-tunnus tallentuu heti kun se on selvitetty, vaikka talousluvut eivĂ€t sillĂ€ hetkellĂ€ olisi saatavilla.
đŹđ§ English
- đșïž Region search no longer rejects the region's own companies. In goldmine, a company found in the registry could get flagged "region unconfirmed" â and sink to the bottom â even though the registry itself had just reported its registered office (e.g. a Tampere company in a Pirkanmaa search). The registry's own seat now counts as evidence, confirmation re-runs when data completes mid-run, and small-locality seat names are now mapped to the right region.
- đ§Ÿ Registry facts travel with the lead all the way. Business ID, region, registered office, founding date and company form could get lost during enrichment â they now persist to the lead card and the lead vault, so the same facts never need re-fetching in later runs.
- ⥠Momentary goldmine freezes fixed. Three heavy steps (a registry lookup that could not even succeed, WHOIS/hiring enrichment, and map-data indexing) ran in the search thread and froze the run for seconds at a time â measured ~10% of run time. They now run in worker threads, and the pointless lookup is skipped entirely.
- đ Goldmine shows every registry company. An internal "interest filter" dropped some registry-found companies because invisible firms leave no search-engine trace to measure interest from â i.e. it filtered out exactly the companies goldmine promises. Registry-found companies no longer drop on that basis.
- đ„ Deep-analysis results are stored in full. Found emails, phone numbers and decision makers now persist reliably to the lead vault, and the storage cap no longer discards the results of the most successful analyses. Vault filters (LinkedIn, financing, news) work again.
- đ Cancel now stops everything immediately. Previously new leads could still appear after cancelling, and the stop flag could stay on into the next search. Both fixed.
- đ§ International emails no longer get blocked needlessly. Email validation had two separate allow-lists, and addresses from 61 countries (incl. .ie, .gr, .in, .cn, .kr, .br, .mx, .tr) were rejected in error. The gate is now a block-list â only genuinely suspicious endings are refused.
- đ Company age is shown as company age. The panel previously showed the domain's age because the official founding date was fetched from the registry but never read. The official date now always wins.
- đ Your own list's CSV report now contains the enriched data. The CSV/Excel produced at the end of a list run only contained the input rows â found emails, phone numbers and decision makers were missing even though they showed on screen. The report now records the best enriched version of every row. The list run's momentary freezes (measured up to 45 s) were fixed with the same worker-thread model as the search freezes.
- đïž "Name, City" rows are understood. A list row like "Solita Oy, Tampere" previously went into the search as-is and the company's website was never found. The city suffix is now recognized (validated against real cities â a company name containing a comma is not broken up) and name and locality are handled separately.
- đ§Ÿ The business ID travels with the lead. The registry lookup found the business ID for most companies, but it was lost on the way and never stored â every new run started from scratch. It is now saved as soon as it is resolved, even when financials are not available at that moment.
1.0.764
2026-07-291.0.764 - 2026-07-28 - "⥠Haku pysyy sulavana rikastuksen aikana + liidien laatupaketti"
đ«đź Suomi
- ⥠Haku ei enÀÀ "jÀÀdy" hetkittĂ€in kesken ajon. Yhteystietojen rikastus jauhoi raskasta sivuanalyysiĂ€ samassa sĂ€ikeessĂ€ haun kanssa â kiireisimmillÀÀn haku tuntui jumittuvan jopa puoleksi minuutiksi ja verkkohaut hidastuivat moninkertaisesti. Nyt raskas analyysi ajetaan omissa työsĂ€ikeissÀÀn ja haku pysyy sulavana koko ajon lĂ€pi. LisĂ€ksi ohjelmaan tuli sisĂ€inen vahti joka kirjaa lokiin heti, jos vastaava hidastuminen joskus palaa â ja kertoo suoraan mikĂ€ sen aiheutti.
- đ·ïž Tekniset apuosoitteet eivĂ€t enÀÀ muutu "yrityksiksi". TietyissĂ€ maissa hakutulos saattoi tulla osoitteesta kuten
www2.organisaatio.hk, jolloin listalle ilmestyi olematon yritys nimeltĂ€ "Www2" â ja sille saattoi lĂ€hteĂ€ viestikin. Nyt osoitteet normalisoidaan yhdessĂ€ paikassa, eikĂ€ Atlas koskaan keksi yrityksen nimeĂ€ teknisestĂ€ etuliitteestĂ€. - đą Rekrytointialustojen sivut tunnistetaan alustoiksi. Esimerkiksi
firma.hirehive.comon rekrytointipalvelun alidomain, ei yrityksen oma sivusto â aiemmin sieltĂ€ poimitut yhteystiedot saattoivat kuulua eri yritykselle. Nyt alusta tunnistetaan ja tiedot kohdistetaan oikein. - đ§ Osoitteisiin ei enÀÀ vuoda
mailto:-etuliitettĂ€. Harvinaisessa tilanteessa sĂ€hköpostiosoite tallentui muodossamailto:nimi@firma.com, mikĂ€ rikkoi lĂ€hetyksen. Osoitteet siivotaan nyt tallennusvaiheessa. - đ RikkinĂ€iset hakukoneet eivĂ€t kuluta hakuaikaa. Jos jokin hakukone on alhaalla tai estetty, se ohitetaan rotaatiossa nopeasti eikĂ€ se syö muiden moottoreiden hakubudjettia.
- đșïž Aluerajaus kertoo rehellisesti tilanteensa. Kun aluetta ei pystytĂ€ vahvistamaan jollekin liidille, se nĂ€ytetÀÀn avoimesti sen sijaan ettĂ€ alue nĂ€yttĂ€isi vahvistetulta.
đŹđ§ English
- ⥠Search no longer "freezes" momentarily during a run. Contact enrichment was crunching heavy page analysis in the same thread as the search â at peak the search could appear stuck for up to half a minute and web fetches slowed down severalfold. Heavy analysis now runs in its own worker threads and the search stays smooth through the whole run. The program also gained an internal watchdog that logs immediately if a similar slowdown ever returns â and names its exact cause.
- đ·ïž Technical helper addresses no longer turn into "companies". In some countries a search result could come from an address like
www2.organisation.hk, producing a non-existent company called "Www2" on the list â and it could even get contacted. Addresses are now normalized in one shared place, and Atlas never invents a company name from a technical prefix. - đą Recruitment-platform pages are recognized as platforms. For example
company.hirehive.comis a hiring service's subdomain, not the company's own website â contacts picked from there could previously belong to a different company. The platform is now recognized and details are attributed correctly. - đ§ The
mailto:prefix no longer leaks into addresses. In a rare case an email address was stored asmailto:name@company.com, which broke sending. Addresses are now sanitized at save time. - đ Broken search engines no longer consume search time. If an engine is down or blocked, rotation skips it quickly so it does not eat the other engines' search budget.
- đșïž Region filtering reports its status honestly. When a region cannot be confirmed for a lead, that is shown openly instead of the region appearing confirmed.
1.0.763
2026-07-291.0.763 - 2026-07-28 - "⥠Haku pysyy sulavana rikastuksen aikana + liidien laatupaketti"
đ«đź Suomi
- ⥠Haku ei enÀÀ "jÀÀdy" hetkittĂ€in kesken ajon. Yhteystietojen rikastus jauhoi raskasta sivuanalyysiĂ€ samassa sĂ€ikeessĂ€ haun kanssa â kiireisimmillÀÀn haku tuntui jumittuvan jopa puoleksi minuutiksi ja verkkohaut hidastuivat moninkertaisesti. Nyt raskas analyysi ajetaan omissa työsĂ€ikeissÀÀn ja haku pysyy sulavana koko ajon lĂ€pi. LisĂ€ksi ohjelmaan tuli sisĂ€inen vahti joka kirjaa lokiin heti, jos vastaava hidastuminen joskus palaa â ja kertoo suoraan mikĂ€ sen aiheutti.
- đ·ïž Tekniset apuosoitteet eivĂ€t enÀÀ muutu "yrityksiksi". TietyissĂ€ maissa hakutulos saattoi tulla osoitteesta kuten
www2.organisaatio.hk, jolloin listalle ilmestyi olematon yritys nimeltĂ€ "Www2" â ja sille saattoi lĂ€hteĂ€ viestikin. Nyt osoitteet normalisoidaan yhdessĂ€ paikassa, eikĂ€ Atlas koskaan keksi yrityksen nimeĂ€ teknisestĂ€ etuliitteestĂ€. - đą Rekrytointialustojen sivut tunnistetaan alustoiksi. Esimerkiksi
firma.hirehive.comon rekrytointipalvelun alidomain, ei yrityksen oma sivusto â aiemmin sieltĂ€ poimitut yhteystiedot saattoivat kuulua eri yritykselle. Nyt alusta tunnistetaan ja tiedot kohdistetaan oikein. - đ§ Osoitteisiin ei enÀÀ vuoda
mailto:-etuliitettĂ€. Harvinaisessa tilanteessa sĂ€hköpostiosoite tallentui muodossamailto:nimi@firma.com, mikĂ€ rikkoi lĂ€hetyksen. Osoitteet siivotaan nyt tallennusvaiheessa. - đ RikkinĂ€iset hakukoneet eivĂ€t kuluta hakuaikaa. Jos jokin hakukone on alhaalla tai estetty, se ohitetaan rotaatiossa nopeasti eikĂ€ se syö muiden moottoreiden hakubudjettia.
- đșïž Aluerajaus kertoo rehellisesti tilanteensa. Kun aluetta ei pystytĂ€ vahvistamaan jollekin liidille, se nĂ€ytetÀÀn avoimesti sen sijaan ettĂ€ alue nĂ€yttĂ€isi vahvistetulta.
đŹđ§ English
- ⥠Search no longer "freezes" momentarily during a run. Contact enrichment was crunching heavy page analysis in the same thread as the search â at peak the search could appear stuck for up to half a minute and web fetches slowed down severalfold. Heavy analysis now runs in its own worker threads and the search stays smooth through the whole run. The program also gained an internal watchdog that logs immediately if a similar slowdown ever returns â and names its exact cause.
- đ·ïž Technical helper addresses no longer turn into "companies". In some countries a search result could come from an address like
www2.organisation.hk, producing a non-existent company called "Www2" on the list â and it could even get contacted. Addresses are now normalized in one shared place, and Atlas never invents a company name from a technical prefix. - đą Recruitment-platform pages are recognized as platforms. For example
company.hirehive.comis a hiring service's subdomain, not the company's own website â contacts picked from there could previously belong to a different company. The platform is now recognized and details are attributed correctly. - đ§ The
mailto:prefix no longer leaks into addresses. In a rare case an email address was stored asmailto:name@company.com, which broke sending. Addresses are now sanitized at save time. - đ Broken search engines no longer consume search time. If an engine is down or blocked, rotation skips it quickly so it does not eat the other engines' search budget.
- đșïž Region filtering reports its status honestly. When a region cannot be confirmed for a lead, that is shown openly instead of the region appearing confirmed.
1.0.761
2026-07-281.0.761 - 2026-07-28 - "⥠Haku pysyy sulavana rikastuksen aikana + liidien laatupaketti"
đ«đź Suomi
- ⥠Haku ei enÀÀ "jÀÀdy" hetkittĂ€in kesken ajon. Yhteystietojen rikastus jauhoi raskasta sivuanalyysiĂ€ samassa sĂ€ikeessĂ€ haun kanssa â kiireisimmillÀÀn haku tuntui jumittuvan jopa puoleksi minuutiksi ja verkkohaut hidastuivat moninkertaisesti. Nyt raskas analyysi ajetaan omissa työsĂ€ikeissÀÀn ja haku pysyy sulavana koko ajon lĂ€pi. LisĂ€ksi ohjelmaan tuli sisĂ€inen vahti joka kirjaa lokiin heti, jos vastaava hidastuminen joskus palaa â ja kertoo suoraan mikĂ€ sen aiheutti.
- đ·ïž Tekniset apuosoitteet eivĂ€t enÀÀ muutu "yrityksiksi". TietyissĂ€ maissa hakutulos saattoi tulla osoitteesta kuten
www2.organisaatio.hk, jolloin listalle ilmestyi olematon yritys nimeltĂ€ "Www2" â ja sille saattoi lĂ€hteĂ€ viestikin. Nyt osoitteet normalisoidaan yhdessĂ€ paikassa, eikĂ€ Atlas koskaan keksi yrityksen nimeĂ€ teknisestĂ€ etuliitteestĂ€. - đą Rekrytointialustojen sivut tunnistetaan alustoiksi. Esimerkiksi
firma.hirehive.comon rekrytointipalvelun alidomain, ei yrityksen oma sivusto â aiemmin sieltĂ€ poimitut yhteystiedot saattoivat kuulua eri yritykselle. Nyt alusta tunnistetaan ja tiedot kohdistetaan oikein. - đ§ Osoitteisiin ei enÀÀ vuoda
mailto:-etuliitettĂ€. Harvinaisessa tilanteessa sĂ€hköpostiosoite tallentui muodossamailto:nimi@firma.com, mikĂ€ rikkoi lĂ€hetyksen. Osoitteet siivotaan nyt tallennusvaiheessa. - đ RikkinĂ€iset hakukoneet eivĂ€t kuluta hakuaikaa. Jos jokin hakukone on alhaalla tai estetty, se ohitetaan rotaatiossa nopeasti eikĂ€ se syö muiden moottoreiden hakubudjettia.
- đșïž Aluerajaus kertoo rehellisesti tilanteensa. Kun aluetta ei pystytĂ€ vahvistamaan jollekin liidille, se nĂ€ytetÀÀn avoimesti sen sijaan ettĂ€ alue nĂ€yttĂ€isi vahvistetulta.
đŹđ§ English
- ⥠Search no longer "freezes" momentarily during a run. Contact enrichment was crunching heavy page analysis in the same thread as the search â at peak the search could appear stuck for up to half a minute and web fetches slowed down severalfold. Heavy analysis now runs in its own worker threads and the search stays smooth through the whole run. The program also gained an internal watchdog that logs immediately if a similar slowdown ever returns â and names its exact cause.
- đ·ïž Technical helper addresses no longer turn into "companies". In some countries a search result could come from an address like
www2.organisation.hk, producing a non-existent company called "Www2" on the list â and it could even get contacted. Addresses are now normalized in one shared place, and Atlas never invents a company name from a technical prefix. - đą Recruitment-platform pages are recognized as platforms. For example
company.hirehive.comis a hiring service's subdomain, not the company's own website â contacts picked from there could previously belong to a different company. The platform is now recognized and details are attributed correctly. - đ§ The
mailto:prefix no longer leaks into addresses. In a rare case an email address was stored asmailto:name@company.com, which broke sending. Addresses are now sanitized at save time. - đ Broken search engines no longer consume search time. If an engine is down or blocked, rotation skips it quickly so it does not eat the other engines' search budget.
- đșïž Region filtering reports its status honestly. When a region cannot be confirmed for a lead, that is shown openly instead of the region appearing confirmed.
1.0.741
2026-07-281.0.741 - 2026-07-28 - "đ PDF-listojen viimeistely: liimautuneet rivit ja LinkedIn-rivit oikein"
đ«đź Suomi
- đ§ Yhteen liimautuneiden PDF-rivien sĂ€hköpostit pelastetaan. PDF-tiedostoissa otsikko ja ensimmĂ€iset rivit liimautuvat joskus lukiessa yhdeksi pitkĂ€ksi riviksi. Aiemmin tĂ€llainen rivi saattoi kadota kokonaan â nyt rivistĂ€ poimitaan sĂ€hköpostiosoite talteen ja firma pÀÀsee listalle sen kautta.
- đŒ LinkedIn-yrityssivut kĂ€sitellÀÀn yrityksinĂ€, ei henkilöinĂ€. Rivi
linkedin.com/company/firmamuuttui aiemmin henkilöprofiiliksi jota ei ole olemassa (linkedin.com/in/firma) ja yrityksen nimi nĂ€kyi pÀÀttĂ€jĂ€n nimenĂ€. Nyt yrityssivu sĂ€ilyy yrityssivuna ja henkilöprofiili henkilönĂ€ â Atlas ei keksi profiileja joita ei ole. - đ LinkedIn-osoite ei enÀÀ vuoda firman verkkosivuksi. TietyssĂ€ tilanteessa listarivin verkkosivuksi tallentui
linkedin.com, jolloin rikastus yritti lukea LinkedIniÀ firman kotisivuna. Korjattu: LinkedIn-osoite kulkee omassa kentÀssÀÀn eikÀ koskaan kelpaa verkkosivuksi.
đŹđ§ English
- đ§ Emails on merged PDF lines are rescued. In PDF files the heading and first rows sometimes merge into one long line when read. Previously such a line could disappear entirely â now the email address is extracted from it and the company makes it onto the list through it.
- đŒ LinkedIn company pages are treated as companies, not people. A row like
linkedin.com/company/firmused to be turned into a personal profile that does not exist (linkedin.com/in/firm), and the company name appeared as a decision-maker's name. Now a company page stays a company page and a personal profile stays a person â Atlas does not invent profiles that do not exist. - đ A LinkedIn address no longer leaks in as the company website. In one scenario a list row's website became
linkedin.com, making enrichment try to read LinkedIn as the company's homepage. Fixed: the LinkedIn address travels in its own field and never qualifies as a website.
1.0.740
2026-07-281.0.740 - 2026-07-28 - "đ Omat listat ajavat tĂ€ydellĂ€ teholla myös perutun haun jĂ€lkeen"
đ«đź Suomi
- đ LIST-ajo saa nyt saman suojan kuin tavalliset haut: edellinen haku ajetaan alas ennen listan alkua. EilisessĂ€ versiossa korjattiin tilanne jossa peruttu haku jĂ€i pyörimÀÀn taustalle ja hidasti seuraavaa hakua â mutta korjaus kattoi vain tavalliset haut, ei omia listoja. Jos peruit haun ja kĂ€ynnistit heti perÀÀn listan, vanhan haun jÀÀnteet kilpailivat listan kanssa verkkoresursseista ja lista tuntui hitaalta. Mitattuna: peruttu haku kuolee nyt 1,5 sekunnissa listan kĂ€ynnistyksestĂ€.
- đĄïž Kaksi nĂ€kymĂ€töntĂ€ tilasotkua tukittu samalla. 1) TietyssĂ€ ajoituksessa uuden haun siivousmekanismi saattoi katkaista kĂ€ynnissĂ€ olevan LIST-ajon tehtĂ€vĂ€t â lista pysĂ€htyi selittĂ€mĂ€ttĂ€. 2) Jos kĂ€ynnistit uuden listan heti edellisen perÀÀn, edellisen ajon lopetus saattoi sammuttaa uuden ajon kĂ€ynnissĂ€olo-lipun â loput rivit ohitettiin hiljaa ja listalta puuttui firmoja. Molemmat kiinni: jokaisella ajolla on nyt oma vuoronumero, ja vain tuorein ajo saa koskea yhteisiin tiloihin. Varmistettu ajamalla oikea sessio: haku â peruutus â heti lista â kesken listan toinen lista â kaikki rivit perillĂ€.
đŹđ§ English
- đ LIST runs now get the same protection as regular hunts: the previous hunt is shut down before the list starts. Yesterday's release fixed cancelled hunts lingering in the background and slowing down the next hunt â but the fix only covered regular hunts, not your own lists. If you cancelled a hunt and immediately started a list, the old hunt's remnants competed with the list for network resources and the list felt slow. Measured: a cancelled hunt now dies 1.5 seconds after the list starts.
- đĄïž Two invisible state mix-ups closed at the same time. 1) With certain timing, the new hunt's cleanup mechanism could cancel the tasks of a LIST run already in progress â the list stopped without explanation. 2) If you started a new list right after a previous one, the previous run's shutdown could switch off the new run's running flag â the remaining rows were skipped silently and companies were missing from the list. Both closed: every run now has its own turn number, and only the newest run may touch shared state. Verified by running a real session: hunt â cancel â list immediately â a second list mid-run â every row arrived.
1.0.739
2026-07-281.0.739 - 2026-07-28 - "đ PDF-listat toimivat nyt yhtĂ€ hyvin kuin CSV â myös taulukkomuotoiset"
đ«đź Suomi
- đ Taulukkomuotoinen PDF-lista (esim. ExcelistĂ€ tai CRM:stĂ€ tulostettu) luetaan nyt oikein sarakkeittain. Aiemmin taulukon solut liimautuivat luettaessa yhteen: rivi "Firma Oy · Tampere · 040 123 · firma.fi" muuttui yhdeksi pötköksi jota Atlas piti firmannimenĂ€ â haku sai roskaa eikĂ€ löytĂ€nyt mitÀÀn. Nyt Atlas tunnistaa taulukon, pÀÀttelee sarakerajat sivun asettelusta ja lukee nimen, kaupungin, puhelimen, verkkosivun ja yhteyshenkilön omiin kenttiinsĂ€ â samalla varmuudella kuin CSV-tiedostosta. Myös tyhjĂ€t solut kĂ€sitellÀÀn oikein (tyhjĂ€ puhelinsolu ei siirrĂ€ muita tietoja vÀÀrÀÀn sarakkeeseen), ja monisivuisen taulukon toistuvat otsikkorivit ohitetaan.
- đ Kaksi muuta hiljaista PDF-vikaa korjattu. 1) Salatut PDF:t (esim. CRM- ja laskutusjĂ€rjestelmien exportit, joissa on tyhjĂ€ avaussalasana) aukeavat nyt. 2) PDF:t joiden tekstinpoiminta tuotti tyhjÀÀ oletustilassa (erikoisfontit) luetaan uudelleen asettelun sĂ€ilyttĂ€vĂ€llĂ€ tilalla.
- â ïž Jos PDF:ÀÀ ei oikeasti voi lukea, saat nyt selkeĂ€n ilmoituksen. Skannattu tai kuvamuotoinen PDF (ei tekstikerrosta) ja oikealla salasanalla suojattu PDF eivĂ€t aukea millÀÀn ohjelmalla ilman tekstintunnistusta â Atlas ei arvaa sisĂ€ltöÀ. Aiemmin virhe nĂ€kyi vain hakukentĂ€n vesileimatekstinĂ€, joka jĂ€i helposti huomaamatta. Nyt avautuu ilmoitus joka kertoo syyn ja ratkaisun: vie lista CSV- tai Excel-muodossa, tai kopioi rivit suoraan hakukenttÀÀn ja paina LISTA.
đŹđ§ English
- đ Table-style PDF lists (e.g. printed from Excel or a CRM) are now read column by column. Previously the table cells got glued together on reading: the row "Firma Oy · Tampere · 040 123 · firma.fi" became one long string that Atlas treated as a company name â the search got garbage and found nothing. Atlas now detects the table, infers the column boundaries from the page layout and reads the name, city, phone, website and contact person into their own fields â with the same reliability as a CSV file. Empty cells are handled correctly too (an empty phone cell no longer shifts other values into the wrong column), and repeated header rows of a multi-page table are skipped.
- đ Two more silent PDF failures fixed. 1) Encrypted PDFs (e.g. CRM and invoicing exports with an empty open password) now open. 2) PDFs whose text extraction came back empty in the default mode (special fonts) are re-read with a layout-preserving mode.
- â ïž If the PDF genuinely cannot be read, you now get a clear message. A scanned or image-based PDF (no text layer) and a PDF protected with a real password cannot be opened by any program without OCR â Atlas does not guess the content. Previously the error only appeared as watermark text in the search field, easy to miss. Now a dialog opens explaining the cause and the fix: export the list as CSV or Excel, or paste the rows straight into the search field and press LIST.
1.0.737
2026-07-271.0.737 - 2026-07-27 - "đșïž Aluerajaus toimii joka maassa + maat jotka eivĂ€t tuottaneet mitÀÀn tuottavat nyt"
đ«đź Suomi
- đșïž Valitsemasi kaupunki tai alue vaikuttaa nyt joka maassa, ei vain Suomessa. Kun rajasit haun alueeseen, tieto lĂ€hti kyllĂ€ matkaan, mutta perillĂ€ sitĂ€ ei osattu ottaa vastaan yhdessĂ€kÀÀn maassa Suomea lukuun ottamatta â haku kĂ€ynnistyi hiljaa uudelleen ilman aluerajausta. Siksi esimerkiksi Bangaloreen rajattu haku toi firmoja ympĂ€ri Intiaa. Nyt alue menee perille: sama haku palauttaa 25 firmaa joista kaikki 25 ovat oikeassa kaupungissa. Suomen haut toimivat kuten ennenkin.
- đ Maat jotka palauttivat aina tyhjĂ€n palauttavat nyt firmoja. Osassa maista Atlaksen kĂ€yttĂ€mĂ€ virallinen rekisteri ei vastaa lainkaan, ja se ehti kuluttaa koko haulle varatun ajan ennen kuin varalĂ€hteille jĂ€i vuoroa â lopputulos oli nolla firmaa ilman mitÀÀn selitystĂ€. Nyt jokaisella lĂ€hteellĂ€ on oma aikabudjettinsa. Mitattuna VenĂ€jĂ€, Paraguay ja Valko-VenĂ€jĂ€: 0 â 30 firmaa. Suomi (150 firmaa omasta rekisteristĂ€) ja Norja ennallaan.
- đ VaralĂ€hteiden jĂ€rjestys mitattiin uudelleen. KansainvĂ€linen yritysrekisteri tuottaa nyt selvĂ€sti enemmĂ€n kuin karttapohjainen lĂ€hde, joten se kysytÀÀn ensin: 12 maan mittauksessa 333 firmaa vastaan 63. KarttalĂ€hde on yhĂ€ heti seuraavana, joten mitÀÀn ei menetetĂ€.
- đ«đ· Ranskalaisten firmojen kaupunki nĂ€kyy nimenĂ€. Kaupungin paikalla luki tilastokoodi (
59146) oikean nimen sijaan â nyt siinĂ€ lukeeCHERENG. LisĂ€ksi ranskalaiset haut osaavat nyt rajata alueella. - đ€ TekoĂ€lyn tarjoajavalinta toimii. Jos valitsit OpenAI:n tai Anthropicin ja syötit sen avaimen, ohjelma haki silti tyhjÀÀ Grok-avainta eikĂ€ tekoĂ€lyluokittelu toiminut lainkaan. Korjattu.
- đ Perutun haun jĂ€lkeinen uusi haku toimii nyt tĂ€ydellĂ€ teholla. Kun peruit haun ja kĂ€ynnistit heti uuden (esim. Goldminen), kaksi asiaa meni rikki nĂ€kymĂ€ttömĂ€sti: 1) peruttu haku ei oikeasti kuollut vaan jatkoi minuuttikaupalla taustalla ja söi uuden haun verkkoresurssit â siksi uusi haku tuntui hitaalta ja listalle saattoi valua vanhan haun firmoja; 2) uuden haun automaattinen kontaktirikastus kaatui hiljaa joka firman kohdalla (27.7. mittaus: 232 kaatunutta rikastusta yhdessĂ€ Goldmine-ajossa, 0 onnistunutta). Nyt edellinen haku ajetaan alas ennen uuden alkua ja rikastus toimii jokaisessa perĂ€kkĂ€isessĂ€ haussa. Koskee kaikkia maita ja kaikkia hakutyyppejĂ€.
- đ©ș Live-testiajo ja syvĂ€auditti paljastivat kuusi piilokaatumista â kaikki korjattu. NĂ€mĂ€ virheet nieltiin hiljaa lokiin eivĂ€tkĂ€ nĂ€kyneet kĂ€yttĂ€jĂ€lle mitenkÀÀn, paitsi puuttuvina tuloksina: 1) kun yritysrekisteri kertoi perustamisvuoden numerona (esim. 2015), koko liidin pisteytys kaatui eikĂ€ "tuore firma" -boosti (Goldminen ydinlupaus) koskaan toiminut; 2) rikastettujen liidien tallennus liidipankkiin kaatui KAHDESSA kerroksessa olemattomiin toimintokutsuihin; 3) toimialasynonyymien haku kaatui aina, joten hakusanan sukulaistermit eivĂ€t koskaan vaikuttaneet osuvuuspisteisiin; 4) hakuhistorian kirjaus kaatui joka haulla; 5) markkinapaine-uutissignaali (KEY SIGNAL -rivi liidikortissa) ei koskaan liimautunut liidiin puuttuvan sisĂ€isen kytkennĂ€n takia; 6) lisĂ€ksi lokiin kirjoitettiin ~3 000 turhaa virheraporttia per ajo â nyt murto-osa, eli haku kĂ€yttÀÀ levyĂ€ ja aikaa itse työhön. Korjausten vaikutus mitattiin heti uusinta-ajolla: USA-haku nousi 0 firmasta 336:een.
- đ§č Asetuksista poistettiin kentĂ€t jotka eivĂ€t tehneet mitÀÀn. Hakukoneavaimille oli oma osio, mutta mikÀÀn ohjelmassa ei lukenut niitĂ€. Se pyysi sinulta avaimia ja lupasi jotain mitĂ€ ei tapahtunut. TekoĂ€lyavaimet ovat aitoja ja jÀÀvĂ€t.
đŹđ§ English
- đșïž The city or region you pick now applies in every country, not just Finland. When you scoped a hunt to an area, the setting was sent â but no country except Finland could receive it, so the hunt silently restarted without the area filter. That is why a search scoped to Bangalore returned companies from all over India. The area now arrives: the same search returns 25 companies, all 25 in the right city. Finnish hunts are unchanged.
- đ Countries that always came back empty now return companies. In some countries the official register does not respond at all, and it used up the whole time budget before the backup sources got a turn â the result was zero companies with no explanation. Each source now has its own time budget. Measured for Russia, Paraguay and Belarus: 0 â 30 companies. Finland (150 from its own register) and Norway unchanged.
- đ Backup source order was re-measured. The international company register now yields far more than the map-based source, so it is asked first: across 12 countries, 333 companies versus 63. The map source still runs immediately after, so nothing is lost.
- đ«đ· French companies now show a city name. The city field showed a statistical code (
59146) instead of the name â it now readsCHERENG. French hunts can also scope by area now. - đ€ The AI provider selector works. If you chose OpenAI or Anthropic and entered that key, the program still looked for an empty Grok key and AI classification did nothing at all. Fixed.
- đ A new hunt started right after cancelling one now runs at full power. When you cancelled a hunt and immediately started a new one (e.g. Goldmine), two things broke invisibly: 1) the cancelled hunt did not actually die â it kept running in the background for minutes, eating the new hunt's network resources, which is why the new hunt felt slow and old companies could leak into the list; 2) the new hunt's automatic contact enrichment silently crashed for every company (measured 27 Jul: 232 crashed enrichments in one Goldmine run, 0 successful). The previous hunt is now shut down before the new one starts, and enrichment works on every consecutive hunt. Applies to all countries and all hunt types.
- đ©ș A live test run and deep audit exposed six hidden crashes â all fixed. These errors were silently swallowed into the log and never visible to the user, except as missing results: 1) when the company register reported the founding year as a number (e.g. 2015), the whole lead's scoring crashed and the "fresh company" boost (Goldmine's core promise) never worked; 2) saving enriched leads into the lead bank crashed in TWO layers due to calls to non-existent functions; 3) the industry-synonym lookup always crashed, so related terms of your keyword never contributed to relevance scores; 4) search-history bookkeeping crashed on every hunt; 5) the market-pressure news signal (the KEY SIGNAL row on the lead card) never attached to leads due to a missing internal wiring; 6) additionally ~3,000 useless error reports were written to the log per run â now a fraction, so the hunt spends disk and time on actual work. The impact was measured immediately in a re-run: the US hunt went from 0 companies to 336.
- đ§č Settings fields that did nothing were removed. There was a section for search-engine API keys, but nothing in the program ever read them â it asked you for keys and promised something that never happened. The AI keys are real and stay.