Matični hive
← kazalo
Kaj je to
Matično vozlišče (OSA) usklajuje USB-operaterska vozlišča prek MCP prek SSH →
PostgreSQL. USB-vozlišča pošiljajo profile strojne opreme; mati izpelje
zmožnosti in vzdržuje hive register. Ta stran beleži odločitve, ki stojijo
za izvedbo — utemeljitve, ki jih koda ne more izraziti. Za navodila za
namestitev, arhitekturne diagrame in kontrolni seznam prvega zagona glejte
packaging/mother/MOTHER-SETUP.md.
Odločitve
Meja SSH s prisiljenim ukazom (ne poslušajoči demon)
USB-vozlišča dosežejo mater tako, da zaženejo ssh colibri@mother (brez
oddaljenega ukaza). Na materini strani authorized_keys vsili
command="/usr/local/bin/colibri-mcp-ssh",restrict,... — povezava ne more
zagnati interaktivne lupine ali kateregakoli ukaza razen ovoja.
Ovoj (colibri-mcp-ssh) dodatno dovoli SSH_ORIGINAL_COMMAND samo kot ""
(stdio MCP način) ali "tools" (enkratno odkritje). Vsaka druga vrednost je
zavrnjena.
Zakaj ne poslušajoči demon (HTTP, gRPC, surovi TCP): Tailscale šifriraprenos, zato plast SSH doda avtentikacijo in omejitev brez dodatne
infrastrukture (brez TLS certifikatov, brez avtentikacijskih žetonov, brez
odprtih vrat). Meja s prisiljenim ukazom je druga ključavnica poleg SSH
ključa — tudi ogroženi USB, ki drži ključ, lahko samo pokliče ovoj, ovoj pa
samo delegira colibri-mcp. Obramba v globino, nameščena kot ena funkcija
OpenSSH.
MOTHER-SETUP.md §Varnost
En sam dom za matično infrastrukturo (colibri, ne clawdie-iso)
Matični MCP skripti (node-register-mcp, geodesic-dome-mcp itd.) so bili
prvotno kopirani v oba repozitorija. Kopija v clawdie-iso je odnesla — njen
node-register-mcp je uporabljal interpolacijo nizov E'${...}' (dovzetno
za SQL-injekcijo), medtem ko je kopija v colibri uporabljala parametrizirani
psql -v :'variable'. Kopija v iso je bila odstranjena v clawdie-iso PR #129.
Nauk: skripta v dveh repozitorijih bo odnesla. Wiki lint je
enorepozitorijski in ne vidi podvojenih skript med repozitoriji. Zmanjšanje
tveganja je disciplina: matična infrastruktura živi na enem mestu.
→ naming-decisions §Strukturne
(vrstica "En sam dom")
hive_nodes — ne usb_nodes
Prvotno ime tabele je predpostavljalo, da se bodo registrirala samo
USB-zagnana vozlišča. Toda vozlišče je vsak gostitelj, ki se pridruži hive —
USB, NVMe, ječa. Preimenovano v hive_nodes s stolpcem node_type (colibri
#161). Sprožilec derive_capabilities() je agnostičen glede tabele in ob
INSERT samodejno izračuna has_gpu, gpu_vendor, can_run_local_llm,
has_wifi, max_model.
naming-decisions (vrstica usb_nodes → hive_nodes)
PostgreSQL peer avtentikacija (brez gesel)
Uporabnik OS colibri se poveže na mother_hive prek peer avtentikacije —
jedro potrdi Unix uporabnika, geslo ni potrebno. node-register-mcp teče kot
ta uporabnik in podeduje zaupanje. Brez datotek pgpass, brez spremenljivk
okolja, brez vrtenja poverilnic. En gibljivi del: pravilo peer v
pg_hba.conf mora biti pred morebitno vrstico local all all (prvo
ujemanje).
Zakaj ne geslo ali certifikat: gesla se vrtijo in uhajajo; certifikatipotrebujejo CA. Peer avtentikacija je vgrajena v PostgreSQL na vsakem Unixu
in deluje za povezavo localhost z nič konfiguracije razen ene vrstice v
pg_hba.conf.
→ MOTHER-SETUP.md §Namestitev, 6. korak
Ključ na semenski particiji, ne v sliki
Zasebni ključ mother-mcp je nameščen na particijo CLAWDIESEED, ne zapečen v
ISO. Gradbeni skript ima varovalko za izdajo, ki zavrne vgradnjo ključa v
sliko za izdajo. Uvoznik semena (clawdie-live-seed) ga namesti ob zagonu.
vanj bi vsakemu prenašalcu dala dostop do materinega MCP. Semenska particija
je ločen fizični medij, ki ga nadzoruje operater. Tudi brez semena se ISO
zažene in deluje — zunanja MCP povezava demona do matere odpove elegantno
(SSH: "config file not found"), vozlišče pa deluje samostojno.
→ naming-decisions ("Znani ostanek"), clawdie-iso #133
Demonov uporabnik, ne operater
Colibri demon teče kot uporabnik colibri (/var/db/colibri), ne kot
operater (clawdie, /home/clawdie). Zunanjo MCP SSH povezavo do matere
zažene demon — zato morajo biti SSH ključ, konfiguracija in known_hosts v
demonovem domu. Uvoznik semena namesti SSH gradivo v oba domova (operater
- demon).
sudo: demon ni operater. Tek kot
ločen uporabnik pomeni, da je domet ogroženega demona omejen na tisto, kar
uporabnik colibri lahko počne — MCP klici do matere, ne operaterske
datoteke ali sudo.
→ clawdie-live-seed (clawdie-iso),
MOTHER-SETUP.md §Upravljanje ključev
Glej tudi
- agent-harness — razcep zot/Colibri; samodejni zagon
- naming-decisions —
usb_nodes → hive_nodes, preimenovanje zastavice autospawn - quality-gates — preverjanje, ki bi moralo ujeti odmik ob času PR