Encoding · Types · Structs · Enumerations · Constants · Vocabulary · Refusals · Protocol

Schema

One definition; this page and every encoder are emitted from it. Nothing below is written by hand, and each rule tag links the construct to the profile that admits it.

Encoding [DEF-E1]

settingvaluerule
escapeminimal[DEF-E2]
indent2[DEF-E3]
map_keysutf8-bytes[DEF-E4]
numbersinteger-decimal[DEF-E5]
opaqueverbatim[DEF-E6]
terminatornewline[DEF-E7]
duplicate_keyslast[DEF-E8]
depth_limit64[DEF-E9]

Types

kindtypes
built inbool i64 string
repeated record [DEF-A9]list<Attestation>
string map [DEF-A10]map<string,string>

Named types [DEF-T2]

One spelling is written [DEF-G2] and a wider set is read [DEF-G1]; the width between them is the interoperability guarantee.

nameiswrittenread
timestampstringrfc3339-microsrfc3339-wide

Structs [DEF-T1]

A field is required, or says when it is omitted [DEF-A4]. Each struct says on its own what it does with a field name it has never heard of [DEF-A7]. A wire name never moves; where a language must spell it differently the field says so [DEF-A2].

Attestation

unknown fields grant

idfieldtypepresencenamed elsewhere
1bystringrequired
2verifiedboolrequired
3hopi64required
4programstringoptional · omitted when zero
5hoststringoptional · omitted when zero
6userstringoptional · omitted when zero
7exestringoptional · omitted when zero
8uidi64required
9gidi64required
10pidi64required
11keystringoptional · omitted when zero
12macstringoptional · omitted when zero

Record

the document [DEF-A1] · unknown fields grant

idfieldtypepresencenamed elsewhere
1schemai64required; equals 1; refusal bad_schema
2timetimestamprequired
3leveli64required
4msgstringrequired
5identitylist<Attestation>optional · omitted when zero
6jobstringoptional · omitted when zero
7attrsmap<string,string>optional · omitted when zero

Refusal words [DEF-R1]

orderwordstage
1malformedgrammar
2bad_stringgrammar
3number_spellinggrammar
4wrong_typegrammar
5bad_timestampgrammar
6depth_exceededgrammar
7duplicate_fieldstructure
8unknown_fieldstructure
9missing_fieldstructure
10bad_schemastructure
11trailing_bytesdocument

Service Sink [DEF-S1]

A sink for structured log records across a service boundary.

Wire identity: abstraction.logging/sink@1

Frames carry version, service, method and typed arguments. Transport owns framing, associated exchanges, deadlines and connections. Unknown version/service/method and malformed arguments are rejected before invoking a handler. One-way WriteFrame success means local submission, not remote acceptance or persistence.

Submit a log record. Completion confirms local transport submission only.

Write

oneway void