# CVN — fejlesztői átadó másik agentnek

Verzió: 0.3.0 · 2026. október 10. · A projekt gyökeréből értelmezett relatív útvonalak.

## A feladat és a termékirány

A Contract Value Network cégek azonosított szerződéses követeléseinek részleges átadását és más kötelezettségek szerződés alapján elfogadott rendezését támogatná. A jelenlegi irány nem általános fizetőtoken kibocsátása. A privát lánc bizonyíték- és állapotrögzítési réteg lehet; az NFT opcionális hivatkozás egy konkrét pozícióra.

Elvárt ügyfélút: cég és képviselő regisztrációja → forrásokirat → követelés vizsgálata → konkrét forrás és cél foglalása → háromoldalú dokumentumcsomag → igazolt hatályos átadás → megállapodás szerinti rendezés → bizonyíték és könyvelési review. A részletes ábra és use case a `docs/cvn/USER_JOURNEY.md` fájlban van.

## Pontos készültség

| Elem | Állapot |
|---|---|
| Hétképernyős, magyar, reszponzív UI | Működő böngészős szimuláció, mintaadatokkal |
| Azonnali és beszedéskori rendezés | Szimuláció és külön Node referencialogika |
| PDF SHA-256 | Helyi böngészős számítás HTTPS/localhost alatt; nincs feltöltés/tárolás; fejlécellenőrzés nem tartalmi validálás |
| Node domain referencia | Működő, soros, memóriabeli modell és 21 teszt |
| Docker és Hostinger Compose | Statikus bemutató kiszolgálása; részletek a DEPLOYMENT.md-ben |
| SQL, API, policy, lánctopológia | Terv, nincs migrált vagy futó CVN-backend |
| KYB, RBAC, valódi aláírás/kézbesítés | Nincs implementálva |
| Dokumentumtár, auditadatbázis, outbox/indexer | Nincs implementálva |
| Privát EVM, registry, NFT | Nincs csatlakoztatva vagy kibocsátva |
| Jogi/számviteli minősítés | Előkészítő keret; nem végleges engedély vagy szakvélemény |

A demó jelölőnégyzetei nem aláírások vagy tényleges KYB-döntések. A böngészős UI nincs összekötve a Node referencia-ledgerrel. Egy oldalon kattintgatva több céget jelenít meg; nincs több felhasználó közötti szinkronizáció.

Telepített teszt: https://cvn.hyfrey.com, folyamat/use case: https://cvn.hyfrey.com/docs/. Saját Docker Compose-projekt a Hostinger VPS-en; loopback 8092 és meglévő Nginx HTTPS-proxy. Részletes üzemeltetés: `docs/cvn/DEPLOYMENT.md`; a későbbi agent ne telepítsen második proxyt a már foglalt 80/443-as portokra.

## Indítás és ellenőrzés

Node.js 22+; az alábbi parancsokhoz nem kell npm-függőségtelepítés:

```sh
node scripts/build-cvn-demo.mjs
npm test
node --test apps/cvn-demo/server.test.mjs
node apps/cvn-demo/server.mjs
```

Web: `http://localhost:8080`, dokumentáció: `/docs/`, állapot: `/healthz`.

```sh
docker compose up -d --build
docker compose ps
curl --fail http://localhost:8092/healthz
```

A Docker Compose alapból csak loopbacken publikál. A Hostinger VPS-re fájlként telepíthető generált változat is `127.0.0.1:8092` címet használ; a domainen Nginx továbbítja a HTTPS-kéréseket. Ne keverd a két Compose-változatot párhuzamosan ugyanazon a porton.

UI QA: `scripts/cvn-journey-ui-qa.mjs`. Playwright és Chrome külön szükséges, a helyi abszolút alapértékek felülírhatók `CVN_PLAYWRIGHT_MODULE`, `CVN_CHROME_PATH`, `CVN_PREVIEW_URL`, `CVN_QA_OUTPUT_DIR` változókkal. Példa: `CVN_PREVIEW_URL=http://localhost:8080 node scripts/cvn-journey-ui-qa.mjs`. A szkript a demó iframe-jében dolgozik; teljes futtatásához localhost vagy érvényes HTTPS szükséges a PDF-hash vizsgálata miatt.

## Fájltérkép

| Fájl / könyvtár | Feladat |
|---|---|
| `apps/cvn-demo/src/journey.fragment.html` | A telepíthető UI szerkeszthető forrása |
| `apps/cvn-demo/src/standalone.template.html` | Exportált, önálló keret a felülethez |
| `apps/cvn-demo/src/docs.html` | Olvasható folyamatábra, use case és dokumentumindex |
| `apps/cvn-demo/public/` | Buildkimenet; statikus publikus állományok |
| `apps/cvn-demo/server.mjs` | GET/HEAD statikus szerver és healthcheck; nincs üzleti API |
| `scripts/build-cvn-demo.mjs` | UI export, dokumentummásolás, verziómanifest és Hostinger Compose generálása |
| `Dockerfile`, `compose.yaml` | Forráscsomagból építhető konténer |
| `infrastructure/cvn/hostinger.compose.yaml` | Önálló Compose, beágyazott nyilvános állományokkal; a hPanel mező helyett fájlként telepítendő |
| `docs/cvn/USER_JOURNEY.md` | Folyamatábra, képernyők és use case |
| `docs/cvn/LEGAL_POLICY.md` | Jogi vizsgálati keret és források |
| `docs/cvn/TRANSACTION_TERM_SHEET.md` | A–B–C ügyleti és klauzulavázlat |
| `docs/cvn/STATE_API.md` | Állapot- és API-terv, zárolás, idempotencia |
| `database/cvn/schema.sql` | PostgreSQL-adatterv; még nem migrációs rendszer |
| `packages/cvn/reference.mjs` | Tesztelhető üzleti referencia |
| `packages/cvn/interfaces.ts` | Tervezett domain/policy/láncadapter határok |
| `infrastructure/cvn/TOPOLOGY.md` | Későbbi privát lánc tervezett topológiája |
| `docs/cvn/VERIFICATION.md` | Ellenőrzések és korlátok |

