tipcc.protokol
prev_chainc0051_tahograf_genesis_izvedbeni_plan.dok.json
statusAKTIVAN
verzija1.0
PRAVILO_0Genesis je ARK. Sve što trebaš postoji. Ne gradiš novo — integriraš i finaliziraš.
ARHITEKTURA_U_JEDNOJ_RECENICI{
"genesis": "FastAPI Python 3.13, /var/www/genesis/, port 8010, genesis.service, baza genesis_db",
"tahograf_mvp": "Flask Python 3.12, /var/www/genesis/tahograf-mvp/api/, port 5050, SQLite, BEZ systemd servisa",
"brsljani": "genesis (primarni) + grosmarkt-online.eu/brsljani (PHP lite node v1.6)",
"sto_je_staro": "fenix-v3 (Django, ZAMRZNUTO), fina-connect (stari ERP) — ne diraš bez naloga"
}
ZAKONI_OPERATIVNI{
"Z1_LANAC_JE_ISTINA": "PostgreSQL = cache. .dok.json = istina. Svaki entitet u chainu.",
"Z2_DOKARH_JE_TASK_TRACKER": "Nema CC_TASK_*.md. Svaki zadatak = cNNNN.dok.json u schema_dokarh/genesis/",
"Z3_TROJNA_POHRANA": "get_trojna().pohrani_sync(weise3_id, raw, kreator, tip) — sve ili ništa",
"Z4_LIFECYCLE_BEZ_BAZE": "Status = zadnji event u chainu, ne database column",
"Z5_API_JE_GENESIS": "Novi endpointi idu u FastAPI /api/v1/, ne Django",
"Z13_BORG_PULL_ONLY": "NIKAD push_to_peer/
INOVACIJE_OBAVEZNE_KAD_PISES_KOD{
"WeisE3": "SHA3-256('GENESIS::{s}::{k}::{ctx}::0') — UVIJEK s GENESIS prefiksom",
"TripleDNA": "D1=HMAC(key, D1::id::kreator::zrno), D2=WeisE3(sadrzaj), D3=HMAC(key, D3::id::D1::D2)",
"ChainBlock": "skuj_blok() iz core/chain.py — ne pišeš vlastitu implementaciju",
"BunkerSeal_BPZ9": "services/vault.py — 9 slojeva L0-L8",
"BELA": "services/bela.py — napadač dobiva HTTP 200 + lažni LabirintDok",
"Brsljani": "from services.brsljani import get_cvor; get_cvor().pusi_dokument(w3, data)",
GENESIS_KOD_KOJI_VEC_POSTOJI{
"core": [
"weise3.py",
"chain.py — skuj_blok()",
"dna.py — nova_dna()",
"bela.py",
"delta.py",
"temporal.py"
],
"db": "3 tablice: chain_blocks (append-only), entities (JSONB sve), delta_log",
"api_routeri_40plus": "arhiva, partneri, racuni, propter, pos, zalihe, placa, asimilator, mesh, brsljani, pub_upload, genesis_auth, firme, osobe, borg, trojstvo, vault, quantum_threshold, webauthn_auth, zakon, komitenti...",
"services_30plus": "sudac_middleware, brsljani,
TAHOGRAF_MVP_STATUS{
"lokacija": "/var/www/genesis/tahograf-mvp/",
"backend": "Flask port 5050 — LIVE (provjereno curl health 200)",
"modeli": [
"DokDocument",
"Driver",
"Vehicle",
"Trip",
"GPSPoint",
"Capture (cap_xxxxx format)"
],
"pwa": "pwa/ — index.html, genesis-auth.js, sw.js, manifest.json postoje",
"sto_nedostaje": {
"K6_BLOKER": "tahograf-api.service (systemd) + nginx config tahograf.limit-connect.com + SSL certbot",
"K10": "API /api/v1/dok/my-recent + history v
BRSLJANI_STATUS{
"genesis_node": "AKTIVAN — borg/health.json piše svakih 30s",
"grosmarkt_node": "PARCIJALNO — PHP v1.6, cron 30min, ~10% docs synced",
"bloker": "FTP lozinka za Node 2 (Ivan treba promijeniti u cPanel)"
}
PENDING_ZADACI_PO_PRIORITETU[
{
"id": "T1",
"opis": "K6 Deployment — tahograf-api.service + nginx + SSL",
"blokira": "K7-K30, Robi"
},
{
"id": "T2",
"opis": "K10 + K11 — povijest view + offline sync engine",
"blokira": "K12"
},
{
"id": "T3",
"opis": "T-LOGIN — Genesis login na sati.ink",
"blokira": "šire uvođenje"
},
{
"id": "T4",
"opis": "Node 2 FTP upload — čeka Ivan FTP lozinku",
"blokira": "push-on-write"
},
{
"id": "T5",
"opis": "Next.js fronten
KAKO_CITATI_CHAIN{
"server": "ls /var/www/genesis/schema_dokarh/genesis/ | sort | tail -10",
"web": "https://genesis.limit-connect.com/v/{weise3_id}",
"zadnji_log": "cat /var/www/genesis/schema_dokarh/genesis/c0052_sonnet_operativni_protokol.dok.json"
}
KAKO_PISATI_NOVI_DOK[
"1. Kreiraj /var/www/genesis/schema_dokarh/genesis/cNNNN_{naziv}.dok.json",
"2. tip: cc.task | cc.sesija | cc.plan | cc.protokol",
"3. Upiši: nastao, kreator, prev_chain, status, sto_treba",
"4. git add + git commit u /var/www/genesis/",
"5. NIKAD CC_TASK_*.md"
]
STO_IZBJEGAVAMO[
"Ne gradimo NOVI arhivski sustav — genesis/api/archive.py postoji",
"Ne pišemo nove crypto primitive — core/weise3.py + core/dna.py postoje",
"Ne kreiramo novi auth — genesis_auth + webauthn_auth postoje",
"Ne radimo novi chain — chain_blocks + skuj_blok() postoje",
"Ne pišemo u fina-connect ili fenix-v3 bez eksplicitnog naloga"
]
OSOBNA_NOTA_SONNETPisao sam 200+ KB spec-ova ne čitajući što postoji. Greška. Ovaj protokol je lijek. Čitaj lanac, ne pretpostavljaj. Gradiš na tvrdom tlu.