Kako radi Baza pravila
Praktično i tehničko uputstvo za investitore, arhitekte, programere i AI agente. Objašnjava javnu pretragu, značenje pravila, šta baza sadrži i ne sadrži, kako rade verifikovane AI provere i kako se koriste REST API i MCP bez dopuštanja jezičkom modelu da izmišlja činjenice iz propisa.
1. Šta je ovaj sistem — i šta nije
VPAA Baza pravila je strukturisani sloj iznad punog teksta propisa o planiranju i izgradnji i odabranih planskih dokumenata. Umjesto da čovjek ili AI za svako pitanje ponovo čita hiljade članova, iz propisa se izdvajaju zahtjevi koji se stvarno mogu provjeriti na projektu: mjerljive granice, jasne obaveze, uslovi primjene, tipične zamke i doslovni citati izvora.
Pravilo vrijedi samo ako se može vratiti do izvora. Zato upotrebljiv zapis sadrži propis ili plan, službeno glasilo, član, doslovan citat, pitanje i odgovor razumljiv čovjeku i—kada je moguće—strukturisanu mašinsku provjeru.
Jeste
Brz način da se pronađu zahtjevi bitni za projekat, provjeri izvor, filtrira primjenljivost i softverski izračunaju samo determinističke provjere.
Nije
Zamjena za službeno glasilo, lokacijske uslove, nadležni organ, odgovornog projektanta, pravni savjet ili formalno odobrenje projekta.
2. Tri načina korišćenja sistema
1 · Pretraga za čovjeka
Koristi /pravila u browseru. Najbolje za istraživanje, provjeru izvora, filtere i čitanje doslovnih citata.
2 · REST API
Koristi strukturisani JSON iz svoje aplikacije, backenda, chatbota ili workflow-a. Pretraga, konkretna provjera i audit su odvojeni endpointi.
3 · MCP
Poveži Claude ili drugi MCP agent direktno na VPAA Rules alate. Agent razumije klijenta; server ostaje izvor činjenica iz propisa.
Preporučena kombinacija
Javnu stranicu koristi za pregled i provjeru. REST/MCP koristi kada softver treba da postavlja potpitanja, poredi mjere ili radi predkontrolu prije predaje.
Parcela / Plan Context
Plan Context je planski sloj ispred opšte Baze pravila. Na /provjeri-parcelu/ lokaciju u Beogradu zadaješ kao katastarsku opštinu + broj parcele ili kao WGS84 tačku / klik na mapu. Servis zatim pita javne Beoland GIS slojeve i pokušava da pronađenu zonu spoji sa lokalno potvrđenim planskim zapisom koji ima službeno glasilo i doslovan citat.
Rezultat namjerno odvaja informativni GIS kontekst od potvrđenih planskih parametara. GIS broj je koristan da pronađe kontekst, ali ne postaje pravni prag dok odgovor eksplicitno ne kaže can_conclude_legal_parameters=true.
Hijerarhija planova i granice zona
Hijerarhija
PDR / specific plan > PGR > general rules. Ako se pronađe PDR ili poseban plan, PGR ostaje koristan širi kontekst, ali se ne vraća kao konačan parametar za projekat.
ambiguous
Ako tačka presijeca materijalno različite planske/zonske zapise, server ne bira prvi rezultat. Vraća status ambiguous i traži ručnu provjeru granice.
Preliminarni planski potencijal
Kada postoje površina parcele i upotrebljivi indeks zauzetosti/izgrađenosti, stranica može prikazati brzu računicu osnove i BRGP. GIS-only ulazi su označeni indicative_from_gis i can_use_as_legal_parameter=false. Udaljenja, visina, zelenilo, parking, pristup, zaštita, infrastruktura i druga ograničenja mogu smanjiti ostvarivu BRGP.
REST API
POST /api/v2/rules/plan-context/
Content-Type: application/json
{"parcel":{"cadastral_municipality":"Zemun","number":"1234/5"}}
// or: {"lat":44.8125,"lon":20.4612}Čitaj coverage, resolution.status, resolution.hierarchy, can_conclude_legal_parameters, plan, zone, parameters.verified, parameters.informational_gis, development_potential, risks, sources i warnings.
MCP · get_plan_context
MCP agent treba da pozove get_plan_context prije odgovora o konkretnoj beogradskoj parceli kada zna parcelu ili koordinatu. Ne smije GIS-only vrijednosti pretvoriti u pravne činjenice iz memorije modela. Ambiguous granica ili PDR/poseban plan sa prvenstvom zahtijevaju objašnjenje/ručnu provjeru umjesto pada nazad na PGR.
3. Kako radi javna pretraga
Polje za pretragu namjerno nije opšti chatbot. Ono pretražuje strukturisani korpus pravila. Srpska latinica, ćirilica i dijakritika se normalizuju, pa isti pojam može da se pogodi bez obzira na pismo. Uobičajene upitne/pomoćne riječi i vrlo kratke riječi se izbacuju, a duže riječi se svode na grublji korijen da padež i nastavak ne bi nepotrebno oborili pogodak.
Preostali korijeni se kombinuju konzervativno: očekuje se da se svi pojave negdje u pravilu. Ako nema nijednog rezultata, sistem postepeno uklanja najrjeđi termin koji blokira upit dok ne ostane najšire korisno jezgro. Namjerno se ne prelazi na ogromnu listu “pogodi bilo koju riječ”, jer je šum posebno opasan kada se traže regulatorni zahtjevi.
Filteri
- Oblast: sužava stručnu temu.
- blokira / proveriti / informativno: težina odnosno način na koji se pravilo koristi.
- potvrđeno / izvedeno: status provjere. Pravila za reviziju su skrivena javnim posjetiocima.
4. Kako najbolje postaviti pitanje
AI agentu možeš pisati potpuno prirodnim jezikom, ali činjenice treba da budu eksplicitne. Dobro pitanje kaže šta je projekat, gdje se nalazi, šta želiš da provjeriš i koja je stvarna izmjerena vrijednost sa jedinicom. Klijent ne treba da zna nazive polja u bazi; agent treba običan jezik da mapira na aktuelnu šemu koju izlaže server.
Loše
“Je li mi projekat dobar?”
Nema lokacije, namjene, podataka o projektu ni konkretne provjere.
Bolje
“Stambena kuća u Beogradu sa podzemnom garažom. Čista širina rampe je 270 cm. Da li je dovoljna i koji podaci još nedostaju za ovu provjeru?”
Mjera koja se odbija
“ramp width = 270”
Server ne smije da pogađa da li 270 znači mm, cm ili m.
Sigurna mjera
“ramp width = 270 cm”
Server može deterministički da pretvori kompatibilne jedinice prije poređenja.
Koristan obrazac pitanja
Projekat: [kuća / stambena zgrada / hotel / poslovni / mješoviti] Lokacija: [grad + plan/zona ako je poznata] Faza: [prije lokacijskih / PGD / radovi / tehnički pregled] Bitne činjenice: [garaža, broj stanova, položaj objekta, zaštita...] Mjera: [vrijednost + jedinica] Pitanje: [jedna konkretna regulatorna provjera] Zatim: reci koji podaci nedostaju i navedi izvor za svako pravilo na koje se oslanjaš.
Složena pitanja su dozvoljena, ali dobar AI agent treba da ih razloži na više konkretnih provjera umjesto da pošalje jedan neodređen mega-upit.
5. Kako se čita kartica pravila
| Polje | Značenje |
|---|---|
| Pitanje | Formulacija razumljiva čovjeku: šta se ovim pravilom provjerava. |
| Vrijednost / odgovor | Sažeti zahtjev izveden iz izvora. |
| Primjenjuje se | Uslovi koji moraju da važe da bi se pravilo primijenilo na konkretan projekat. |
| Zamka | Česta greška, izuzetak ili praktičan razlog zbog kog projekat može da padne. |
| Izvor | Propis/plan, član i službeno glasilo. |
| Citat | Doslovni tekst izvora na kom je pravilo zasnovano. |
| potvrđeno | Ručno provjereno ili potvrđeno na konkretnom predmetu. Može da bude osnova AI regulatornog zaključka. |
| izvedeno | Izvučeno iz teksta i provjereno prema citatu, ali još nije promovisano u potvrđen status za AI zaključke prema klijentu. |
| blokira | Zahtjev koji se tretira kao potencijalno blokirajući za predaju/odobrenje ako nije ispunjen. |
| proveriti | Obaveza koju treba provjeriti i koja može tražiti ispravku ili dodatni dokaz. |
| informativno | Kontekst, definicija ili postupak koji objašnjava primjenu, ali sam po sebi nije mjera sa crteža. |
6. Pokrivenost: šta je u bazi i šta je planirano
Baza namjerno javno pokazuje da nije potpuna. Propis može da bude u korpusu punog teksta i registru prije nego što iz njega bude izvučeno ijedno strukturisano pravilo. Ne postaje svaki član pravilo: definicije, prelazne odredbe i čisto proceduralni tekst mogu biti pročitani i svjesno preskočeni, dok se mjerljivi zahtjevi i jasne projektantske obaveze izdvajaju uz doslovan citat.
Planski dokumenti se vode odvojeno od državnih propisa. To je važno jer konkretan plan može biti mjerodavniji od opšteg pravila za određenu lokaciju; zato se zonsko pravilo nikada ne smije primijeniti bez odgovarajućeg podatka o lokaciji/zoni.
Izvori iz kojih već postoje strukturisana pravila
| Propis / izvor | Glasilo | Članova | Obrađeno | Pravila |
|---|---|---|---|---|
| Zakon o planiranju i izgradnji | Sl. glasnik RS, br. 72/2009 … 62/2023 i 91/2025 | 243 | 243 | 216 |
| Pravilnik o tehničkim standardima planiranja, projektovanja i izgradnje objekata, kojima se osigurava nesmetano kretanje i pristup osobama sa invaliditetom, deci i starim osobama | Sl. glasnik RS, br. 22/2015 i 10/2026 | 47 | 47 | 139 |
| Pravilnik o sadržini, načinu i postupku izrade i načinu vršenja kontrole tehničke dokumentacije prema klasi i nameni objekata | Sl. glasnik RS, br. 96/2023 | 90 | 90 | 127 |
| Pravilnik o tehničkim normativima za zaštitu od požara stambenih i poslovnih objekata i objekata javne namene | Sl. glasnik RS, br. 22/2019 | 59 | 59 | 102 |
| Pravilnik o postupku sprovođenja objedinjene procedure elektronskim putem | Sl. glasnik RS, br. 96/2023 i 33/2026 | 65 | 65 | 99 |
| Pravilnik o opštim pravilima za parcelaciju, regulaciju i izgradnju | Sl. glasnik RS, br. 22/2015 | 67 | 67 | 84 |
| Pravilnik o tehničkim zahtevima za zaštitu garaža za putničke automobile od požara i eksplozija | Sl. list SCG, br. 31/2005 | 42 | 42 | 78 |
| Pravilnik o uslovima i normativima za projektovanje stambenih zgrada i stanova | Sl. glasnik RS, br. 58/2012, 74/2015 i 82/2015 | 51 | 51 | 66 |
| Zakon o vodama | Sl. glasnik RS, br. 30/2010, 93/2012, 101/2016, 95/2018 i 95/2018 - dr. zakon | 203 | 3 | 56 |
| Uredba o lokacijskim uslovima | Sl. glasnik RS, br. 87/2023 | 42 | 42 | 54 |
| Pravilnik o tehničkim zahtevima bezbednosti od požara spoljnih zidova zgrada | Sl. glasnik RS, br. 59/2016, 36/2017 i 6/2019 | 20 | 20 | 52 |
| Zakon o putevima | Sl. glasnik RS, br. 41/2018, 95/2018 - dr. zakon i 92/2023 - dr. zakon | 110 | 11 | 37 |
| Zakon o zaštiti od požara | Sl. glasnik RS, br. 111/2009, 20/2015, 87/2018 i 87/2018 - dr. zakoni | 66 | 15 | 37 |
| Zakon o stanovanju i održavanju zgrada | Sl. glasnik RS, br. 104/2016 i 9/2020 - dr. zakon | 157 | 13 | 33 |
| Zakon o posebnim uslovima za evidentiranje i upis prava na nepokretnostima | Sl. glasnik RS, br. 91/2025 i 80/2026 | — | 14 | 31 |
| Pravilnik o tehničkim normativima za zaštitu visokih objekata od požara | Sl. glasnik RS, br. 80/2015, 67/2017 i 103/2018 | 79 | 16 | 26 |
| Zakon o opštem upravnom postupku (ZUP) | Sl. glasnik RS, br. 18/2016, 95/2018 – autentično tumačenje i 2/2023 – odluka US | 216 | 15 | 21 |
| Pravilnik o energetskoj efikasnosti zgrada | Sl. glasnik RS, br. 61/2011 | 25 | 25 | 19 |
| Pravilnik o uslovima, sadržini i načinu izdavanja sertifikata o energetskim svojstvima zgrada | Sl. glasnik RS, br. 69/2012, 44/2018 – dr. zakon, 111/2022 i 102/2025 | 22 | 22 | 18 |
| Pravilnik za građevinske konstrukcije | Sl. glasnik RS, br. 89/2019, 52/2020 i 122/2020 | 100 | 17 | 18 |
| Pravilnik o sadržini i načinu vođenja knjige inspekcije, građevinskog dnevnika i građevinske knjige | Sl. glasnik RS, br. 96/2023 | 20 | 20 | 18 |
| Pravilnik o standardima za kategorizaciju ugostiteljskih objekata za smeštaj | Sl. glasnik RS, br. 83/2016 i 30/2017 | 36 | 6 | 18 |
| Uredba o listi projekata za procenu uticaja na životnu sredinu | Sl. glasnik RS, br. 106/2025 | — | 19 | 18 |
| Pravilnik o tehničkim normativima za skloništa | Sl. list SFRJ, br. 55/1983 | 238 | 8 | 14 |
| Pravilnik o uslovima i načinu obavljanja ugostiteljske delatnosti, razvrstavanju i minimalno tehničkim uslovima | Sl. glasnik RS, br. 48/2012 i 58/2016 | — | 11 | 13 |
| Uredba o bezbednosti i zdravlju na radu na privremenim ili pokretnim gradilištima | Sl. glasnik RS, br. 14/2009, 95/2010, 98/2018, 35/2023 - dr. zakon i 76/2024 | — | 5 | 12 |
| Zakon o kulturnom nasleđu | Sl. glasnik RS, br. 129/2021 | 135 | 15 | 12 |
| Zakon o proceni uticaja na životnu sredinu | Sl. glasnik RS, br. 94/2024; objavljeno 28.11.2024; na snazi od 06.12.2024 | 64 | 9 | 12 |
| Zakon o kulturnim dobrima — odredbe koje ostaju na snazi po čl. 137 Zakona o kulturnom nasleđu | Sl. glasnik RS, br. 71/94, 52/11 – dr. zakoni, 99/11 – dr. zakon, 6/20 – dr. zakon i 35/21 – dr. zakon | 135 | 15 | 11 |
| Zakon o planiranju i izgradnji — izmene i dopune 80/2026 | Sl. glasnik RS, br. 80/2026; objavljeno 31.08.2026; u primeni od 01.09.2026 | — | 5 | 10 |
| Zakon o ugostiteljstvu | Sl. glasnik RS, br. 17/2019 | 102 | 5 | 9 |
| Pravilnik o klasifikaciji objekata | Sl. glasnik RS, br. 22/2015 | 8 | 8 | 7 |
| Zakon o planiranju i izgradnji | važeći prečišćeni tekst u bazi | 243 | 243 | 6 |
| Zakon o smanjenju rizika od katastrofa i upravljanju vanrednim situacijama | Sl. glasnik RS, br. 87/2018 | — | 1 | 4 |
| Uredba o listi projekata za procenu uticaja na životnu sredinu | Sl. glasnik RS, br. 106/2025; objavljeno 28.11.2025; na snazi od 06.12.2025 | — | 19 | 2 |
| Zakon o planiranju i izgradnji | Sl. glasnik RS, br. 72/2009 ... 62/2023 i 91/2025 | 243 | 243 | 2 |
| Pravilnik o građevinskim konstrukcijama | Sl. glasnik RS, br. 89/2019 i 52/2020 | 100 | 17 | 1 |
| Pravilnik o tehnickim normativima za instalacije hidrantske mreze za gasenje pozara | Sl. glasnik RS, br. 3/2018 | 41 | 1 | 1 |
| Pravilnik o opstim pravilima za parcelaciju, regulaciju i izgradnju | Sl. glasnik RS, br. 22/2015 | 67 | 67 | 1 |
| Pravilnik o postupku sprovodjenja objedinjene procedure elektronskim putem | Sl. glasnik RS, br. 96/2023 i 33/2026 | 65 | 65 | 1 |
| Pravilnik o tehnickim normativima za zastitu od pozara stambenih i poslovnih objekata i objekata javne namene | Sl. glasnik RS, br. 22/2019 | 59 | 59 | 1 |
| Zakon o bezbednosti i zdravlju na radu | Sl. glasnik RS, br. 35/2023 | 113 | 1 | 1 |
| Zakon o planiranju i izgradnji | Sl. glasnik RS, br. 72/2009 ... 91/2025 i 80/2026 | 243 | 243 | 1 |
| Zakon o planiranju i izgradnji + Pravilnik o tehničkoj dokumentaciji | ZPI: Sl. glasnik RS ... 62/2023 i 91/2025; Pravilnik: 96/2023 | 243 | 243 | 1 |
| Zakon o planiranju i izgradnji; Pravilnik o posebnoj vrsti objekata i posebnoj vrsti radova za koje nije potrebno pribavljati akt nadleznog organa... | ZPI — poslednje izmene 80/2026; Pravilnik — Sl. glasnik RS, br. 87/2023, 16/2024 i 16/2026 | 243 | 243 | 1 |
| Zakon o planiranju i izgradnji; Zakon o opstem upravnom postupku | ZPI: poslednje izmene 80/2026; ZUP: 18/2016, 95/2018 i 2/2023 | 243 | 243 | 1 |
| Zakon o stanovanju i odrzavanju zgrada | Sl. glasnik RS, br. 104/2016 i 9/2020 - dr. zakon | 157 | 13 | 1 |
| Plan generalne regulacije građevinskog područja sedišta jedinice lokalne samouprave – grad Beograd (celine I–XIX) plan | Sl. list grada Beograda, br. 20/2016 … 36/2026 | — | — | 8 |
| Pravilnik o posebnoj vrsti objekata i posebnoj vrsti radova za koje nije potrebno pribavljati akt nadleznog organa... plan | Sl. glasnik RS, br. 87/2023, 16/2024 i 16/2026 | — | — | 3 |
| Zakon o posebnim uslovima za evidentiranje i upis prava na nepokretnostima; Zakon o planiranju i izgradnji plan | Sl. glasnik RS, br. 91/2025 i 80/2026; ZPI poslednje izmene 80/2026 | — | — | 1 |
Planirani korpus / backlog — u registru, ali još bez izvučenih pravila
Ova živa lista je najjasniji aktuelni roadmap propisa koji čekaju strukturisano izdvajanje pravila. Automatski se mijenja kako se izvori obrađuju.
- Zakon o državnom premeru i katastru (159 članova)
- Zakon o ozakonjenju objekata (47 članova)
7. Glavni AI princip: model za jezik, rule engine za činjenice
Primjenljivost ima tri stanja: true, false ili unknown. Unknown nije “vjerovatno važi”; znači da agent nema podatak o projektu koji je potreban da bi se odlučilo da li pravilo važi.
8. REST API
Discovery endpoint je početna tačka svakog robusnog klijenta. Nemoj hard-kodirati nazive profilnih polja ili mjernih metrika u AI aplikaciji: pročitaj šemu koju izlaže trenutno deployovan korpus.
| Endpoint | Method | Namjena |
|---|---|---|
/api/v2/rules/ | GET | Discovery: verzija, statistika korpusa, policy, koncepti, profile schema i measurement schema. |
/api/v2/rules/query/ | POST JSON | Fokusirana pretraga potvrđenih pravila. |
/api/v2/rules/check/ | POST JSON | Odabrane provjere za konkretan projekat i njegove mjere. |
/api/v2/rules/audit/ | POST JSON | Širi audit prije predaje u okviru trenutno potvrđene pokrivenosti. |
Discovery / čitanje šeme
curl -sS https://vladimirperovic.com/api/v2/rules/
Fokusirana pretraga
curl -sS https://vladimirperovic.com/api/v2/rules/query/ \
-H 'Content-Type: application/json' \
-d '{
"question": "Kolika je svetla visina garaže?",
"concepts": ["garage_clear_height"],
"profile": {"grad": "Beograd"}
}'Provjera konkretne mjere
curl -sS https://vladimirperovic.com/api/v2/rules/check/ \
-H 'Content-Type: application/json' \
-d '{
"question": "Da li mi je garažna rampa dovoljno široka?",
"checks": ["garage_ramp_width"],
"profile": {"garaza_u_objektu": true},
"measurements": {
"cista_sirina_rampe": {"value": 270, "unit": "cm"}
}
}'Naziv metrike iz primjera odgovara trenutnom korpusu. Produkcioni klijent treba da pročita živu measurement šemu umjesto da pretpostavi da će taj naziv zauvijek ostati isti.
Širi audit
curl -sS https://vladimirperovic.com/api/v2/rules/audit/ \
-H 'Content-Type: application/json' \
-d '{
"profile": {
"grad": "Beograd",
"namena": "stanovanje"
},
"measurements": {}
}'Pravila zahtjeva
- POST endpointi traže Content-Type: application/json.
- Maksimalno JSON tijelo je 128 KiB.
- Nepoznata profilna polja i mjerne metrike se odbijaju umjesto da se tiho ignorišu.
- Brojčane mjere moraju imati i value i unit.
- Kompatibilne jedinice se deterministički normalizuju prije poređenja.
- Ako je na serveru podešen VPAA_RULES_API_KEY, dodaj Authorization: Bearer
.
9. MCP: povezivanje Claude-a ili drugog AI agenta
Remote MCP endpoint je:
https://vladimirperovic.com/mcp/
Server izlaže tri glavna alata:
search_rules— pronalazi potvrđena pravila relevantna za konkretno pitanje.check_project— provjerava odabrane uslove prema eksplicitnim podacima i mjerama projekta.audit_project— radi širu predkontrolu kroz trenutno potvrđenu pokrivenost.
Generičko podešavanje
- U MCP klijentu dodaj remote HTTP MCP server sa URL-om iznad.
- Ako je server u privatnom API-key režimu, podesi Bearer Authorization header ako klijent podržava custom headere.
- Provjeri da klijent vidi listu alata. Agent treba da pročita aktuelnu tool šemu, a ne da pretpostavlja stare nazive polja.
- Daj agentu behavioral instrukcije iz naredne sekcije.
Ilustrativni koncept podešavanja (tačni nazivi polja zavise od MCP klijenta): name: vpaa-rules transport: remote HTTP url: https://vladimirperovic.com/mcp/
Detalji kompatibilnosti protokola
Trenutna implementacija podržava moderni stateless MCP lifecycle za protokol 2026-07-28, uključujući server discovery, verziju protokola po zahtjevu i validaciju routinga. Podržani su i stariji initialize-era klijenti 2025-11-25, 2025-06-18 i 2025-03-26. Moderni zahtjevi ne treba da koriste stari lifecycle.
MCP endpoint validira Origin radi zaštite od browser/DNS-rebinding napada. Uobičajeno su dozvoljeni vladimirperovic.com hostovi; deployment može promijeniti allow-list kroz VPAA_MCP_ALLOWED_ORIGINS.
10. Preporučena uputstva AI agentu
Ovo je ključni dio. Samo povezivanje MCP servera nije dovoljno; agent mora znati kako da se ponaša kada su regulatorni podaci nepotpuni.
Koristi VPAA Rules kao izvor činjenica iz propisa za pitanja o projektovanju i izgradnji u Srbiji. 1. Nikada ne navodi pravni/regulatorni prag iz memorije modela. 2. Prije mapiranja polja pročitaj aktuelnu VPAA tool/schema definiciju. 3. Složeno pitanje klijenta razloži na više konkretnih provjera. 4. Izvuci samo činjenice koje je klijent eksplicitno naveo ili koje su pouzdano dostupne iz projektnih podataka. 5. Nikada ne izmišljaj podatak profila samo da bi neko pravilo postalo primjenljivo. 6. Svaku mjeru sačuvaj sa eksplicitnom jedinicom. Ako jedinica nije poznata, pitaj klijenta. 7. Koristi search_rules za relevantna potvrđena pravila, check_project za konkretne provjere, a audit_project za širu predkontrolu prije predaje. 8. applicability=unknown tretiraj kao podatak koji nedostaje, ne kao true. 9. Objašnjavaj samo potvrđene nalaze koje vrati VPAA Rules. Navedi propis, član i izvor koje je alat vratio. 10. Ako postoji missing_information, traži te podatke prije zaključka koji od njih zavisi. 11. Ako coverage kaže unverified_match_only ili no_verified_answer, jasno reci da potvrđena baza još nije dovoljna za taj zaključak. 12. no_detected_issue nikada ne prevodi kao “projekat je odobren/usaglašen”. To samo znači da u potvrđenim provjerama koje su mogle da se izračunaju nije pronađen problem. 13. Ako lokalni plan ili lokacijski uslovi mogu biti mjerodavniji od opšteg pravila, a lokacijski kontekst nedostaje, traži plan/zonu/lokacijske uslove. 14. Klijentu odgovori normalnim jezikom. Ne prikazuj sirovi JSON osim ako ga traži.
11. Kako tumačiti AI rezultat
| Polje/status | Značenje |
|---|---|
applicable_rules | Potvrđena pravila čija je primjenljivost utvrđena iz dostavljenih podataka o projektu. Mogu biti osnova regulatornog iskaza. |
possible_rules | Potvrđena pravila koja možda važe, ali nedostaje potreban podatak o projektu. Još nisu zaključak. |
missing_information | Podaci koje agent treba sljedeće da traži od klijenta. |
coverage=unverified_match_only | Korpus je našao relevantan materijal, ali nije dovoljno verifikovan za AI zaključak prema klijentu. |
coverage=no_verified_answer | Trenutno nema potvrđenog odgovora za traženi zaključak. |
needs_attention | Najmanje jedna deterministička provjera nije prošla. |
incomplete | Auditu nedostaju činjenice/mjere, postoje neriješena moguća pravila, neispravni unosi ili nerazrijeđen izlaz. |
manual_review_required | Nema determinističkog pada, ali jedno ili više primjenljivih pravila zahtijeva ljudsku/projektnu provjeru umjesto brojčanog poređenja. |
no_detected_issue | Nije pronađen problem u potvrđenim pravilima koja su stvarno mogla da se provjere. Ovo nije formalno odobrenje. |
rule_only | Pravilo je relevantno, ali se ne može svesti na deterministički mašinski pass/fail; potrebna je ljudska provjera. |
12. Česte greške i rješavanje problema
400 · invalid_json / invalid_json_object
Tijelo nije validan JSON ili glavni nivo nije JSON objekat.
401 · unauthorized
Uključen je privatni API-key režim, a Bearer token nedostaje ili nije ispravan.
413 · payload_too_large
JSON tijelo je veće od 128 KiB. Šalji samo činjenice relevantne za tražene provjere.
415 · unsupported_media_type
Za POST zahtjeve koristi Content-Type: application/json.
422 · invalid_request
Tipični uzroci su nepoznato profilno polje, nepoznata metrika, nedozvoljena vrijednost, nekompatibilna/nedostajuća jedinica ili druga greška šeme. Pročitaj discovery/tools/list i ponovi sa aktuelnom šemom.
429 · rate_limited
Sačekaj vrijednost iz Retry-After. Javna pretraga i AI API imaju rate limit radi zaštite servisa i baze.
Browser nalazi pravilo, a AI kaže da nema potvrđen odgovor
To može biti potpuno ispravno. Javna stranica prikazuje i izvedena pravila; AI zaključci koriste samo potvrđena.
Relevantno pravilo je u possible_rules
Ne pokušavaj da ga na silu tretiraš kao primjenljivo. Traži podatke o projektu koje engine navodi kao nedostajuće.
13. Bezbednost, integritet podataka i ograničenja
- Sajt otvara bazu pravila read-only. Produkcioni web zahtjevi ne upisuju regulatorne podatke u SQLite.
- Pravila označena za reviziju su isključena iz javnog AI engine-a. Agent ih ne može ponovo uključiti parametrom.
- AI zaključci su po dizajnu ograničeni na potvrđena pravila.
- Svako upotrebljivo pravilo ostaje vezano za propis/plan, glasilo, član i doslovan citat.
- Nepoznata primjenljivost ostaje unknown. Nedostajuće ili nekompatibilne jedinice se odbijaju.
- REST i MCP imaju rate limiting; REST/MCP se po potrebi mogu zaštititi kroz VPAA_RULES_API_KEY.
- MCP validira Origin i podržava eksplicitni allow-list browser origin-a.
14. Kompletan primjer: klijent → AI → VPAA Rules → odgovor
Klijent: “Imam kuću sa podzemnom garažom u Beogradu. Rampa je široka 270 cm. Je li to dovoljno i šta još da provjerim prije predaje?”
- Agent prepoznaje provjeru širine garažne rampe i širu namjeru predkontrole prije predaje.
- Upisuje samo navedene činjenice: Beograd, kuća, podzemna garaža, rampa 270 cm. Ne izmišlja zonu, broj vozila ili požarni koncept.
- Čita živu tool/schema definiciju i mapira 270 cm na aktuelnu kanonsku mjernu metriku.
- Poziva
check_projectza konkretnu provjeru. - Klijentu objašnjava samo potvrđene primjenljive nalaze i navodi izvor koji je alat vratio.
- Ako engine vrati podatke koji nedostaju, agent ih traži od klijenta.
- Ako klijent želi i “sve prije predaje”, agent zatim može da pozove
audit_project, ali rezultat jasno ograničava na trenutno potvrđenu pokrivenost.