pub struct EngateSpec {
pub name: String,
pub producer: TypePath,
pub consumer: TypePath,
pub history_required: bool,
pub attestation_fixture: Option<String>,
}Expand description
Declarative spec for one engate attach point. Authored either by
hand in Rust (EngateSpec { ... }) or via tatara-lisp’s
(defengate ...) form (M5.1 — #[derive(TataraDomain)] lands
when tatara-lisp’s macro story is mature enough to consume this
without a manual register() boilerplate dance).
The spec is purely descriptive — it does NOT instantiate the
engate machinery (that’s compile-time generics in engate-attach).
It serves as:
- A registry every operator-facing tool can enumerate (mado publishes its engate specs, kenshi publishes its, etc.).
- The contract substrate’s
mkEngateFlakeNix builder reads to generate per-consumer Nix outputs (module trio, attestation fixture verifier, test invocations). - The shape the
(defengate ...)Lisp form serializes to.
Fields§
§name: StringStable identifier for this engate point — used as the JobId subject when wrapped by engate-shigoto.
producer: TypePathProducer crate + path. e.g. ("tear-client", "tear_client::PaneProducer").
consumer: TypePathConsumer crate + path. e.g. ("mado", "mado::terminal::Terminal").
history_required: boolWhether history replay is required. true (the default) =
the typestate enforces snapshot-before-render; false = the
consumer opts out (rare — only for genuinely stateless
producers like a beep channel).
attestation_fixture: Option<String>Optional attestation fixture path. When present, substrate emits a CI job that runs the engate and asserts the recorded fixture matches.
Trait Implementations§
Source§impl Clone for EngateSpec
impl Clone for EngateSpec
Source§fn clone(&self) -> EngateSpec
fn clone(&self) -> EngateSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EngateSpec
impl Debug for EngateSpec
Source§impl<'de> Deserialize<'de> for EngateSpec
impl<'de> Deserialize<'de> for EngateSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for EngateSpec
impl PartialEq for EngateSpec
Source§fn eq(&self, other: &EngateSpec) -> bool
fn eq(&self, other: &EngateSpec) -> bool
self and other values to be equal, and is used by ==.