Mit kérnek
A KMTR JIRA-projekt, a KMTR Confluence-tér és a KMTR SharePoint-specifikációk kerüljenek be az IIER tudástárba.
Egy valódi kérés — „a KMTR is legyen az IIER tudástár része" — és ami vele öt nap alatt történt: az első napon mérés, döntés, specifikáció, tesztek, mechanizmus; a másodikon a kapuk, egyenként, emberi kézzel; utána az éles éjszakák, mind a három forrással.
nem ígéret, hanem mérés · spec előbb, mint kód · piros teszt előbb, mint mechanizmus · az ember tart minden kaput
Egy rövid e-mail a KMTR projekt szervezőjétől, a két projektvezetővel egyeztetve.
A KMTR JIRA-projekt, a KMTR Confluence-tér és a KMTR SharePoint-specifikációk kerüljenek be az IIER tudástárba.
Ma három helyen, három keresővel élnek ezek a dokumentumok; a tudástárban egy helyen, jogosultság szerint szűrve válnának kereshetővé.
„Elég így a kérés, vagy nyissak jegyet?" — és: „mikor lesz előadás a tudástárról?" (erre ez az előadás a válasz)
A források éjszakánként betöltődnek egy tenant-kulcsú korpuszba; a kereső csak azt adja vissza, amire a kérdező jogosult; a Wikipédia a korpuszból generált, ember által jóváhagyott szócikkek; Laura ezekből válaszol.
A platform technikai fiókjával, a kiszolgálóról, írás nélkül megnéztük, mi érhető el valójában.
| Forrás | Eredmény | Mi következik belőle |
|---|---|---|
| Confluence KMTR-tér | elérhető — több száz oldal, több száz melléklet olvasható | ez az ág indítható |
| JIRA KMTR-projekt | nem elérhető — a technikai fiók nem látja a projektet | Browse jogot kell kérni |
| SharePoint KMTR-tár | nem igazolható kívülről — hitelesítés nélkül minden útvonal ugyanazt válaszolja | az admin erősíti meg |
| jogosultság-export webhook | nincs bekötve — az utolsó sikeres letöltés két hónapja volt, és erről senki nem tudott | ez a legfontosabb lelet |
A negyedik sor nem a KMTR-ről szól. Két hónapja állt egy csendes hiba, mert egy feladat, ami sosem fut, nem tud hibát jelezni.
A kérésből egy alfeladat lett a tudástár gyűjtőjegye alatt — a mérés eredményével és a teendőkkel, felelősönként.
| Lépés | Ki | Mit |
|---|---|---|
| JIRA-jog | JIRA-admin | Browse jog a KMTR-projektre a tudástár technikai fiókjának |
| SharePoint-jog | SharePoint-admin | olvasási jog a KMTR-tárra + a tár pontos útvonala |
| export-csomag | jogosultság-export üzemeltető | KMTR források felvétele a csomagba, végpont + token átadása |
| hatókör | kérő (szervező) | mely tartalom tartozik bele; ki a szakmai elfogadó |
| bekötés | platformgazda | migrációk, betöltő-fa, útvonal, wiki |
| ellenőrzés | platformgazda | a gépi tesztek zöldek, a jogosultság-szűrés helyes |
| elfogadás | kérő + projektvezetők | próbakeresések: a KMTR-tartalom megvan, más nem látja |
Két modell volt az asztalon: projekt-hatókör egy tenanton belül (olcsóbb, de a tisztaságot tesztekkel kell védeni) és külön tenant (több másolat, de a határ maga a mechanizmus). A kérők a másodikat kérték — és igazuk volt.
Minden nem-triviális változás egy hatfájlos specifikációs mappával indul — és a mappa előbb kerül a verziókezelőbe, mint az első kódsor.
Miért és kinek — a probléma, a célok, a siker mércéje. Üzleti nyelven.
Mit — EARS-mondatok, egyenként tesztelhetők, mindegyik egy célhoz kötve.
Hogyan — minden követelményhez a mechanizmus és a bizonyíték.
Mikor, ki — a munka sorrendje; egy feladat csak zöld ellenőrzéssel és elfogadással zárul.
Honnan tudjuk — a teszt, ami a kód előtt születik és piros.
Mi a kockázat — ellenséges átvizsgálás, elfogadott maradék kockázat, két aláírás.
Mindig: a platform minden KMTR-forrást a kmtr tenanthoz irányít útválasztó sorokon keresztül — soha nem egy betöltőbe írt literállal.
Ha … akkor: ha egy KMTR-forrás az útválasztó sora előtt érkezik, akkor a tároló függvény hibát dob, és a futás megáll, mielőtt egyetlen darab is beíródna — soha nem esik vissza az IIER-re.
Amikor: amikor az admin közzéteszi a kmtr csomagot, a betöltő annak forrásait és jogait a kmtr tenant soraiba vetíti, betöltő-módosítás nélkül.
A teszteket a mechanizmus előtt írtuk meg és tettük be a verziókezelőbe. Az első napon pirosak voltak — pontosan ott, ahol kellett; az első nap estéjére zöldek, a JIRA-hozzáférési teszt a 2. nap délutánján.
„KMTR-forrás → kmtr tenant" — piros volt, amíg az útválasztó sorok migrációja nem létezett. Ma zöld, az éles adatbázison is.
„két tenant egy fiók alatt" — piros: a régi kód egy tenantot feltételezett, és a második sornál összeomlott volna. Ezt a teszt találta meg, nem a tervezés.
„a technikai fiók látja a KMTR-projektet" — piros volt, amíg az admin nem adott jogot; a 2. nap délutánján zöld lett. A teszt a másik csapat kapuját is mérte.
A feloldó migrációja a próba-adatbázison zöld volt — az élesen elbukott. A próba egy olyan alakot játszott újra, amilyen az éles sosem volt. Új teszt: az éles alak visszajátszása, állandó kapuként.
Egy utólag írt teszt olyan teszt, amit a kód garantáltan átmegy. És egy zöld teszt is csak annyit bizonyít, amennyit a valóságból mér. Ezért piros előbb — és ezért kell a próbának az éles alakját mérnie.
Ami a KMTR-hez épül, az adat: két migráció (egy hozzáférési sor, három útválasztó sor, és egy feloldó függvény, ami a tenantot paraméterként kapja), egy lemásolt betöltő-fa, egy csomag az admin oldalán. A motor változatlan — a következő projekt egy ellenőrző lista.
Ha a webhook elérhetetlen, a válasz nem szerződés-szerű vagy szabályt sért: Teams-üzenet és e-mail abban a percben, és a futás hibával áll meg — az adatbázis érintetlen.
Ha 48 órán át nincs sikeres futás — például mert a feladat el sem indult —, a reggeli őr jelez. Ez az a csend, ami két hónapig tartott.
Semmi. Egy kézbesített üzenet mindig azt jelenti: „nézz oda most".
Egyik sem helyettesíti a másikat. Zöld teszt és aláírás — ez a „kész".
A specifikáció és a tesztek átnézve, a fő ágon.
A hozzáférési és útválasztó sorok — az adatbázis-gazda alkalmazza, a helyes sorrendben.
JIRA, SharePoint, külön export-csomag — másik csapat kapuja.
A betöltő-fa és a környezet a kiszolgálóra — csak emberi paranccsal.
Betöltés, korpusz, wiki — a gépi tesztek zölden.
A kérő aláír.
Minden nyíl egy emberi döntés. A gép mindent előkészít — a kapukat nem nyithatja ki.
| Szereplő | Ad | Kap |
|---|---|---|
| Kérő (szervező, projektvezetők) | a hatókört, a válaszokat, az elfogadást | egy kereshető, jogosultság-szűrt KMTR-tudástárat és wikit |
| Admin csapat | a jogokat és a külön export-csomagot | egy platformot, ami az ő jogosultság-modelljét alkalmazza — nem másolja |
| Platform | specifikációt, teszteket, mechanizmust, riasztást | egy ellenőrző listát a következő projekthez |
| A gép | a napi munka nagy részét: mérés, szöveg, kód, futtatás | soha nem a döntést és soha nem a kaput |
Az adatbázis sor-szintű szabálya: egy technikai fiók csak azokat a tenantokat látja, amelyekre hozzáférési sora van.
Minden olvasó függvény tenant-paramétert kap; a KMTR-útvonal csak a KMTR-tenantot kérdezheti — szerkezetileg.
Az útvonalon belül a kereső csak azt adja vissza, amire a kérdezőt az export felhasználólistája feljogosítja.
Aki mindkét listán szerepel, mindkét útvonalat használhatja. Aki csak az egyiken, a másikon nulla sort kap.
tenant= címke maga a kapcsoló — aki mindkét tudástárba be van engedve, egy kattintással vált; aki egybe, csak a címkét látjaIsmeretlen forrás, hiányzó jog, sértett szabály: a futás megáll, mielőtt írna. Soha nem tippel.
Teams és e-mail a hibás lépés nevével és okával.
Az őr jelzi, ha egy várt feladat 48 órája nem futott sikeresen.
Minden manifest letöltése hash-elve, archiválva; minden futás sor a naplóban.
Az első nap a kapukig jutott, a második a kapukon át — és közben hat dolog épült, amit senki nem kért, de mind a kérésből derült ki.
Ahol a lábléc kimondja, melyik tudástárban vagy, ott lehet váltani is: egy kattintás, és minden oldal, keresés és Laura a másik tenant alatt fut. Aki egy tenantba jár, csak a címkét látja. A közös alapba került — minden termék megkapja.
A KMTR jogosultság-exportja külön csomagban jött. A betöltő saját szabályaival, írás nélkül ellenőriztük — szerződés, tenant, csak KMTR-forrás —, és az IIER csomagjából ki is került a KMTR. Ma este fut először élesben.
A háttérfolyamat indítója névre szólóan sorolta a tenantokat, így az új tenant kulcsai nem jutottak el hozzá. Most minden tenant-mappát bejár: a következő tenant nem igényel módosítást.
A riasztás első éjszakája két valódi dolgot mondott: a lépés kétperces kerete megölte a háromperces letöltést, és a telepítés minden alkalommal letörölte az archívumot. Mindkettő javítva, teszttel rögzítve.
A kétbérlős olvasók oldalai hibára futottak egy mezőnév miatt, amelyet egyetlen teszt sem járt be. A lábléc-váltó tesztjének írásakor derült ki, egy órán belül javítva. Tanulság: egy adatra kapcsolt ág, amelynek adatát a tesztek sosem adják, nem tesztelt.
Az ügyfélcsomag folyamatos ellenőrzése hetek óta piros volt három elavult feltevés miatt; a KMTR-másolat csak kiszélesítette. Most zöld, és tenantonként ellenőriz.
Az első éjszaka a kérésből termék lett: a KMTR-korpusz bent van. És az éjszaka három olyan hibát is megmutatott, amit nappal senki nem látott volna.
A hajnali bejárás a KMTR JIRA-ját és Confluence-ét teljes egészében betöltötte és beágyazta — több ezer feladat, több száz oldal, tízezer szövegdarab. Egyetlen KMTR-tétel sem keveredett az IIER-oldalra; a kérő és a KMTR-gazda a KMTR-forrásokat látja, ugyanaz a felhasználó az IIER-oldalon csak a nyilvánosat.
A wiki-generátor a KMTR Confluence-éből harminc témát talált, és mindhez írt egy vázlatot — tizenkét perc. Mind vázlat marad, amíg egy ember át nem nézi; a KMTR-oldali visszajelzés erre vár.
A jogosultság-betöltő előző esti sikertelen futása egy mentett állapotot hagyott hátra; az ütemezett futás onnan folytatta, nem talált tennivalót, és „sikert" jelentett. A motor hibája volt, nem a KMTR-é — reggelre javítva, teszttel előbb, délelőtt telepítve.
Az admin megadta az olvasást — egy próba 150 dokumentumot olvasott hiba nélkül. Az export mégsem sorolta fel a dokumentumtárat, mert az a webhely jogait örökli. A betöltő most a megnevezett mappából a tárat is levezeti: adminisztrátori teendő nélkül bekerült a bejárandók közé.
A hub-adminisztrátor csoportja csak az IIER-tenantba volt beengedve, így a lábléc váltója számára nem volt kapcsoló. Egy migráció — teszttel előbb — a KMTR tenantba is beengedte: a szócikkeket lektorálni csak beengedett ember tudja.
A beágyazó kapacitás háromnegyede éjjel kiesett; a maradék egy példányon az éjszaka mégis lefutott, lassabban. A helyreállítás emberi kézben van — a gép jelezte, nem leplezte.
A második éjszaka után a KMTR-tudástár kereshető lett — és délelőttre a harmadik forrás is megérkezett. Közben a platform két saját adósságát is rendezte.
A külön KMTR keresési útvonal hat eszközzel működik. Élő próba: egy KMTR-felhasználó a KMTR-útvonalon KMTR-oldalakat és KMTR-szócikket kap, ugyanő az IIER-útvonalon nullát; jogosultság nélküli azonosítót mindkét útvonal elutasít.
Az első SharePoint-bejárás egy első futásra jellemző hibán akadt el — még nem volt tárolt dokumentum, és a lépés ezt leállásként kezelte. Javítva, teszttel előbb; délelőtt 150 dokumentum, 23 509 szövegdarab, mind a KMTR-jogosultsághoz kötve. Egyetlen fájl sem került az IIER-oldalra.
A KMTR-útvonal telepítésekor a beállítás előbb ért célba, mint a mappája; a szolgáltatás ezt minden útvonalra hibaként kezelte, és nyolc percig egyik tudástár sem válaszolt. A tanulság a tervbe került: a sorrend megfordítva, minden későbbi lépésnél így.
A jogosultság-betöltő eddig teljes jogú adatbázis-kapcsolattal futott. Most egy saját, szűk szerepkörrel: pontosan azt a három műveletet és a naplóírást kapja, amit a munkája igényel. Élesben igazolva, mindkét tenanton.
A régi és az új IIER keresési útvonal hetek óta párhuzamosan élt. Az ügyfélcsomagok átirányítása után a régi útvonal este leállt; az IIER-nek és a KMTR-nek egy-egy útvonala van.
Az éjszakai összesítő sor a lépések lefutása előtt íródott, így kitöltetlen helyőrzőket mutatott. A sorrend javítva: a reggeli állapot már számokból olvasható.
A harmadik éjszaka a KMTR-oldalon esemény nélkül telt — és éppen a csend mutatott meg két apró hibát. Az IIER-oldalon két dolog kívülről jött.
A jogosultság-betöltés már a szűk szerepkörrel futott; mindhárom forrás frissült (4720 feladat, 313 oldal), a SharePoint-tár 150 dokumentuma változatlan volt.
Változás nélküli éjszakán a SharePoint-bejárás „csonka" futást jelentett, és a Confluence-napló kitöltetlen helyőrzőt írt, mert nem volt mit beágyazni. Egyik sem adatvesztés, de egy reggeli olvasónak hibának tűnik. Mindkettő javítva, teszttel előbb; a próba igazolta, hogy a csendes futás most sikerrel zárul.
Egy esti platformtelepítés újraindította a háttérmunkást, egy perccel az IIER jogosultság-betöltés indulása után — a futás megszakadt. Reggel újraindítva, sikerrel. Tanulság: telepítés előtt az ütemtervet is nézni kell.
Az IIER éjszakai frissítésének JIRA-része azzal állt le, hogy a technikai felhasználó nem látja az IIER-projektet; két nappal korábban még látta. A KMTR-t nem érinti. A kérés az adminnál van.
A négy beágyazó példányból kettő továbbra sem válaszol; az IIER SharePoint-bejárása emiatt hibával zárult. A helyreállítás emberi kézben van — a riasztás jelezte.
Egy KMTR-kérdés a KMTR-útvonalon KMTR-találatot ad helyes hivatkozással; az IIER-útvonalon ugyanaz a kérdés nullát.
Egy IIER-olvasó a KMTR-útvonalon nulla sort kap; egy KMTR-szócikk sem hivatkozik IIER-forrásra.
A KMTR-szócikkek látszanak; Laura belőlük válaszol; a tenant-választó a beengedett tenantokat kínálja.
Az IIER-keresés válaszideje nem változott a második tenanttól.
Kérés → mérés → döntés → spec → piros teszt → mechanizmus → kapuk → elfogadás. A gép a kezeket adja. A kapukat mi tartjuk.
#talk)