Skip to content

docs(rfd): Add RFD D34 machine output envelope - #899

Merged
JeanMertz merged 1 commit into
mainfrom
machine-format-versioning
Jul 28, 2026
Merged

docs(rfd): Add RFD D34 machine output envelope#899
JeanMertz merged 1 commit into
mainfrom
machine-format-versioning

Conversation

@JeanMertz

Copy link
Copy Markdown
Collaborator

Add RFD D34, which proposes wrapping every JSON machine record JP emits in a {format, version, data} envelope so consumers can detect what they received, plus a --format-version flag so they can pin what they parse. Line-oriented ID formats keep their current bytes and are versioned out-of-band only. Every existing shape starts at version 0, which promises nothing, so the envelope can ship ahead of any shape being stabilized. The RFD reserves exit codes 20 and 21 for a requested version being too old or too new, respectively.

Cross-link the draft from RFD D15 and RFD D32, noting that D34 explicitly leaves the observability channel (trace events and the log-path announcement) out of its registry, and that whether either RFD's output later joins that registry is their call to make, not D34's.

Add RFD D34, which proposes wrapping every JSON machine record JP
emits in a `{format, version, data}` envelope so consumers can
detect what they received, plus a `--format-version` flag so they
can pin what they parse. Line-oriented ID formats keep their
current bytes and are versioned out-of-band only. Every existing
shape starts at version `0`, which promises nothing, so the
envelope can ship ahead of any shape being stabilized. The RFD
reserves exit codes `20` and `21` for a requested version being too
old or too new, respectively.

Cross-link the draft from RFD D15 and RFD D32, noting that D34
explicitly leaves the observability channel (trace events and the
log-path announcement) out of its registry, and that whether either
RFD's output later joins that registry is their call to make, not
D34's.

Signed-off-by: Jean Mertz <git@jeanmertz.com>
@JeanMertz
JeanMertz merged commit 83efa8d into main Jul 28, 2026
15 checks passed
@JeanMertz
JeanMertz deleted the machine-format-versioning branch July 28, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant