CRUMB a card from devarno-cloud

STRATT Protocol Overview

stratt beginner 5 min read

ELI5

STRATT is a way of writing prompts so that AI systems can talk to each other reliably. Think of it like a postal system for AI agents — every message has a strict format, a sender, a receiver, and a way to verify it hasn’t been tampered with.

Technical Deep Dive

Core Concepts

STRATT defines three layers:

  1. Council — A domain of expertise (e.g., “protocol-mechanics”, “deployment”)
  2. Unit — An atomic prompt with schema validation and a Blake3 fingerprint
  3. Envelope — The wire-format wrapper that carries units between systems

Protocol Flow

flowchart LR
A["Agent A"] -->|"send unit"| E["STRATT Envelope\n─────────────\nBlake3 fingerprint\ncouncil identifier\npriority flag\ntimestamp"]
E -->|"deliver unit"| B["Agent B"]

The envelope sits between the two agents as the sole transmission primitive — neither agent sends raw data; everything passes through the structured wrapper. This makes the protocol boundary explicit: any system that can consume a STRATT Envelope can interoperate with any producer, regardless of language or runtime.

Every envelope contains:

  • A Blake3 fingerprint of the unit (integrity)
  • A council identifier (routing)
  • A priority flag (quality of service)
  • A timestamp (ordering)

Key Terms

  • Council: A logical grouping of related prompt units.
  • Unit: The smallest indivisible prompt in STRATT.
  • Fingerprint: A Blake3 hash that uniquely identifies a unit.
  • Envelope: The container that carries a unit across the network.

Q&A

Q: Why does STRATT use Blake3 instead of SHA-256? A: Blake3 is faster on modern CPUs while providing the same 256-bit security margin. In a system where every message is hashed, speed matters.

Q: Can a unit belong to multiple councils? A: No. Units are council-scoped. Cross-council relationships are expressed through the related_by_concept field in CRUMB.

Examples

A minimal council definition:

council: protocol-mechanics
units:
- id: packet-structure
fingerprint: abc123...
schema: packet.schema.json

neighbors on the map