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 instring
declared belowOrigin Origins
string map [DEF-A10]map<string,string>

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].

RunOverrides

unknown fields refuse

idfieldtypepresencenamed elsewhere
1nas_storestringrequired
2storestringrequired
3log_sinkstringrequired
4log_servicestringrequired

Origin

unknown fields refuse

idfieldtypepresencenamed elsewhere
1rungstringrequired
2pathstringrequired

Origins

unknown fields refuse

idfieldtypepresencenamed elsewhere
1nas_storeOriginrequired
2storeOriginrequired
3log_sinkOriginrequired
4log_serviceOriginrequired
5offOriginrequired

Snapshot

the document [DEF-A1] · unknown fields refuse

idfieldtypepresencenamed elsewhere
1nas_storestringrequired
2storestringrequired
3log_sinkstringrequired
4log_servicestringrequired
5offmap<string,string>required
6originsOriginsrequired
7stampstringrequired

Refusal words [DEF-R1]

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

Service ConfigReader [DEF-S1]

Per-user configuration read service. Caller identity is checked independently of overrides.

Wire identity: abstraction.config/reader@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.

Request-response methods use ExchangeFrame. Replies carry version, service, method, ok and payload; success payload contains typed value (or an empty object for void). Error payload contains nonempty code and message, which may be empty. ServiceError preserves unknown codes. Unexpected handler failures become handler_error without private details; invalid results become invalid_result. Clients validate reply identity and result before exposing it. A malformed frame or transport failure remains a local error; the transport must associate each response with its exchange. C++ dispatchers are pure protocol bindings, not listening servers.

Read same-user machine/user configuration with explicit caller run overrides. No writes, watch or provider fallback.

Read

request-response Snapshot