yog/lib.rs
1//! **The yog server** — the standalone engine of the four-component split
2//! (REMOTE §12): holder of the world, the balls and the conversations, with no
3//! UI and no local execution.
4//!
5//! One world, one engine. The binary boots [`engine::Engine`], which derives
6//! every workspace from disk, answers the §8.5 control [`boundary`] over the
7//! REMOTE §9.5 [`wire`], and drives `litany`/`bl`/`bz` as children of the
8//! nested [`world`]. Every seat — the `lernie` window, an android client, a
9//! `yog gesture` from an agent's own bash — is a client of that boundary and
10//! of nothing else; **yog paints nothing** (bl-7942 severed the egui face into
11//! its own crate, REMOTE §8).
12//!
13//! **`docs/DESIGN.md` is the authority** for the state inventory, the attention
14//! model, and the module map; the module docs below stay terse and defer to it.
15//! The shape in brief: [`app`] holds the [`AppModel`] and its per-tick
16//! derivation over the pure view-model modules — [`git_tree`], the [`nav`]
17//! roster, [`attention`], [`projects`]/[`binding`], [`start`], [`ui_state`],
18//! and the inspector projections ([`transcript`], [`steps_view`],
19//! [`inboxview`], [`budgets`]) — and [`boundary`] is the one surface every act
20//! and every read crosses, serialized by each module's own `wire`.
21//! [`cli_outbound`] execs the binaries; [`actions`] holds the
22//! message/stop/scan/close/unclaim/create/update verb surface; [`delete`] the
23//! §3.6 unmaking; [`badge`] is what is left of the palette — the words a
24//! derived row says, never a colour.
25//!
26//! The crate root is deliberately declaration-only. A root carrying a
27//! coverable `impl` or `fn` accrues an llvm-cov phantom uncovered region on
28//! its header line each time the `pub mod` list above it grows and shifts
29//! byte offsets (this cost 99.90% coverage after the Y2/Y7/Y15 folds). With
30//! all coverable code in submodules, new `pub mod` lines have no root-level
31//! line to mis-attribute, so coverage stays at 100% as modules land.
32
33pub mod actions;
34pub mod app;
35pub mod attention;
36/// What a derived row **says** about a fact — the badge vocabulary that is
37/// all a server keeps of the §11 palette (bl-7942).
38pub mod badge;
39pub mod binding;
40pub mod board;
41pub mod boundary;
42pub mod budgets;
43/// The embedded brazen host (§16.7 W10) — internal, not library surface.
44pub(crate) mod bz_host;
45pub mod cli_outbound;
46pub mod config_edit;
47/// How full a conversation's context is (§5.1 #35) — the latest step's prompt
48/// against the window its own usage lines state. Fullness, not spend.
49pub mod context;
50/// The capability control (§8.6, VISION §4.11) — the adjudicator litany's
51/// tool-control seam consults before every granted tool invocation.
52pub mod control;
53pub mod delete;
54/// Where to cut a string that will not fit (QUALITY G1, L4) — one rule, cut
55/// where the information is not. Machine strings only; prose keeps its head.
56pub(crate) mod elide;
57/// The one assembly a bare `yog` boots (VISION §5 V5) — model, worker, bridge,
58/// gesture consumer, monitor sentry, fleet pilot and the wire listener.
59pub mod engine;
60/// The VISION §4.10 mutating fan — N isolated candidate attempts over one
61/// delivery obligation, materialized through balls' attempt capability.
62pub mod fan;
63pub mod files_view;
64/// Named deterministic world states a client harness can dial and render
65/// (bl-8741) — the fixture roster, its writer and the `yog fixture` verb.
66pub mod fixture;
67/// The VISION §4.3 armed loop — off until the operator arms it per workspace.
68pub mod fleet;
69pub mod fork;
70pub mod fs_watcher;
71pub mod git_env;
72pub mod git_tree;
73pub mod inboxview;
74pub mod login;
75pub mod model_pick;
76pub mod monitor;
77pub mod multiplex;
78pub mod names;
79pub mod naming;
80pub mod nav;
81pub mod opslog;
82pub mod projects;
83pub mod rail;
84/// The REMOTE §4 client registry (bl-8bbc): who participates in which
85/// workspace, and each client's own per-seat home.
86pub mod registry;
87/// The §3.9 attempt science projection (VISION §4.10 item 7): one derived row
88/// per delivery attempt, joining frozen inputs, refs, usage and outcome.
89pub mod science;
90/// I3's scratch temp (§2, §5.2): its one naming, and the startup sweep of
91/// leftovers — internal, not library surface.
92pub(crate) mod scratch;
93pub mod search;
94pub mod spend;
95pub mod start;
96pub mod state;
97pub mod steps_view;
98/// yog's litany tool injection (REMOTE §5, bl-c907) — the `clients` tool, the
99/// agent's durable loaded set, and the router the executor consults.
100pub mod tool_host;
101pub mod transcript;
102pub mod ui_state;
103pub mod watch;
104/// The client/server wire (REMOTE §9.5, bl-b6fa) — the engine's mTLS listener,
105/// a seat's transport, and the framing between them.
106pub mod wire;
107pub mod workdiff;
108pub mod world;
109pub mod xdg;
110
111pub use app::{AppModel, Args, Roots};
112
113#[cfg(test)]
114pub(crate) mod test_support;