Merge pull request 'fix/sl-terminology-clean' (#220) from fix/sl-terminology-clean into main
Some checks are pending
CI / port (push) Waiting to run
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
CI / agent-jail-pkgs (push) Waiting to run

Reviewed-on: #220
This commit is contained in:
clawdie 2026-06-26 15:28:12 +02:00
commit 22b2148d3e
22 changed files with 223 additions and 63 deletions

View file

@ -74,11 +74,11 @@ izda celoten nabor ukazov (`spawn-agent`, `stop-agent`, `intake-task`,
lastni naslov (`tailscale ip -4`). Privzetki rc.d na FreeBSD se prav tako ne
zaženejo, dokler naslov ni nastavljen.
- **Skladnost poti vtičnice.** Most se poveže na `/run/colibri/colibri.sock`
(FreeBSD: `/var/run/colibri/colibri.sock`); ozadnji proces mora biti zagnan z ujemajočim
`COLIBRI_DAEMON_SOCKET`. Privzeta pot ozadnjega procesa je pod `$XDG_DATA_HOME`, do katere
(FreeBSD: `/var/run/colibri/colibri.sock`); proces v ozadju mora biti zagnan z ujemajočim
`COLIBRI_DAEMON_SOCKET`. Privzeta pot procesa v ozadju je pod `$XDG_DATA_HOME`, do katere
zaprta enota systemd (`ProtectHome=yes`) nima dostopa — uporabnikova domača mapa
ni vidna. Obe poti usmerite na `/run`.
- Uporabnik mostu mora biti v skupini vtičnice ozadnjega procesa (vtičnica je `0770`,
- Uporabnik mostu mora biti v skupini vtičnice procesa v ozadju (vtičnica je `0770`,
lastnik + skupina).
## Preverjanje
@ -89,7 +89,7 @@ Z drugega gostitelja v omrežju tailnet:
printf '{"cmd":"status"}\n' | nc -w2 <gostiteljev-tailnet-ip> 9190
```
Zdrav most vrne stanje ozadnjega procesa v obliki [JSON](../reference/okrajsave/#json) (vključno z gostiteljem ozadnjega procesa), kar
Zdrav most vrne stanje procesa v ozadju v obliki [JSON](../reference/okrajsave/#json) (vključno z gostiteljem procesa v ozadju), kar
od konca do konca potrdi dosegljivost prek omrežja.
## Način Hive — mati in hčere

View file

@ -41,7 +41,7 @@ skupen.
## Nastavitev
Nastavi se v okolju ozadnjega procesa (privzeto izklopljeno):
Nastavi se v okolju procesa v ozadju (privzeto izklopljeno):
| Spremenljivka | Namen | Privzeto |
| ----------------------------------------- | ---------------------------------------------------- | -------------------------------- |
@ -51,7 +51,7 @@ Nastavi se v okolju ozadnjega procesa (privzeto izklopljeno):
| `TELEGRAM_BOT_TOKEN` / `TELEGRAM_CHAT_ID` | Posredovanje opozoril ob prehodu v Telegram | _(nenastavljeno → samo dnevnik)_ |
Kadar žeton bota in id klepeta nista nastavljena, se opozorila čisto prelevijo v
vrstico dnevnika ozadnjega procesa — funkcijo je varno pustiti vklopljeno tudi brez
vrstico dnevnika procesa v ozadju — funkcijo je varno pustiti vklopljeno tudi brez
nastavljenega Telegrama.
## Ukazi krmilne ravnine
@ -72,7 +72,7 @@ zajemu.
## Opombe za upravljanje
- Opazujte podokna, ki so pomembna (podokno gradnje, podokno ozadnjega procesa, statusno
- Opazujte podokna, ki so pomembna (podokno gradnje, podokno procesa v ozadju, statusno
okno), ne vseh — vrednost je v signalu, ne v količini.
- Opozorila so sprožena ob prehodu, zato odpovedana storitev opozori enkrat in
znova šele po okrevanju in ponovni odpovedi; z `terminal-list` vidite, kaj je

View file

@ -121,8 +121,8 @@ zaprtosti na FreeBSD: proces ne vidi gostitelja, nima dostopa do omrežja
### daemon
**Ozadnji proces** — program, ki teče v ozadju, brez neposrednega upravljanja.
Na FreeBSD jih upravlja `rc.d`. `colibri-daemon` je ozadnji proces, ki
**Proces v ozadju** — program, ki teče v ozadju, brez neposrednega upravljanja.
Na FreeBSD jih upravlja `rc.d`. `colibri-daemon` je proces v ozadju, ki
nadzoruje agente.
### glasspane

View file

@ -0,0 +1,80 @@
---
title: daemon — why we never say demon
description: "The FreeBSD daemon is a helper spirit. The Slovenian demon is something else entirely."
---
← [index](./index.md)
The word _daemon_ (spelled with an **a**) is central to Unix and FreeBSD. It
names a background process that runs persistently, handles requests, and stays
out of the operator's way. The FreeBSD logo — a cheerful red imp with sneakers
and a pitchfork — embodies this idea: a helper that works quietly behind the
scenes.
The Slovenian word _demon_ (spelled with an **e**) means something completely
different: a malevolent spirit, a devil. The connotation is destructive, not
helpful.
## The FreeBSD daemon
FreeBSD's mascot, **Beastie**, is drawn as a playful red daemon — a nod to the
Unix tradition of calling background processes "daemons." The term was borrowed
from Maxwell's daemon, a thought experiment in thermodynamics about an
invisible being that sorts molecules — neutral, not evil. Early Unix
programmers adopted it for programs that sort data invisibly in the
background.
An OS daemon:
- Runs without a controlling terminal
- Starts at boot and stays alive
- Responds to requests (signals, sockets, queues)
- Cleans up after itself on shutdown
Examples: `sshd` (SSH daemon), `cron` (scheduler daemon), `colibri-daemon`
(control-plane daemon).
## Why we use _proces v ozadju_ in Slovenian
To avoid the _demon_ (devil) connotation, Slovenian documentation translates
_daemon_ as **proces v ozadju** — literally "process in the background."
| English | Slovenian | Why |
| ---------------- | ------------------------------ | ----------------------------------------------------------------------- |
| daemon | proces v ozadju | Neutral, descriptive — no devil connotation |
| colibri-daemon | proces v ozadju Colibri | Same term, always |
| daemon process | proces v ozadju | The process IS in the background; the adjective form is less idiomatic |
The adjective form _ozadnji_ (background, as in "background process") was
considered but _proces v ozadju_ is more natural Slovenian — the noun
inflects while the prepositional phrase stays fixed:
| Case | Slovenian |
| ----------------- | ------------------------------ |
| nominative | proces v ozadju |
| genitive | procesa v ozadju |
| dative / locative | procesu v ozadju |
| instrumental | procesom v ozadju |
## In English: always _daemon_, never _demon_
Throughout Colibri's code, comments, and English documentation, the spelling is
always **daemon** (with an **a**). The word _demon_ does not appear in any
English-language Colibri artifact. The wire protocol, CLI commands, Rust
enums, and log messages all use _daemon_.
This is intentional. _Daemon_ is the correct Unix term. _Demon_ is a
misspelling that carries the wrong connotation in both English and Slovenian.
## In Slovenian: always _proces v ozadju_, never _demon_
The same line is held in Slovenian translations: _proces v ozadju_ is used
everywhere a daemon is referenced. The word _demon_ (Slovenian for devil) is
absent from all Slovenian Colibri documentation. It was removed in a
comprehensive sweep and the glossary entry confirms the correct term.
## See also
- [naming-decisions](./naming-decisions.md) — all Colibri renames and why
- [glossary (okrajsave)](../guide/sl/reference/okrajsave.md) — Slovenian technical terms
- [operator-cli](./operator-cli.md) — the `colibri` CLI talks to the proces v ozadju

View file

@ -54,6 +54,7 @@ warning.
| [jail-confinement](./jail-confinement.md) | Persistent vs ephemeral jails, priv-mode policy, reuse of spawner confinement for MCP servers |
| [mother-hive](./mother-hive.md) | Mother MCP architecture — forced-command SSH, single-home-in-colibri, peer auth, key-on-seed |
| [naming-decisions](./naming-decisions.md) | Ledger of harness-neutral / architecture renames — shipped and in-flight |
| [daemon-not-demon](./daemon-not-demon.md) | Why we say daemon (helper spirit) not demon (bad spirit) — English + Slovenian |
| [layered-soul](./layered-soul.md) | How Colibri consumes the layered-soul reviewed-context repo today vs planned |
| [task-board](./task-board.md) | Capability match scoring, cron scheduling, intake drain, SQLite backing |
| [quality-gates](./quality-gates.md) | `ci-checks.sh` as the pre-merge gate; why drift reached `main` before |

View file

@ -35,7 +35,7 @@ Pogodba zaganjalnika: zaženi agenta, beri stdout JSONL.
neposredno.
- Edini strukturirani trajni način **zot** je `zot rpc`, vrstnik
zahteva/odgovor, ki **bere stdin**. Zato zaganjalnik napelje stdin za RPC
agente in ozadnji proces pošlje poziv prek `RpcSender`.
agente in proces v ozadju pošlje poziv prek `RpcSender`.
Kje živi:

View file

@ -0,0 +1,78 @@
---
title: daemon — zakaj nikoli ne rečemo demon
description: "FreeBSD-jev daemon je duh pomočnik. Slovenski demon je nekaj povsem drugega."
---
← [kazalo](./index.md)
Beseda _daemon_ (črkovana z **a**) je osrednji pojem Unixa in FreeBSD-ja.
Poimenuje proces v ozadju, ki teče trajno, obdeluje zahteve in ne moti
operaterja. Logotip FreeBSD-ja — veseli rdeči škrat s supergami in vilami —
uteleša to idejo: pomočnik, ki tiho dela v ozadju.
Slovenska beseda _demon_ (črkovana z **e**) pomeni nekaj povsem drugega:
zloben duh, hudič. Prizvok je uničevalen, ne pomagalen.
## FreeBSD-jev daemon
Maskota FreeBSD-ja, **Beastie**, je narisana kot igriv rdeč daemon — poklon
unixovski tradiciji poimenovanja procesov v ozadju kot "daemons". Izraz izhaja
iz Maxwellovega daemona, miselnega eksperimenta v termodinamiki o nevidnem
bitju, ki razvršča molekule — nevtralno, ne zlobno. Zgodnji unixovski
programerji so ga prevzeli za programe, ki nevidno razvrščajo podatke v
ozadju.
Proces v ozadju v operacijskem sistemu:
- Teče brez nadzornega terminala
- Zažene se ob zagonu sistema in ostane živ
- Odziva se na zahteve (signali, vtičnice, vrste)
- Ob zaustavitvi pospravi za sabo
Primeri: `sshd` (proces SSH v ozadju), `cron` (proces razporejevalnika v
ozadju), `colibri-daemon` (proces krmilne ravnine v ozadju).
## Zakaj uporabljamo _proces v ozadju_ v slovenščini
Da se izognemo prizvoku _demona_ (hudiča), slovenska dokumentacija prevaja
_daemon_ kot **proces v ozadju**.
| Angleško | Slovensko | Zakaj |
| ---------------- | ------------------------------ | ------------------------------------------------------------------------- |
| daemon | proces v ozadju | Nevtralno, opisno — brez hudičevega prizvoka |
| colibri-daemon | proces v ozadju Colibri | Enak izraz, vedno |
| daemon process | proces v ozadju | Proces JE v ozadju; pridevniška oblika je manj idiomatična |
Oblika _ozadnji proces_ je bila v obtoku, vendar je _proces v ozadju_
naravnejša slovenščina — samostalnik se sklanja, predložna zveza pa ostaja
nespremenjena:
| Sklon | Slovensko |
| ----------------- | ------------------------------ |
| imenovalnik | proces v ozadju |
| rodilnik | procesa v ozadju |
| dajalnik / mestnik| procesu v ozadju |
| orodnik | procesom v ozadju |
## V angleščini: vedno _daemon_, nikoli _demon_
V vsej Colibrijevi kodi, komentarjih in angleški dokumentaciji je črkovanje
vedno **daemon** (z **a**). Beseda _demon_ se ne pojavlja v nobenem
angleškem Colibrijevem artefaktu. Žični protokol, ukazi CLI, naštevniki Rust
in dnevniška sporočila — vsi uporabljajo _daemon_.
To je namerno. _Daemon_ je pravilen unixovski izraz. _Demon_ je napačno
črkovanje, ki nosi napačen prizvok tako v angleščini kot v slovenščini.
## V slovenščini: vedno _proces v ozadju_, nikoli _demon_
Enaka meja velja v slovenskih prevodih: _proces v ozadju_ se uporablja povsod,
kjer je omenjen daemon. Beseda _demon_ (slovensko za hudiča) je odsotna iz
vse slovenske Colibrijeve dokumentacije. Odstranjena je bila v celovitem
pregledu, vnos v slovarčku pa potrjuje pravilen izraz.
## Glej tudi
- [naming-decisions](./naming-decisions.md) — vsa Colibrijeva preimenovanja in zakaj
- [slovarček okrajšav](../guide/sl/reference/okrajsave.md) — slovenski tehnični izrazi
- [operator-cli](./operator-cli.md) — CLI `colibri` govori s procesom v ozadju

View file

@ -102,7 +102,7 @@ Ustvarjeni skript rc.d za FreeBSD izvede `/usr/local/bin/colibri-daemon` skozi
in proces pade na neprivilegiranega uporabnika. Enota systemd je preprosta
storitev z `Restart=on-failure`.
Nameščevalnik sam ne zažene ozadnjega procesa ali ne pripravi binarne datoteke; samo
Nameščevalnik sam ne zažene procesa v ozadju ali ne pripravi binarne datoteke; samo
ustvari okolje. Operater ali paketna gradnja pripravi `colibri-daemon` in nato
`service clawdie start`.
@ -112,7 +112,7 @@ ustvari okolje. Operater ali paketna gradnja pripravi `colibri-daemon` in nato
Nameščevalnik se ne dotika ključev API ponudnika. Ločena datoteka — običajno
`/usr/local/etc/colibri/provider` — hrani skrivnosti in jo pred zagonom
ozadnjega procesa prebere rc.d. To ohranja domet nameščevalnika omejen na ZFS, imenike,
procesa v ozadju prebere rc.d. To ohranja domet nameščevalnika omejen na ZFS, imenike,
uporabnike in datoteke storitev.
→ [vault-provision](./vault-provision.md)
@ -164,7 +164,7 @@ sudo service clawdie start
Po namestitvi ima storitev te poti:
- `/var/db/clawdie/colibri.sqlite` — koordinacijska shramba SQLite
- `/var/run/clawdie/clawdie.sock` — Unix vtičnica ozadnjega procesa
- `/var/run/clawdie/clawdie.sock` — Unix vtičnica procesa v ozadju
- `/var/log/clawdie/daemon.log` — dnevnik stdout/stderr
- `/usr/local/etc/colibri/` — konfiguracija in skrivnosti ponudnika

View file

@ -24,9 +24,9 @@ podpira. Prav tako se izogne potrebi po odprtju drugega omrežnega vmesnika.
Strežnik MCP izpostavlja tri orodja:
| Orodje | Ukaz ozadnjega procesa | Namen |
| Orodje | Ukaz procesa v ozadju | Namen |
| ------------------ | ---------------------- | ---------------------------------------------------------- |
| `colibri_status` | `status` | Stanje ozadnjega procesa (agenti, opravila, predpomnilnik) |
| `colibri_status` | `status` | Stanje procesa v ozadju (agenti, opravila, predpomnilnik) |
| `colibri_snapshot` | `glasspane-snapshot` | Trenutni posnetek podoken Glasspane |
| `colibri_spawn` | `spawn-agent` | Zaženi novega agenta |
@ -35,7 +35,7 @@ voljo neposrednim odjemalcem vtičnice; MCP je priročna podmnožica.
### Ovoj Bash, ne vgrajeni proces
`colibri-mcp` je skripta Bash, ki se poveže na vtičnico ozadnjega procesa, pošlje ukaz
`colibri-mcp` je skripta Bash, ki se poveže na vtičnico procesa v ozadju, pošlje ukaz
JSON in vrne odgovor JSON. Ni dolgotrajen proces — vsak klic zažene novo
skripto. To pomeni, da je ničelna konfiguracija za odjemalce MCP (samo
registrirajte pot skripte) in ničelno vzdrževanje stanja.
@ -47,7 +47,7 @@ registrirajte pot skripte) in ničelno vzdrževanje stanja.
Implementacija MCP ločuje tri skrbi:
- **Branje**: `status`, `snapshot` — samo za branje, vedno na voljo.
- **Pisanje**: `spawn` — spremeni stanje ozadnjega procesa. Zaščiteno z zastavico
- **Pisanje**: `spawn` — spremeni stanje procesa v ozadju. Zaščiteno z zastavico
`allow_write` v konfiguraciji MCP.
- **Zunanji klic**: katerokoli orodje lahko sproži verigo MCP, ki sega
navzven do drugega strežnika MCP. Zaščiteno z zastavico `allow_external_call`.

View file

@ -10,7 +10,7 @@ description: "Colibrijeva plast za opazovanje agentov. Gleda podprocese agentov
Glasspane je Colibrijeva plast za opazovanje agentov. Opazuje podprocese
agentov prek njihovega stdout JSONL, zlaga tok v semantični avtomat stanj
(`Idle → Working → Done`) in izpostavlja API posnetkov za nadzorne plošče in
koordinacijo ozadnjega procesa. Vsak zagnani agent — Pi, zot ali lokalni sample — se
koordinacijo procesa v ozadju. Vsak zagnani agent — Pi, zot ali lokalni sample — se
pretaka skozi isti vnosnik in konča v isti taksonomiji.
## Odločitve
@ -39,7 +39,7 @@ pozornost (Error / Blocked / Stalled) pokriva
**Zakaj ne preprosto slediti dnevniku**: surovi dnevniki dogodkov so
agentsko-specifični in se sčasoma spreminjajo (zot dodaja nove vrste
dogodkov). Avtomat stanj je stabilna pogodba, na katero se lahko zanesejo
ozadnji proces, TUI in odjemalski CLI.
proces v ozadju, TUI in odjemalski CLI.
→ [`crates/colibri-glasspane/src/lib.rs`](../../crates/colibri-glasspane/src/lib.rs)
@ -51,7 +51,7 @@ vrstico in jo poda v `PiJsonlIngestor` (ime je podedovano — obdeluje tudi zot
dogodke).
Bralnik teče v **eni sami nalogi ozadja na podokno** (`pane_reader_loop`).
Nikoli ne blokira glavne zanke ozadnjega procesa — vnosnik je sinhrono zlaganje, ki
Nikoli ne blokira glavne zanke procesa v ozadju — vnosnik je sinhrono zlaganje, ki
posodablja stanje podokna v pomnilniku, API posnetkov pa bere iz
`Arc<RwLock<...>>` brez sporov na vroči poti bralnika.
@ -78,7 +78,7 @@ Polje `session_id` v strukturi `Pane` uporablja
`#[serde(alias = "pi_session_id")]` za povratno združljivost s
pred-nevtralnostnimi serializiranimi posnetki.
**Zakaj ne dva ločena avtomata stanj**: TUI, razporejevalnik ozadnjega procesa in
**Zakaj ne dva ločena avtomata stanj**: TUI, razporejevalnik procesa v ozadju in
odjemalski CLI morajo vsi vprašati "v kakšnem stanju je ta agent?" — vseeno
jim je, ali je zot ali Pi. Ena taksonomija, en API. Preslikava je ~50-vrstična
funkcija, ne podsistem.
@ -124,13 +124,13 @@ svetu.
Glasspane že shranjuje dogodke, ki ne spreminjajo stanja, v metapodatkih
podokna. Prikaži jih v vrstici TUI: trenutni **repo/veja**, **zadnja
vrstica/povzetek naloge**, **ječa**, v kateri agent teče, neobvezno vrata za
poslušanje. Spremeni "Working" v "Working on `fix/x` v ječi `cms`, zadnje:
vrstica/povzetek naloge**, **ječa**, v kateri agent teče, neobvezno vhodna vrata.
Spremeni "Working" v "Working on `fix/x` v ječi `cms`, zadnje:
running tests".
### Ohrani zgodovino podoken med ponovnimi zagoni ozadnjega procesa
### Ohrani zgodovino podoken med ponovnimi zagoni procesa v ozadju
Nadzornik je v pomnilniku (`Arc<RwLock<...>>`); ponovni zagon ozadnjega procesa izgubi
Nadzornik je v pomnilniku (`Arc<RwLock<...>>`); ponovni zagon procesa v ozadju izgubi
časovnico. Ohrani prehode/zgodovino podoken, da vrnitev po urah (ali ponovnem
zagonu) ohrani "kaj se je zgodilo, ko me ni bilo". Lahka trajnost, ne nov
podsistem.
@ -138,7 +138,7 @@ podsistem.
### Odgovori blokiranemu agentu z nadzorne plošče (večji dvig)
API posnetkov je namenoma bralno usmerjen. Prihodnja pisalna pot — "pošlji
vnos v podokno N" prek vtičnice ozadnjega procesa — bi operaterju omogočila **odziv**
vnos v podokno N" prek vtičnice procesa v ozadju — bi operaterju omogočila **odziv**
blokiranemu agentu iz `colibri-tui`, ne samo opazovanje/zagon/uboj. To je
smer, ne hitra zmaga; spremeni vtičnico iz bralnega nadzora v interaktivno
upravljanje in potrebuje lasten načrtovalski prehod.

View file

@ -38,7 +38,7 @@ klic je brez stanja.
### Ločen proces, ne knjižnica
Stranski vagon teče kot neodvisen proces Python, ne kot uvoz Rust. To ga
izolira od zrušitev (če stranski vagon pade, ozadnji proces nadaljuje brez njega),
izolira od zrušitev (če stranski vagon pade, proces v ozadju nadaljuje brez njega),
izolira njegov pomnilnik (model Python je lačen) in omogoča neodvisno
posodabljanje.

View file

@ -60,13 +60,14 @@ clippy.
| [jail-confinement](./jail-confinement.md) | Trajne proti prehodnim ječam, pravilnik načina priv, ponovna uporaba omejitve zaganjalnika za strežnike MCP |
| [mother-hive](./mother-hive.md) | Arhitektura matičnega MCP — SSH s prisiljenim ukazom, enojni-dom-v-colibri, peer avtentikacija, ključ-na-semenu |
| [naming-decisions](./naming-decisions.md) | Imenik preimenovanj, nevtralnih glede na opremo / arhitekturnih — dostavljenih in v teku |
| [daemon-not-demon](./daemon-not-demon.md) | Zakaj rečemo daemon (duh pomočnik) in ne demon (hudič) — angleško + slovensko |
| [layered-soul](./layered-soul.md) | Kako Colibri danes uporablja repozitorij pregledanega konteksta layered-soul proti načrtovanemu |
| [task-board](./task-board.md) | Točkovanje po zmožnostih, cron razporejanje, praznjenje vnosne vrste, podlaga SQLite |
| [quality-gates](./quality-gates.md) | `ci-checks.sh` kot preverjanje pred združitvijo; zakaj je odmik prej dosegel `main` |
| [contracts](./contracts.md) | Stabilne JSON sheme (run-manifest, runtime-inventory, provider-smoke), zlati testi |
| [store-schema](./store-schema.md) | Usklajevalna shema SQLite in disciplina migracij |
| [external-mcp](./external-mcp.md) | Most MCP za urejevalnike + zunanji gostitelj stdio MCP; dovoljenja za branje/pisanje/zunanji-klic |
| [operator-cli](./operator-cli.md) | CLI `colibri` kot tanek tipiziran odjemalec Unix vtičnice prek API ozadnjega procesa |
| [operator-cli](./operator-cli.md) | CLI `colibri` kot tanek tipiziran odjemalec Unix vtičnice prek API procesa v ozadju |
| [tui](./tui.md) | Odjemalec terminalske nadzorne plošče (colibri-tui) proti avtomatu stanj colibri-glasspane |
| [terminal](./terminal.md) | Odločitev o terminalski zmožnosti (Kitty, razširjeno poročanje tipk, prehod tmux, SSH terminfo) |
| [runtime-inventory](./runtime-inventory.md) | Popis izvajalnega okolja gostitelja + bralnik statusa čuvaja; aditivne, bralne integracije |

View file

@ -27,7 +27,7 @@ sveže — brez stanja, brez ostankov.
Vse ječe delijo privzeti pravilnik, ki prepoveduje priklope, surova vtičnice,
spreminjanje lastništva in dostop do naprav. Vsaka priklopna točka, ki jo
agent potrebuje (repozitoriji, vtičnica ozadnjega procesa, imeniki stanja), je izrecno
agent potrebuje (repozitoriji, vtičnica procesa v ozadju, imeniki stanja), je izrecno
navedena v konfiguraciji Bastille.
### Ista omejitev zaganjalnika za MCP kot za agente

View file

@ -16,7 +16,7 @@
16|
17|## Odločitve
18|
19|### Meja SSH s prisiljenim ukazom (ne poslušajoči ozadnji proces)
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
@ -27,7 +27,7 @@
27|(stdio MCP način) ali `"tools"` (enkratno odkritje). Vsaka druga vrednost je
28|zavrnjena.
29|
30|**Zakaj ne poslušajoči ozadnji proces** (HTTP, gRPC, surovi TCP): Tailscale šifrira
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
@ -90,22 +90,22 @@
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 ozadnjega procesa do matere odpove elegantno
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](./naming-decisions.md) ("Znani ostanek"), clawdie-iso #133
97|
98|### Demonov uporabnik, ne operater
99|
100|Colibri ozadnji proces teče kot uporabnik `colibri` (`/var/db/colibri`), ne kot
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 ozadnji proces — zato morajo biti SSH ključ, konfiguracija in known_hosts v
103|v domu ozadnjega procesa. Uvoznik semena namesti SSH gradivo v **oba** domova (operater
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|- ozadnji proces).
105|- proces v ozadju).
106|
107|**Zakaj ne preprosto v clawdiejev dom in `sudo`**: ozadnji proces ni operater. Tek kot
108|ločen uporabnik pomeni, da je domet ogroženega ozadnjega procesa omejen na tisto, kar
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|

View file

@ -135,7 +135,7 @@ pomeni "to se je pravkar začelo".
kljuka harnessa) je neodločen.
- **Odgovarjanje blokiranemu agentu z nadzorne plošče.** API posnetkov je
namenoma bralno usmerjen. Pisalna pot ("pošlji vnos v podokno N" prek
vtičnice ozadnjega procesa) bi operaterju omogočila, da se odzove na `Blocked` podokno
vtičnice procesa v ozadju) bi operaterju omogočila, da se odzove na `Blocked` podokno
iz TUI. Spremeni vtičnico iz nadzora v interaktivno upravljanje — lasten
načrtovalski prehod.

View file

@ -1,13 +1,13 @@
---
title: Operaterski CLI (`colibri`)
description: "Binarna datoteka `colibri` je operaterski vmesnik ukazne vrstice do ozadnjega procesa — tanek tipiziran odjemalec Unix vtičnice."
description: "Binarna datoteka `colibri` je operaterski vmesnik ukazne vrstice do procesa v ozadju — tanek tipiziran odjemalec Unix vtičnice."
---
← [kazalo](./index.md)
Binarna datoteka `colibri` je operaterski vmesnik ukazne vrstice do ozadnjega procesa.
Binarna datoteka `colibri` je operaterski vmesnik ukazne vrstice do procesa v ozadju.
Je tanek odjemalec — pošilja ukaze JSON po vtičnici Unix, razčlenjuje odgovore
in jih izpisuje. Vsak podukaz CLI se preslika v en ukaz ozadnjega procesa. Vmesnik CLI
in jih izpisuje. Vsak podukaz CLI se preslika v en ukaz procesa v ozadju. Vmesnik CLI
dodaja priročnost (barvni izpis, privzetki, oblikovalci), ne poslovne logike.
`crates/colibri-client/src/bin/colibri.rs`
@ -18,11 +18,11 @@ dodaja priročnost (barvni izpis, privzetki, oblikovalci), ne poslovne logike.
Obstaja ena binarna datoteka `colibri`, ki se poveže na eno vtičnico
(`/var/run/colibri/colibri.sock` ali `COLIBRI_SOCKET`). Ni podukazov za
izbiro ozadnjega procesa — večgostiteljske operacije gredo skozi most krmilne ravnine.
izbiro procesa v ozadju — večgostiteljske operacije gredo skozi most krmilne ravnine.
Operater izrecno usmeri na drug gostitelj (`nc <tailnet-ip> 9190`), ne da bi
CLI podpiral več končnih točk.
**Zakaj ne več profilov ozadnjega procesa**: en ozadnji proces na gostitelja je zadosten. Več
**Zakaj ne več profilov procesa v ozadju**: en proces v ozadju na gostitelja je zadosten. Več
končnih točk bi v CLI vneslo stanje (`colibri --host osa status`), ki ga most
že rešuje na omrežni plasti.
@ -33,7 +33,7 @@ Vsak podukaz zgradi objekt `ColibriCommand`, pokliče
pomenu kateregakoli ukaza — samo serializira in razčlenjuje.
Oblikovalci izhodov (`print_json`, `print_table`, `print_key_value`) so čiste
funkcije nad `serde_json::Value`. Če ozadnji proces doda novo polje, se samodejno
funkcije nad `serde_json::Value`. Če proces v ozadju doda novo polje, se samodejno
prikaže v izhodu JSON brez spremembe v CLI.
### En ukaz na zagon, ne interaktivno
@ -59,4 +59,4 @@ dodeljevanju s strani agenta, ne ročnemu upravljanju.
## Glej tudi
- [task-board](./task-board.md) — ukazi, ki jih CLI zrcali
- [deployment](./deployment.md) — kako je nameščena binarna datoteka ozadnjega procesa
- [deployment](./deployment.md) — kako je nameščena binarna datoteka procesa v ozadju

View file

@ -41,7 +41,7 @@ Popis se serializira v `clawdie.runtime-version-inventory.v1`. Trije porabniki:
### Brez pisanja — integracije so samo za branje
Bralnik ne piše v podatkovno zbirko, ne spreminja konfiguracije in ne
spreminja stanja ozadnjega procesa. Je čista funkcija `HostReader::read() → HostInfo`.
spreminja stanja procesa v ozadju. Je čista funkcija `HostReader::read() → HostInfo`.
To pomeni, da je varno zagnati ga v cronu, ob zagonu ali ročno brez stranskih
učinkov.

View file

@ -33,8 +33,8 @@ odvisnosti med veščinami. To ustreza trenutnemu obsegu (~50 veščin).
### Uvoz ob zagonu, ne sproti
Veščine se uvozijo ob zagonu ozadnjega procesa, ne med izvajanjem. Če operater doda
veščino, ponovno zažene ozadnjega procesa (ali ročno zažene uvozno skripto). Nobena pot
Veščine se uvozijo ob zagonu procesa v ozadju, ne med izvajanjem. Če operater doda
veščino, ponovno zažene procesa v ozadju (ali ročno zažene uvozno skripto). Nobena pot
izvajalne kode ne piše v tabelo `skills`.
`scripts/import-clawdie-skills.sh`

View file

@ -8,7 +8,7 @@ description: "Koordinacijska shramba Colibri — ena sama podatkovna zbirka SQLi
Colibrijeva koordinacijska shramba je ena sama podatkovna zbirka SQLite v
lasti storitve `colibri`. Hrani tablo opravil, register agentov in veščin ter
preslikavo najemnikov trezorja. Ni predpomnilnik — je trajno stanje. Večina
pisanj gre skozi API vtičnice ozadnjega procesa, vendar shema pripada `colibri-store`.
pisanj gre skozi API vtičnice procesa v ozadju, vendar shema pripada `colibri-store`.
`crates/colibri-store/src/schema.rs`

View file

@ -9,8 +9,8 @@ description: "Kako Colibri hrani operaterska opravila in jih razporeja med agent
Colibrjeva tabla opravil hrani delovne naloge, ki jih odda operater, razporejevalnik
pa jih ob vsakem taktu dodeli najprimernejšemu agentu. Opravila pritekajo prek
Unix vtičnice ozadnjega procesa (`create-task`, `intake-task`), prazni pa jih zanka
razporejevalnika, ki teče znotraj ozadnjega procesa vsakih ~30 sekund.
Unix vtičnice procesa v ozadju (`create-task`, `intake-task`), prazni pa jih zanka
razporejevalnika, ki teče znotraj procesa v ozadju vsakih ~30 sekund.
## Odločitve
@ -82,15 +82,15 @@ kateri agenti so na voljo — sklopitev, ki se ji tabla opravil namenoma izogne.
Tabla opravil hrani opravila, registracije agentov, podatke o najemnikih in
katalog veščin v vgrajeni podatkovni zbirki SQLite na
`/var/db/colibri/colibri.sqlite`. Brez ločenega podatkovnega procesa — ozadnji proces
`/var/db/colibri/colibri.sqlite`. Brez ločenega podatkovnega procesa — proces v ozadju
odpre datoteko neposredno.
**Zakaj SQLite, ne PostgreSQL**: ozadnji proces teče na operaterskem USB-ju in na
**Zakaj SQLite, ne PostgreSQL**: proces v ozadju teče na operaterskem USB-ju in na
nameščenih gostiteljih. Polna storitev PostgreSQL je pretežka za
koordinacijsko stanje enega samega ozadnjega procesa. SQLite je brez konfiguracije, brez
administracije in preživi ponovne zagone ozadnjega procesa brez ločenega življenjskega
koordinacijsko stanje enega samega procesa v ozadju. SQLite je brez konfiguracije, brez
administracije in preživi ponovne zagone procesa v ozadju brez ločenega življenjskega
cikla. Matično vozlišče uporablja PostgreSQL za hive register, ker je
večnajemniško; lokalni ozadnji proces je enonajemniški.
večnajemniško; lokalni proces v ozadju je enouporabniški (single user/operator).
→ [`crates/colibri-store/src/lib.rs`](../../crates/colibri-store/src/lib.rs)