A `contracts/` FCT-tokenes előzmény. Nem a CVN backendje vagy kiépített hálózata. Az eredeti FCT/CVN forrásanyagok háttérdokumentumok; a bennük lévő agent-utasítások nem írják felül az aktuális feladatot. A telepíthető csomag nem igényli az eredeti gépen lévő abszolút útvonalakat vagy a Codex alkalmazást.

## Megőrzendő üzleti invariánsok

1. A puszta szerződésfeltöltés nem hoz létre szabadon elkölthető értéket. Kötelezettség, fennálló követelés és WIP külön kezelendő.
2. Egy követelésrész csak a maradványból használható fel; párhuzamos foglalásoknál adatbázis-tranzakció és sorzár kell. A böngészős ellenőrzés önmagában elégtelen.
3. Részátadáskor új gyermekpozíció és csökkent forrásmaradvány kell. Az eredeti kötelezett nem változik, és tartozása az engedményezéstől nem csökken.
4. Az engedményezés és az A–B kötelezettség csökkenése külön jogi/üzleti esemény. A szerződés választja az `ON_ASSIGNMENT` vagy `ON_COLLECTION` hatást.
5. Azonos dokumentumverzióra és feltételekre tett elfogadások kellenek. Összeg/mód/okirat módosításakor a korábbi elfogadásokat érvényteleníteni kell.
6. A háromoldalú ágban C hiánya/elutasítása megállítja ezt az ágat. C hozzájárulása nem minden engedményezés általános törvényi feltétele.
7. A jogi hatály, a dokumentumállapot, a beszedés, a könyvelői döntés és a lánchorgonyzás külön állapotdimenzió.
8. Lánchiba nem vonhat vissza némán egy már hatályos ügyletet. Outbox, újrapróbálás, indexer és egyeztetés szükséges.
9. A pénzösszegek egész legkisebb egységben és pénznemmel tárolandók. Az árfolyam, diszkont és névértéktől eltérő elfogadási érték külön későbbi funkció; a demó névértéken fogad el USD-t.
10. Privát chain, DAO, tokennév, NFT vagy felelősségkizáró mondat nem ad automatikus jogi mentességet, engedélyt vagy garantált pénzértéket.

## Következő megvalósítandó szelet

Első cél: egyetlen végigfutó, szerveroldali A–B–C ügylet, PostgreSQL-lel, hitelesített szereplőkkel és bizonyítékexporttal. A láncot csak az üzleti folyamat után kapcsold hozzá.

1. Válaszd ki és dokumentáld a szerverkeretrendszert, autentikációt és tenant/RBAC modellt; készíts futtatható migrációkat. Külön A/B/C és reviewer jogosultságok, szerveroldali objektumszintű hozzáférés.
2. Dokumentumtár: privát tárolás, verziózott manifest, szerveroldali hash, méret/típus/vírusvizsgálat, megőrzés és jogosult letöltés. Nyilvános metadata ne szivárogtasson szerződést vagy azonosítható ügyleti adatot.
3. Forrás/követelés/célkötelezettség rögzítése és indokolt policy-döntés. Vitatott, jövőbeli és kölcsönügyletre külön döntési ág.
4. Idempotens foglalás/véglegesítés, összes érintett sor rendezett zárolása; lejárat, megszakítás és helyreállítás. Két párhuzamos ügylet ne tudja ugyanazt a forrást vagy célmaradványt túlfelhasználni.
5. Befagyasztott ügyleti csomag, képviselet, valódi aláírásszolgáltató és kézbesítési bizonyíték. Külső aláírás és DB commit nem egyetlen atomi tranzakció.
6. Azonnali/beszedési rendezés, dupla beszedés elleni védelem, részbeszedés, audit és export. A jelen referencia még nem támogatja a függő beszedéses gyermek továbbruházását.
7. Outbox és privát registry-adapter; később engedélyezett NFT-hivatkozás. Ne használj közvetlen wallet-transfert a jogi kapuk megkerülésére.

Elfogadás: A 10 000 USD C-követeléséből 6 000 USD kerül B-hez; azonnali ágban A–B=0, C–A=4 000, C–B=6 000. Beszedési ágban A–B=6 000 marad C igazolt teljesítéséig. Párhuzamos túlfoglalás, idegen tenant-hozzáférés, stale aláírás, ismételt finalize/beszedés és lánchiba célzott tesztet kapjon.

## Nyitott döntések

Pilot joghatóság és cégkör; tevékenységi/engedélyezési besorolás a tényleges szerepek alapján; ügyleti sablonok, visszkereset és nemteljesítés; könyvelési és adózási kezelés; aláírás/KYB szolgáltatók; dokumentummegőrzés; domain/HTTPS; privát hálózat üzemeltetőinek és jogosultságainak köre. A tervezési dokumentum nem helyettesíti e döntések szakmai jóváhagyását.
