Specifikace microon
Abstrakt
microon je otevřená specifikace záznamu znalostí o fyzických systémech — budovách, továrnách, energetice, infrastruktuře — a o každé doméně, kde fakty dávají smysl jen v rámci časového okna, řetězce důvěry a definovaného druhu.
Jednotkou znalosti je quad: subjekt, predikát, objekt a kontext. Kontext není metadata přilepená k faktu; je součástí faktu.
microon je navržen tak, aby ho četli a zapisovali AI agenti stejně jako lidé: zda je fakt aktuální, kdo ho tvrdí a kdo ho smí měnit, jsou dotazy nad stejným úložištěm — a sama specifikace vychází ve strojově čitelné podobě.
Stav dokumentu
Toto je verze 0.1, živý draft; správcem je PDAT. Pět principů (§ Pět principů) je normativních a stabilních; jejich změna se neočekává. Všechny ostatní sekce jsou nenormativní a budou se vyvíjet s implementacemi a doménami.
Kanonická URL: https://microon.org/spec/ (anglické znění je rozhodné). Strojově čitelné kopie: /cs/spec/index.md (tento dokument jako čistý Markdown), /llms.txt (index webu pro jazykové modely).
Konformance
Systém je microon systém právě tehdy, když splňuje principy P1–P5. Neexistuje konformance suite, registrace ani komise. Klíčová slova MUSÍ a NESMÍ se vykládají ve smyslu RFC 2119. Všechno mimo pět principů je implementation-defined; sekce Konvence dokumentuje ověřené volby, aniž by je vyžadovala.
Quad
(subjekt, predikát, objekt, kontext)
| Prvek | Co to je | Příklad |
|---|---|---|
| subjekt | popisovaná věc | sensor-fcu01-st01 |
| predikát | vlastnost nebo vztah | currentValue |
| objekt | hodnota, nebo jiná věc | 22.5 |
| kontext | podmínky pravdivosti faktu — vrstva, časové okno, původ | viz níže |
Kontext je strukturovaný. Nese rozměry, za kterých trojice platí:
sensor-fcu01-st01 currentValue 22.5
kontext:
vrstva: state (jaký druh faktu — P4)
platí od: 2026-04-05T14:30:00Z (kdy začal platit — P2)
platí do: — (stále pravda)
původ: pda-fieldbus (kdo ho tvrdí — P3)
Implementace mohou přidat další prvky kontextu na stejné úrovni — jistotu („měřeno“ vs. „odvozeno“), nebo přístupový prvek jako viditelnost či omezení. Přesné kódování — sloupce, strukturovaný záznam, řetězec — je implementační volba. To, že každý fakt svůj kontext nese, volba není.
Kontext není téma. Čeho se fakt týká — budovy, stroje, organizace — do kontextu nepatří. Vyjadřuje se obyčejnými predikáty (locatedIn, partOf), kde zůstává dotazovatelné jako každá jiná znalost:
sensor-fcu01-st01 locatedIn bld-jn1420 (fakt jako každý jiný)
Pět principů
P1 — Fakt bez kontextu neexistuje
Každý fakt se zaznamenává spolu s kontextem, který ho činí pravdivým: jaký druh faktu to je (vrstva), kdy platí (časové okno) a kdo ho tvrdí (původ). Holá trojice je neúplný fakt. Neexistuje zkratka „globální pravdy“ — i fakt, který má platit vždy a na čí slovo kohokoli, to uvádí explicitně.
Následující principy jsou rozměry kontextu: P2 je jeho čas, P3 jeho původ, P4 jeho vrstva.
P2 — Pravda má trvání
Každý fakt má časové okno: platí od okamžiku do okamžiku (nebo je stále otevřený). Fakty se nikdy nepřepisují na místě a nikdy nemažou:
- Assert — zaznamenat nový fakt s otevřeným koncem.
- Retract — uzavřít časové okno faktu. Fakt zůstává: „platilo od X do Y.“
- Replace — atomicky uzavřít starý fakt a zaznamenat nový, takže se okna dotýkají hrana na hranu.
microon úložiště tak odpovídá na „co platí teď?“ i „co platilo v čase T?“ ze stejných dat, bez dalšího aparátu.
P3 — Každý fakt má původ
Každý fakt zaznamenává, kdo nebo co ho tvrdí — zařízení, člověk, služba, AI agent. Původ je povinný: implementace musí odmítnout fakt, který přijde bez něj, a nesmí dovolit volajícím vydávat se za původ, který neumí prokázat. Míra jistoty („měřeno“ vs. „odvozeno“ vs. „deklarováno“) je volitelné zpřesnění na téže ose.
P4 — Znalost má vrstvy
Každý fakt patří právě do jedné z pěti vrstev. Vrstvy jsou součástí samotné metodiky — stejných pět v každé doméně:
| Vrstva | Obsahuje | Mění se | Příklad |
|---|---|---|---|
schema | definice — jaké druhy věcí a vlastností existují | zřídka | fcu · type · device-type |
structure | topologie — co je kde, co je s čím spojeno | měsíčně | fcu-01 · locatedIn · room-301 |
state | živé hodnoty — čtení, polohy, žádané hodnoty | v sekundách | sensor-7 · currentValue · 22.5 |
meta | kvalita a rodokmen — kalibrace, firmware, data instalace | občas | dev-fcu01 · calibrated · 2026-03-01 |
authz | oprávnění — kdo smí které fakty číst a zapisovat | při změně politiky | role-operator · mayWrite · state |
Důsledky: (1) autorizace je znalost — oprávnění jsou obyčejné fakty ve vrstvě authz, s časovými okny a původem jako každý jiný fakt, takže historické otázky přístupu jsou dotazy; (2) vrstvy dávají každému konzumentovi stabilní očekávání — agent čtoucí structure čte topologii, v jakémkoli microon systému, v jakékoli doméně.
P5 — Jednoduchost je závazek
microon vylučuje: inferenční stroje, reifikaci, blank nodes, deskripční logiku a povinné serializační formáty. Akceptační test každého rozšíření: model musí zůstat vysvětlitelný na jednu stránku a implementovatelný za víkend. Jedna tabulka quadů v SQLite je plnohodnotné microon úložiště.
Operace
Minimální sada operací, kterou každý microon systém nabízí — v protokolu, jaký mu vyhovuje:
- assert(quad) — zaznamenat fakt.
- retract(quad) — uzavřít časové okno faktu.
- replace(starý, nový) — atomický retract + assert; kanonický „update“.
- query(vzor, at?) — najít fakty podle libovolné kombinace subjektu, predikátu, objektu, kontextu; volitelně k okamžiku v čase. Výchozí: fakty platné teď.
- subscribe(vzor) — dostávat oznámení, když jsou odpovídající fakty zaznamenány nebo uzavřeny.
Konvence
Všechno níže je nenormativní. Takhle stavíme microon systémy my. Vezměte si, co vaší doméně sedí; nahraďte, co nesedí. Systém, který ignoruje všechny zdejší konvence a drží pět principů, je plně microon.
Seskupování a izolace
Čeho se fakt týká, je znalost — žije tedy v predikátech: locatedIn, partOf, serves. Dva ověřené způsoby, jak kolem toho uspořádat úložiště:
- Jedno sdílené úložiště — fakty o mnoha budovách či organizacích vedle sebe, seskupované a filtrované přes jejich
structurepredikáty. - Úložiště per vlastník či lokalita — samostatná instance úložiště na budovu nebo organizaci. Izolace je fyzická — oddělená databáze, oddělený přístup — což je často přesně to, co vlastník chce. To, s kterým úložištěm mluvíte, říká, čí znalost čtete.
Příklad: doména budov
Doména je malý kurátorovaný slovník: typy entit plus predikáty po vrstvách, publikované jako verzovaný dokument. Identifikátory nesou typový prefix, aby se quady četly bez dohledávání (bld- budova, spc- prostor, dev- zařízení, usr- osoba, agt- AI agent) — konvence, ne pravidlo. Příklad níže ukazuje všech pět vrstev v akci; kontext je zkrácen na [vrstva · původ], časová okna vynechána:
-- schema: definice, zaznamenané jednou autorem domény
fcu type device-type [schema · org-pdat]
supplyTemp type property [schema · org-pdat]
supplyTemp unit "°C" [schema · org-pdat]
-- structure: topologie, mění se při přestavbě či přepojení
spc-room301 partOf bld-jn1420 [structure · usr-tom]
dev-fcu01 type fcu [structure · usr-tom]
dev-fcu01 installedIn spc-room301 [structure · usr-tom]
dev-fcu01 hasSensor sensor-fcu01-st01 [structure · usr-tom]
sensor-fcu01-st01 measures supplyTemp [structure · usr-tom]
-- state: aktuální hodnoty, mění se každý cyklus
sensor-fcu01-st01 currentValue 22.5 [state · pda-fieldbus]
spc-room301 setpoint 22.0 [state · usr-tom]
-- meta: kvalita zařízení a jeho faktů
dev-fcu01 calibrated 2026-03-01 [meta · svc-maintenance]
-- authz: oprávnění, sama o sobě fakty
agt-edgar mayRead state [authz · usr-tom]
agt-edgar mayWrite state/setpoint [authz · usr-tom]
Čteno odspodu, poslední dva řádky jsou pointa celého modelu: AI agent agt-edgar smí upravovat žádané hodnoty, protože to řekl usr-tom — fakt s původem a časovým oknem, odvolatelný uzavřením, dotazovatelný jako všechno ostatní.
Rozměr času. Každý fakt výše nese své časové okno; změna hodnoty je replace — starý fakt se uzavře v okamžiku, kdy se nový otevře, a historie se hromadí sama:
sensor-fcu01-st01 currentValue 22.1 [state · pda-fieldbus · 14:29:00 → 14:30:00] uzavřen
sensor-fcu01-st01 currentValue 22.5 [state · pda-fieldbus · 14:30:00 → —] aktuální
„Jaká byla teplota na výstupu ve 14:29:30?“ zodpovídá první řádek — stejná tabulka, žádný další aparát (P2).
Externí reference. Vysokofrekvenční streamy, dokumenty a záznamy v jiných databázích se do úložiště nekopírují — odkazují se predikáty s URI hodnotou, takže znalost kde data žijí je sama o sobě quad:
sensor-fcu01-st01 hasStream nats://bld-jn1420/stream/supplytemp [structure · org-pdat]
dev-fcu01 hasDocument s3://docs/fcu01-manual.pdf [meta · usr-tom]
bld-jn1420 hasSource oltp://energy-billing/meters [structure · org-pdat]
microon drží interpretovanou znalost (aktuální hodnotu, co co měří, kdo co smí); surové streamy s 1000 vzorky za sekundu zůstávají ve stream store, manuály v blob store, účetní záznamy v OLTP databázi — každé na jeden quad daleko.
Náčrt úložiště
Stačí jedna tabulka. Kontext je jediná flexibilní hodnota, zrcadlící samotný quad:
CREATE TABLE quads (
id TEXT PRIMARY KEY, -- řaditelné unikátní id (např. ULID)
subject TEXT NOT NULL,
predicate TEXT NOT NULL,
object TEXT NOT NULL,
context TEXT NOT NULL -- strukturovaná hodnota, např. JSON:
-- {"layer":"state",
-- "validfrom":"2026-04-05T14:30:00Z", "validto":null,
-- "origin":"pda-fieldbus",
-- ...libovolné další prvky: jistota, viditelnost, ...}
);
Principy určují, co kontext musí obsahovat (vrstvu, časové okno, původ — P2–P4), ne jak je uložen. Nové prvky kontextu se přidávají bez změny schématu. Implementace běžně povyšují prvky, podle kterých se dotazují — layer, validfrom/validto, origin — na indexované sloupce; to je optimalizace, stejně konformní. Append-only disciplínu (P2) lze vynutit triggery; aktuální fakty jsou ty s otevřeným validto.
Co microon není
- Není RDF. Žádné blank nodes, žádná reifikace, žádný OWL reasoning. Kde RDF potřebuje named graphs plus PROV-O plus vlastní slovníky, aby řeklo kdo co kde kdy naměřil — microon to říká jedním quadem.
- Není grafová databáze. Quady jsou ploché fakty s kontextem, ne property graph optimalizovaný na průchody.
- Není time-series databáze. microon ukládá interpretovanou znalost s historií, ne vysokofrekvenční surové streamy. Na ty ukažte referencí
hasStream. - Není rules engine. Quady jsou deklarativní fakty. Logika — regulační smyčky, rozvrhy, inference — žije v konzumentech, ne v ontologii.
Implementace
Existují dvě nezávislé implementace, postavené různými týmy na různých stacích — což je přesně smysl metodiky založené na principech:
- pda-lore (PDAT) — Go, pure-Go SQLite, NATS transport. Jedna instance úložiště na scope; bitemporální quady s povinným ověřeným původem; publikované doménové slovníky pro budovy, školy, účetnictví, sklady a organizace.
- WHW MicroOn Store — PostgreSQL, append-only tabulka quadů s grafovou autorizací vyhodnocovanou z faktů vrstvy
authz.
Ani jedna není „ten pravý“ microon. Obě drží pět principů.
Plánovaná práce
Stránky doménových slovníků, kuchařka srovnání (stejný scénář v RDF a microon) a strojově čitelné definice domén na stabilních URL. Zpětná vazba, dotazy i zprávy o nezávislých implementacích jsou vítány.