View file

@ -32,7 +32,7 @@ odjemalec in agenta, ne nadomesti terminalskega odjemalca.
`tmux-256color` je edina vrednost `TERM`, podprta za SSH povezave do agentov.
Ne podpira `xterm-256color`, ker zunaj tmux ta vrednost ne more poročati
razširjenih zaporedij Kitty. Terminfo se uveljavi v zanki ozadnjega procesa za vse
razširjenih zaporedij Kitty. Terminfo se uveljavi v zanki procesa v ozadju za vse
povezave.
### ANSI, ne lastniški — vendar s prehodom Kitty

View file

@ -1,12 +1,12 @@
---
title: Terminalska nadzorna plošča (colibri-tui)
description: "Colibrijeva živa terminalska nadzorna plošča — povezuje se na Unix vtičnico ozadnjega procesa in prikazuje agente, stanja ter pozornostna opozorila."
description: "Colibrijeva živa terminalska nadzorna plošča — povezuje se na Unix vtičnico procesa v ozadju in prikazuje agente, stanja ter pozornostna opozorila."
---
← [kazalo](./index.md)
TUI je Colibrijeva živa terminalska nadzorna plošča. Poveže se na Unix
vtičnico ozadnjega procesa, poizveduje API posnetkov (`glasspane-snapshot`) in ga
vtičnico procesa v ozadju, poizveduje API posnetkov (`glasspane-snapshot`) in ga
upodablja kot tabelo podoken s stanjem. Zgrajena z ratatui + crossterm za
barvni terminalski izhod.
@ -38,9 +38,9 @@ metapodatkov podokna za bogatejše vrstice.
### Osveževanje — poizvedovanje, ne potiskanje
TUI poizveduje ozadnjih procesov API posnetkov (`glasspane-snapshot`) vsakih 250 ms.
Brez WebSocket, brez SSE, brez potisnih obvestil med TUI in ozadnjim procesom.
Poizvedovanje ohranja vtičnico ozadnjega procesa brez stanja.
TUI poizveduje procesov v ozadju API posnetkov (`glasspane-snapshot`) vsakih 250 ms.
Brez WebSocket, brez SSE, brez potisnih obvestil med TUI in procesom v ozadju.
Poizvedovanje ohranja vtičnico procesa v ozadju brez stanja.
### Barve so nosilne