FRST beta
BelépésLog in

A folyamat · 0.10.7The pipeline · 0.10.7

Hogyan működikHow it works

Egy FRST-futás körökből áll. Minden körben dolgozik a csapat, utána gépi kapuk mérik le, amit csinált – modell nélkül. A kapuőr csak akkor kap szót, ha minden kapu zöld. A cél végig ugyanaz: amit a rendszer késznek mond, az legyen is kész.

An FRST run is made of rounds. In each round the team works, then machine gates measure what it did – without a model. The gatekeeper only gets a say once every gate is green. The aim never changes: what the system calls done must actually be done.

Egy kör, lépésről lépésreOne round, step by step

  1. Cél

    Te írod: mit építsen vagy bővítsen a csapat. A legjobb cél egy interfész-specifikáció – fájlok, útvonalak, mezőnevek, a válaszok formája, a hibaágak. Ha nem tudod pontosan megfogalmazni, a Cél-segéd beszélgetve segít, és csapatot is javasol.

  2. Architect

    Az első munkás megtervezi a fájlszerkezetet, kiosztja, ki melyik fájlért felel, és rögzíti a pontos felületet – ebből dolgozik mindenki, a tesztíró is. A terv egyszer készül el, és a futás végéig nem sodródik. Aki a tervben „nem vesz részt”, azt meg sem hívjuk. Meglévő projektnél az Architect látja a meglévő kódot és a futás előtt zöld teszteket, és a terv nem írhatja felül őket.

  3. Munkások

    A csapatot grafikusan rakod össze: az egymás mellé tett munkások párhuzamosan dolgoznak, az egymás alá tettek sorban – a későbbi sor már látja a korábbi sor ugyanabban a körben elkészült fájljait (a frontend a kész backend API-ra épít). Javítókörben a munkás nem írja újra az egész fájlt, csak célzott cseréket küld.

  4. Determinisztikus kapuk

    Szintaxis és sablonok, fájlok közötti hivatkozások, a projekt tesztjei, statikus biztonsági vizsgálat, build. Egy kapu vagy átmegy, vagy nem – itt nincs vélemény.

  5. Visszajelzés

    Ha egy kapu piros, a hiba a felelős munkáshoz megy vissza a tényleges hibasorral – nem mindenkihez. A teszt bukása a logikát írókhoz kerül, nem a sablont vagy stílust író frontendhez.

  6. Kapuőr

    Ha minden kapu zöld, egy külön modell ellenőrzi, hogy a célban felsorolt követelmények teljesülnek-e. Elutasítani csak úgy tud, hogy megnevezi a konkrét követelményt és a konkrét kódrészt. Stílus, ízlés vagy elméleti aggály nem elég.

  7. Commit

    Minden kör külön git commitot kap, a kapuk állapotával az üzenetben. Utólag végigkövethető, mi történt, és mikor romlott el valami.

  1. Goal

    You write it: what the team should build or extend. The best goal is an interface spec – files, routes, field names, the shape of the responses, the error branches. If you can't phrase it precisely, the Goal assistant helps in a conversation and proposes a team too.

  2. Architect

    The first worker designs the file structure, assigns who owns which file and pins down the exact interface – everyone works from it, the test writer too. The plan is made once and does not drift until the end of the run. Workers the plan marks as “not taking part” are not called at all. On an existing project the Architect sees the existing code and the tests that passed before the run, and the plan may not override them.

  3. Workers

    You build the team visually: workers placed side by side run in parallel, workers placed below run in sequence – a later row already sees the files the earlier row produced in the same round (the frontend builds on the finished backend API). In a fix round a worker does not rewrite the whole file, it sends targeted replacements.

  4. Deterministic gates

    Syntax and templates, cross-file references, the project's tests, a static security scan, build. A gate passes or it doesn't – there are no opinions here.

  5. Feedback

    When a gate is red, the error goes back to the responsible worker with the actual failing line – not to everyone. A failing test goes to the workers who wrote the logic, not to the frontend that only wrote templates or styles.

  6. Gatekeeper

    When every gate is green, a separate model checks whether the requirements listed in the goal are met. It can only reject by naming the specific requirement and the specific piece of code. Style, taste or a theoretical worry is not enough.

  7. Commit

    Every round gets its own git commit, with the gate results in the message. You can trace afterwards what happened and when something broke.

A kapukThe gates

KapuMit nézMiért kell
SzintaxisMinden forrásfájl lefordul-e (py_compile, node --check, php -l).Ha egy fájl nem értelmezhető, minden további eredmény zaj.
SablonA HTML/Jinja sablonok szintaxisa.Egy elgépelt tag enélkül átmenne mindenen, és csak egy teszt mélyén, érthetetlen hibával bukna ki.
KeresztfájlImportált nevek, sablonnevek, url_for végpontok, űrlapmezők, a frontend hívásai a szerver útvonalaira, PHP include – kódfuttatás nélkül.A hibák gyakran a fájlok között vannak: mindegyik lefordul, együtt mégsem működnek.
TesztA projekt saját tesztjei strukturált riporttal (Pythonnál pytest, Node-nál node --test).Nulla lefutott teszt nem siker; a betöltési hiba külön jelzés.
Meglévő tesztekMeglévő projektnél a futás előtt zöld tesztek eredeti változata.A csapat nem igazíthatja a tesztet a saját hibás kódjához.
BiztonságStatikus vizsgálat (bandit, Python); közepes vagy magas súlyosságú találat bukás.SQL-injekció, beégetett titok, veszélyes eval.
BuildBetölthető-e, elindul-e a projekt (pl. npm install + build).Ami fájlonként rendben van, együtt még nem biztos, hogy fut.
GateWhat it checksWhy it matters
SyntaxEvery source file compiles (py_compile, node --check, php -l).If a file can't be parsed, every further result is noise.
TemplatesHTML/Jinja template syntax.Without it a mistyped tag passes everything and only fails deep inside a test with an obscure error.
Cross-fileImported names, template names, url_for endpoints, form fields, frontend calls to server routes, PHP includes – without running code.Bugs often live between files: each one compiles, together they don't work.
TestsThe project's own tests with a structured report (pytest for Python, node --test for Node).Zero executed tests is not a success; a load error is reported separately.
Existing testsOn an existing project, the original version of the tests that passed before the run.The team cannot bend a test to fit its own broken code.
SecurityStatic scan (bandit, Python); a medium or high severity finding fails.SQL injection, hardcoded secrets, unsafe eval.
BuildDoes the project load and start (e.g. npm install + build).What is fine file by file does not necessarily run together.

Biztonsági hálókSafety nets

Hogyan írj jó céltHow to write a good goal

A mérésekben minden egykörös siker mögött pontos specifikáció állt. A cél nem ötlet, hanem interfész-leírás: amit nem írsz le, azt az Architect kitalálja – és akkor te nem tudod, mit kapsz.

In the measurements, every one-round success had a precise spec behind it. A goal is not an idea, it's an interface description: whatever you leave out, the Architect invents – and then you don't know what you'll get.

Ha a célod alapján egy másik fejlesztő is ugyanazt az alkalmazást írná meg, akkor jó a cél.
If another developer would build the same application from your goal, it's a good goal.

Modellek és kulcsokModels and keys

Minden munkásnak külön modellt választhatsz: Google Gemini, Anthropic Claude, OpenAI, Groq, OpenRouter, SambaNova – a saját kulcsoddal. A mérések nagy része Gemini Flash modellekkel készült, néhány centes futásonkénti költséggel. Ha a gépeden van Claude Code, az frst-bridge programmal azt is csapattagnak veheted: a kérdés a gépedre jön, ott eszközök nélkül fut, és csak a szöveges válasz megy vissza – kizárólag a saját futásaidhoz.

You can pick a separate model for each worker: Google Gemini, Anthropic Claude, OpenAI, Groq, OpenRouter, SambaNova – with your own key. Most measurements used Gemini Flash models, at a few cents per run. If you have Claude Code on your computer, the frst-bridge program lets you add it as a team member: the prompt comes to your machine, runs there without tools, and only the text answer goes back – for your own runs only.

Tovább: a mérések megmutatják, mennyire működik ez a gyakorlatban – a rossz számokkal együtt. A részletes, képernyőről képernyőre vezető leírás az Útmutatóban van.

Next: the benchmarks show how well this works in practice – bad numbers included. The detailed, screen-by-screen walkthrough is in the Guide (Hungarian).