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
//! The mount fact: which door admitted a connection.
//!
//! The hardened face-substrate draft (r2 §5) requires that every append
//! admitted through the in-process transport carry a **mount attestation from
//! the admitting door**. The record being attested is the consumer's, and the
//! admitting door for those appends is the consumer's participant machinery
//! riding on liminal, so liminal's obligation is to supply the unforgeable
//! fact — not to stamp its own rows
//! (`docs/design/IN-PROCESS-TRANSPORT.md` §10).
//!
//! **Unforgeable means exactly this:** the server stamps a [`MountKind`] at
//! spawn, from its own knowledge of which spawn path it is executing. The value
//! is not negotiated, is carried in no frame, is not derived from anything a
//! client sends, and no inbound byte can move it. A client that presents any
//! frame content whatsoever reaches [`apply_frame`] with the mount its door
//! already stamped.
//!
//! **Liminal's own durable op-log rows carry NO mount field.** That absence is
//! load-bearing: it is what keeps the design's discriminating test exact, so
//! that liminal record outcomes stay byte-identical across mounts and the mount
//! fact lives only on the context surface where the consumer's door reads it.
//! If the consume side ever needs the fact somewhere other than the handler
//! context, that is a declaration-time conversation — never a silent widening.
//!
//! [`apply_frame`]: crate::server::connection
/// Which transport door admitted a connection.
///
/// Stamped by the server at spawn and carried on both the connection registry
/// record and the participant handler context.