fix/sl-terminology-clean #220
22 changed files with 223 additions and 63 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
80
docs/wiki/daemon-not-demon.md
Normal file
80
docs/wiki/daemon-not-demon.md
Normal 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
|
||||
|
|
@ -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 |
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
||||
|
|
|
|||
78
docs/wiki/sl/daemon-not-demon.md
Normal file
78
docs/wiki/sl/daemon-not-demon.md
Normal 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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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 |
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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|
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue