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
135
136
137
138
139
140
141
142
143
//! **The rendering**: what a reply looks like to a person (DESIGN §4.36).
//!
//! The boundary is JSON and stays JSON — that is REMOTE §3's whole shape, and
//! `--json` prints it byte for byte. What this module adds is the other half of
//! being a seat: **the part you look at**. A day of CLI use was a day of piping
//! into a JSON formatter, because the machine form was the only form (bl-6ae7);
//! the seat's own siblings set the standard the other way round, `bl list`
//! rendering and `bl list --json` being the machine form.
//!
//! # It is one rendering per reply KIND, never per verb
//!
//! That is the ruling (round-1 triage, ruling 4) and it is also the only shape
//! that stays one implementation. A verb is a serialization of a gesture
//! ([`crate::verbs`], DESIGN §4.10); its ANSWER is a kind of
//! [`crate::reply::Reply`], and several verbs answer with one kind — `attention`
//! and `seen` both answer a queue, `fleet`, `arm`, `disarm` and `disband` all
//! answer whether something stands. A render per verb would be a second table
//! keyed on the wrong fact and it would disagree with itself within a week.
//!
//! # It is a reading, and the frame is always one act away
//!
//! A rendering paints the facts a person scans a listing for, and elides the
//! rest: an entry's `raw` bytes, a preview's third paragraph, a step's whole
//! captured document. That is a deliberate loss and it is safe precisely
//! because it is not the only form — every one of these lines has a `--json`
//! beside it that is the frame exactly as it crossed. What must never happen is
//! the other direction: a rendering that states something the frame does not.
//!
//! # Where it hangs
//!
//! [`said`] is the one place this seat's product is written, so the rendering
//! reaches every surface that prints a reply stream at once — one gesture
//! ([`crate::seat::ask`]), a fan across channels ([`crate::seat::fanned`]) and
//! the composite start's two streams ([`crate::seat::start`]).
use Value;
use crateStream;
use crate;
pub use at_rest;
/// The receipts and the runs — what an ACT answers with.
/// The per-kind renderings, in the one match that dispatches them.
/// The conversation, as prose: its transcript and its own whole row.
/// The vocabulary every rendering is built from.
/// What a wall's policy is written in: roles, lineages, config, clients.
/// The three reads whose subject is an engine: its words, a search, the trail.
/// The conversation's own records, and the files a wall's policy is in.
/// One step, drilled into — its records, its tool calls and its logs.
/// The balls, the board, the fleet and what a wall's agents changed.
/// The roster, the conversation list, the queue, the transcript and the tail.
/// What a wall's agents changed, as a diff rather than a row of counters.
/// **Which form a reply stream is printed in.**
///
/// Two, and there will never be a third: one for a person and one for a
/// machine. It is decided by argv alone — nothing about the channel, the
/// gesture or the answer can change it — which is why it is a value
/// [`crate::cli::run`] hands over rather than a field on anything.
/// **The reply stream as this seat's product** — the one place that shape is
/// written, whichever form it takes.
/// **One frame of a HELD read**, rendered against the fold the follower holds.
///
/// Every other surface renders a frame alone, because every other frame stands
/// alone. A follow frame does not: it is an append, and the closing half of a
/// tool window *"restates neither name nor input — key it by `tool_use`"*
/// (REMOTE §5.5). So a caller printing frames as they land — the one surface
/// that cannot go back and amend a line — hands its fold in, and what comes
/// back is this frame's own append with every call in it named.
///
/// It is the one entry point here that takes state, and the state is the
/// caller's: one read is one fold, and the fold's whole lifetime is that call
/// (`crate::seat::follow`, `crate::offframe::follow`).
/// One frame, read and rendered. **Read here rather than by the caller**: a
/// rendering is a statement about what a frame turned out to be, and
/// [`crate::reply::read`] is the one thing that can say.
/// What a reading looks like to a person — the three answers [`Read`] has, and
/// the one place each is worded.