colibri/docs/wiki/sl/mother-hive.md
Sam & Claude aa377faf95
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
fix(sl): ozadnji proces→proces v ozadju + wiki: daemon-not-demon
Two fixes in one commit:

1. Terminology: ozadnji proces → proces v ozadju
   - More natural Slovenian — noun inflects, prepositional phrase stays fixed
   - 60 replacements across 19 sl/ files
   - Glossary header updated to match
   - Reverts the bad merge that restored "demon" in glasspane.md and
     task-board.md (including enouporabniški→enonajemniški fix)
   - Forms: proces v ozadju / procesa v ozadju / procesu v ozadju /
     procesom v ozadju / procesov v ozadju

2. New wiki page: daemon-not-demon (EN + SL)
   - Explains the FreeBSD daemon (Beastie mascot, helper spirit) vs
     Slovenian demon (devil, bad spirit)
   - Documents the decision to use proces v ozadju in Slovenian
   - Confirms daemon (with a) is the only English spelling in Colibri
   - Linked from both EN and SL wiki indexes
2026-06-26 15:21:24 +02:00

6.1 KiB

1|--- 2|title: Matični hive 3|description: "Kako matično vozlišče (OSA) usklajuje USB-operaterska vozlišča prek MCP prek SSH → PostgreSQL." 4|--- 5| 6|← kazalo 7| 8|## Kaj je to 9| 10|Matično vozlišče (OSA) usklajuje USB-operaterska vozlišča prek MCP prek SSH → 11|PostgreSQL. USB-vozlišča pošiljajo profile strojne opreme; mati izpelje 12|zmožnosti in vzdržuje hive register. Ta stran beleži odločitve, ki stojijo 13|za izvedbo — utemeljitve, ki jih koda ne more izraziti. Za navodila za 14|namestitev, arhitekturne diagrame in kontrolni seznam prvega zagona glejte 15|packaging/mother/MOTHER-SETUP.md. 16| 17|## Odločitve 18| 19|### Meja SSH s prisiljenim ukazom (ne poslušajoči proces v ozadju) 20| 21|USB-vozlišča dosežejo mater tako, da zaženejo ssh colibri@mother (brez 22|oddaljenega ukaza). Na materini strani authorized_keys vsili 23|command="/usr/local/bin/colibri-mcp-ssh",restrict,... — povezava ne more 24|zagnati interaktivne lupine ali kateregakoli ukaza razen ovoja. 25| 26|Ovoj (colibri-mcp-ssh) dodatno dovoli SSH_ORIGINAL_COMMAND samo kot "" 27|(stdio MCP način) ali "tools" (enkratno odkritje). Vsaka druga vrednost je 28|zavrnjena. 29| 30|Zakaj ne poslušajoči proces v ozadju (HTTP, gRPC, surovi TCP): Tailscale šifrira 31|prenos, zato plast SSH doda avtentikacijo in omejitev brez dodatne 32|infrastrukture (brez TLS certifikatov, brez avtentikacijskih žetonov, brez 33|odprtih vrat). Meja s prisiljenim ukazom je druga ključavnica poleg SSH 34|ključa — tudi ogroženi USB, ki drži ključ, lahko samo pokliče ovoj, ovoj pa 35|samo delegira colibri-mcp. Obramba v globino, nameščena kot ena funkcija 36|OpenSSH. 37| 38|→ colibri-mcp-ssh, 39|MOTHER-SETUP.md §Varnost 40| 41|### En sam dom za matično infrastrukturo (colibri, ne clawdie-iso) 42| 43|Matični MCP skripti (node-register-mcp, geodesic-dome-mcp itd.) so bili 44|prvotno kopirani v oba repozitorija. Kopija v clawdie-iso je odnesla — njen 45|node-register-mcp je uporabljal interpolacijo nizov E'${...}' (dovzetno 46|za SQL-injekcijo), medtem ko je kopija v colibri uporabljala parametrizirani 47|psql -v :'variable'. Kopija v iso je bila odstranjena v clawdie-iso PR #129. 48| 49|Nauk: skripta v dveh repozitorijih bo odnesla. Wiki lint je 50|enorepozitorijski in ne vidi podvojenih skript med repozitoriji. Zmanjšanje 51|tveganja je disciplina: matična infrastruktura živi na enem mestu. 52| 53|→ naming-decisions §Strukturne 54|(vrstica "En sam dom") 55| 56|### hive_nodes — ne usb_nodes 57| 58|Prvotno ime tabele je predpostavljalo, da se bodo registrirala samo 59|USB-zagnana vozlišča. Toda vozlišče je vsak gostitelj, ki se pridruži hive — 60|USB, NVMe, ječa. Preimenovano v hive_nodes s stolpcem node_type (colibri 61|#161). Sprožilec derive_capabilities() je agnostičen glede tabele in ob 62|INSERT samodejno izračuna has_gpu, gpu_vendor, can_run_local_llm, 63|has_wifi, max_model. 64| 65|→ mother_schema.sql, 66|naming-decisions (vrstica usb_nodes → hive_nodes) 67| 68|### PostgreSQL peer avtentikacija (brez gesel) 69| 70|Uporabnik OS colibri se poveže na mother_hive prek peer avtentikacije — 71|jedro potrdi Unix uporabnika, geslo ni potrebno. node-register-mcp teče kot 72|ta uporabnik in podeduje zaupanje. Brez datotek pgpass, brez spremenljivk 73|okolja, brez vrtenja poverilnic. En gibljivi del: pravilo peer v 74|pg_hba.conf mora biti pred morebitno vrstico local all all (prvo 75|ujemanje). 76| 77|Zakaj ne geslo ali certifikat: gesla se vrtijo in uhajajo; certifikati 78|potrebujejo CA. Peer avtentikacija je vgrajena v PostgreSQL na vsakem Unixu 79|in deluje za povezavo localhost z nič konfiguracije razen ene vrstice v 80|pg_hba.conf. 81| 82|→ MOTHER-SETUP.md §Namestitev, 6. korak 83| 84|### Ključ na semenski particiji, ne v sliki 85| 86|Zasebni ključ mother-mcp je nameščen na particijo CLAWDIESEED, ne zapečen v 87|ISO. Gradbeni skript ima varovalko za izdajo, ki zavrne vgradnjo ključa v 88|sliko za izdajo. Uvoznik semena (clawdie-live-seed) ga namesti ob zagonu. 89| 90|Zakaj: ISO za izdajo je prenosljiv artefakt. Vgradnja zasebnega ključa 91|vanj bi vsakemu prenašalcu dala dostop do materinega MCP. Semenska particija 92|je ločen fizični medij, ki ga nadzoruje operater. Tudi brez semena se ISO 93|zažene in deluje — zunanja MCP povezava procesa v ozadju do matere odpove elegantno 94|(SSH: "config file not found"), vozlišče pa deluje samostojno. 95| 96|→ naming-decisions ("Znani ostanek"), clawdie-iso #133 97| 98|### Demonov uporabnik, ne operater 99| 100|Colibri proces v ozadju teče kot uporabnik colibri (/var/db/colibri), ne kot 101|operater (clawdie, /home/clawdie). Zunanjo MCP SSH povezavo do matere 102|zažene proces v ozadju — zato morajo biti SSH ključ, konfiguracija in known_hosts v 103|v domu procesa v ozadju. Uvoznik semena namesti SSH gradivo v oba domova (operater 104| 105|- proces v ozadju). 106| 107|Zakaj ne preprosto v clawdiejev dom in sudo: proces v ozadju ni operater. Tek kot 108|ločen uporabnik pomeni, da je domet ogroženega procesa v ozadju omejen na tisto, kar 109|uporabnik colibri lahko počne — MCP klici do matere, ne operaterske 110|datoteke ali sudo. 111| 112|→ clawdie-live-seed (clawdie-iso), 113|MOTHER-SETUP.md §Upravljanje ključev 114| 115|## Glej tudi 116| 117|- agent-harness — razcep zot/Colibri; samodejni zagon 118|- naming-decisionsusb_nodes → hive_nodes, preimenovanje zastavice autospawn 119|- quality-gates — preverjanje, ki bi moralo ujeti odmik ob času PR 120|