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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//! **What a named state IS** — the declarative vocabulary a recipe is written
//! in, and nothing that touches disk ([`super::lay`] is the writer).
//!
//! A recipe is `&'static` data on purpose. The whole promise of a fixture world
//! is that two runs of one name lay the same bytes, and data that cannot be
//! computed cannot drift: every string a state contains is in the binary, and
//! the only reading from outside is the [`Recipe::origin`] the caller stamps
//! it with (see [`super::Laid::origin`] for why one exists at all).
//!
//! The vocabulary is deliberately small — a conversation, its marks, and the
//! shape of its newest step — because it is not a modelling language. It is the
//! set of on-disk facts the §7.3 wound, the orphaned tail, the §3.5 liveness
//! classifier and the §11 roster actually read, and a seventh arm should be
//! added only when a rendered fact has no spelling here.
/// The newest step's shape — the one fact that decides a resting
/// conversation's §3.5 state, its §7.3 wound, and whether it reads as
/// truncated. Every arm below is a real reading of
/// [`terminal::settled`](crate::git_tree) plus
/// [`wound::read`](crate::steps_view), never a flag yog stores.
/// One conversation to lay: the `agents/<id>` branch, its worktree files, its
/// `refs/litany/*` marks and its newest step.
/// One workspace to lay under the world's litany home, and the conversations
/// in it. The name is the §3.1 chosen name — the directory leaf, the wall key
/// and the registration a wire client is scoped by.
/// A whole named state: the workspaces, plus the settings-shaped files that
/// live beside them rather than inside any one workspace.