1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//! The **fixture world** (DESIGN §16.2): the hermetic composed env every test
//! that touches a §9 destination, a §16.3 space or a brazen fold reads and
//! writes through, plus the workspace whose wall it stands in.
//!
//! Its own file at §12's cap, on a real seam: everything in [`super`] fakes an
//! *effect* (a clock, a filesystem, the spawn lock), while this composes a
//! *world* — a set of paths derived by the same production folds the executors
//! use, so a fixture can never write where nothing reads (bl-fcd5).
use ;
/// A hermetic composed world (§16.2) rooted under `root`, **with a wall
/// standing**: every fold a §9 destination resolves through — brazen's three
/// wall locations, litany's config root, yog's state (and so the staging root),
/// `$HOME` — lands inside it, so a test that drives a config gesture writes
/// only into its own tempdir. The wall is set because brazen is unreachable
/// without one (§16.2 as amended): a fixture with no wall is a fixture whose
/// `bz` refuses, which is [`no_wall`]'s job to say deliberately.
pub
/// The workspace every §9 fixture names in its gesture. Its **leaf** is what
/// the wall fold keys on (§3.1), so this path and [`wall_paths`] resolve the
/// same three brazen files by construction.
pub
/// The brazen locations a [`world_under`] fixture writes and reads (§16.2 as
/// amended) — the [`fixture_workspace`]'s own wall, derived exactly as the
/// executor derives it.
pub
/// A hermetic world with **no** wall — a seat inside no workspace, where every
/// brazen fold answers `None` and `bz` refuses (§16.2 as amended).
pub
/// The world every fixture that never touches a §9 destination hands over: a
/// hermetic one under a path that does not exist, so an unexpected config
/// write fails loudly instead of reaching the operator's real home.
pub