type Gate
import bendvy-ecs-core@0.1.0.4/snapshot_gate.bend as SnapshotGateimport Base
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as C
import bendvy-ecs-core@0.1.0.4/decode_data.bend as D
5# Trusted schema-author witness, not an unforgeable public constructor.
6# Decoder describes untrusted DATA validation; no implicit Raw -> P inverse.
7type Gate<-S:Data,-P:Type,-declaration:C.Declaration<S,P>> is Type:
8 Transient{}
9 Persisted{codec:D.Codec,project:P -> P & D.Raw}