Menu

Systems

Vestry

Answers from a community’s own message history and cites the message it stood on, with the protocol-facing layer isolated so protocol failure does not reach product services.

Relationship
Commissioned
Availability
Public
Status
In production
Stack
Rust · gRPC · Protocol Buffers · MTProto
Source
Private

Commissioned work, built with and for a partner. Red Sentra keeps an ongoing support role. The partner and the commercial terms stay private.

The product is not open yet. Source is private.

vestry.redsentra.tech The product site, for what it does. This page is what we built.

MTProtoPROTOCOL BOUNDARYgRPC · Protocol BuffersPROTOCOL BOUNDARYMTProtogRPC · Protocol Buffers
  • IngestSession state, isolated
  • RetrievalGrounded in group history
  • AssistantBudget-capped answers
  • AuditEvery answer traceable

What we built

Containment as the architecture.

A hostile stateful protocol is the interesting constraint here. The protocol-facing layer holds session state alone, and everything past it speaks gRPC with Protocol Buffers as the contract, so a protocol failure cannot become a product failure. The assistant answers from the group’s own history, cites the message it stood on, and otherwise stays quiet.

Commissioned work, built with and for a partner. Red Sentra keeps an ongoing support role. The partner and the commercial terms stay private.

The constraint that shaped it

The product answers questions from a community’s own message history. Reaching that history means speaking a stateful protocol that was not designed for services to depend on: sessions carry state, the connection is long-lived, and failure modes arrive as protocol-level surprises rather than HTTP status codes.

Left unbounded, that protocol becomes the architecture. Session state spreads, every service learns about the transport, and a protocol failure becomes a product outage.

Containment as the architecture

The protocol-facing layer is isolated and holds session state alone. Everything past it speaks gRPC with Protocol Buffers as the contract, across four Rust services.

The boundary is the design decision. A protocol failure stays at the boundary: the services behind it see a contract that does not change shape, and a session problem cannot become a product problem.

What the assistant is allowed to do

It answers from the group’s own history and cites the message it stood on. A citation is not a nicety here — it is what makes an answer checkable by the people who wrote the source material and are in the best position to catch it being wrong.

A set of grounding conditions is checked before it is allowed to speak at all, and failing any one of them means silence rather than a hedged answer. Silence is the ordinary outcome, and the assistant keeps a record of the occasions it declined to speak, so the restraint is auditable rather than asserted. Vestry is not affiliated with or endorsed by Telegram.

Our role

Red Sentra specified and built the service architecture, and still supports it. The interesting problem was containment: keeping a hostile stateful protocol from leaking into the product.

  • Architecture
  • Backend & services
  • Protocol boundaries
  • AI & agent layer
  • Production operation

Rust · Distributed · AI & agents