slipcase_open/lib.rs
1//! The slipcase-open engine: everything the tool does that is not a user
2//! interface.
3//
4// Author: David M. Anderson
5// Built with AI assistance (Claude, Anthropic)
6//
7//! Concept 8 keeps this free of any dependency on how the tool presents
8//! itself, so that the session model is one body of code on three platforms
9//! rather than three programs sharing a name, and so that every
10//! security-relevant decision — validation, policy, the launch path, the
11//! write-back — lives in one place and is testable without a desktop.
12//!
13//! `src/main.rs` is the command line over it, which concept 9 keeps as the
14//! floor beneath the notifications and the tray.
15
16// The level `Cargo.toml` explains: `forbid` everywhere Windows is not.
17#![cfg_attr(not(windows), forbid(unsafe_code))]
18
19/// What this tool says, in the language the desktop asks for.
20///
21/// Declared in the engine and not in `main`, because the engine is what
22/// narrates: `resident` composes every report and every question and hands
23/// them to a `Channel` that only carries them. That is concept 9's boundary
24/// holding for language as well — a second presenter would show these
25/// sentences without knowing they had been translated.
26///
27/// **Nothing is translated until `main` says so.** `activate` is called there
28/// and nowhere else, so the suite — which this repository runs five times over
29/// real directories — sees the English its assertions are written in, whatever
30/// the machine is set to.
31pub mod i18n {
32 pub use potext::fill;
33
34 potext::catalog!();
35}
36
37pub mod content;
38pub mod endpoint;
39pub mod extension;
40pub mod extract;
41pub mod flow;
42pub mod identity;
43pub mod ipc;
44pub mod outside;
45pub mod platform;
46pub mod policy;
47pub mod present;
48pub mod recover;
49pub mod resident;
50pub mod session;
51pub mod table;
52pub mod watch;
53pub mod writeback;