**Session Date/Time:** 15 Oct 2025 14:00 # [CBOR](../wg/cbor.html) ## Summary The CBOR Working Group held an interim meeting to discuss the status and path forward for its active drafts, primarily focusing on CDE (Concise Data Definition Language for Deterministic CBOR), PACT (Plaintext Assertions in CBOR), and EDN/Literals (Extended Diagnostic Notation / Literals). Paul Wouters was welcomed as a new Working Group Co-Chair. The group confirmed CDE as the highest priority for resolution, with significant discussion around an alternative serialization draft by Lawrence D'Oliveiro. The need for clear definitions of decoder behaviors and robust consensus building on the mailing list was emphasized. ## Key Discussion Points * **WG Chair Update**: Paul Wouters was introduced as a new Working Group Co-Chair. Paul highlighted his role in reviewing consensus processes for the WG, stressing that consensus is built on the mailing list throughout the document's evolution, not just at adoption. * **Document Prioritization**: CDE (Concise Data Definition Language for Deterministic CBOR) was identified as the highest priority document for resolution to unblock the working group. PACT (Plaintext Assertions in CBOR) and EDN/Literals (Extended Diagnostic Notation / Literals) will follow. * **CDE Discussion - Lawrence's Draft**: * Lawrence D'Oliveiro formally stated his opposition to the publication of `draft-ietf-cbor-cde` in its current form. His reasons include concerns about the document's focus (should be serialization, not determinism), inverted and convoluted structure, lack of clarity, excessive length, and insufficient uptake of his detailed comments over the past year. * Lawrence presented his alternative `serialization` draft, aimed at clarifying all aspects of CBOR serialization and determinism. * His draft defines three serializations: * **General Serialization**: The full set of CBOR options, with no encoding constraints. * **Ordinary Serialization**: A replacement for "preferred serialization," requiring definite lengths and allowing only "quiet NANs." * **Deterministic Serialization**: Inherits from ordinary serialization and adds map key sorting, broadly equivalent to 4.2.1 of RFC 8949 and CDE. * Discussion arose regarding the interpretation of "Touched not the NANs" and floating-point value representation within RFC 8949's Section 3, with Karsten Lagemann suggesting this requires offline clarification and may represent a fundamental aspect of the CBOR data model. * Paul Wouters queried the drivers for different serialization specifications (protocol needs vs. smaller interpreter implementations). Lawrence indicated that deterministic serialization serves protocol needs (e.g., COSE, non-binary comparisons), while ordinary serialization supports interoperability and avoids complex indefinite length decoding for resource-constrained environments. * Karsten Lagemann outlined three parties in CBOR: the application protocol (defining data model, orthogonal to serialization), the encoder, and the decoder. He stressed the invariant that a generic decoder should be able to decode *any* CBOR, implying that decoding decisions should not depend on the encoder's intended serialization unless specified via other channels (e.g., media types). * Joe Touch and Paul Wouters discussed the distinction between a "generic decoder" (decoding everything), a "restricted decoder" (not implementing certain features, e.g., indefinite lengths, and signaling error upon encountering them), and a "checking decoder" (enforcing specific serialization constraints and failing if violated). It was agreed that these distinctions and their expected error behaviors need to be clearly documented. * Joe Touch expressed support for Lawrence's draft, appreciating its clarity and simplicity for implementers. * **PACT Discussion**: * Karsten Lagemann stated that `draft-ietf-cbor-packed` (PACT) revision 17 addresses all GitHub issues and is considered ready by the authors for a second Working Group Last Call. * He asked the chairs to consider moving PACT forward to avoid head-of-line blocking, noting that different people work on PACT and CDE. * The chairs agreed to discuss this offline, weighing the benefit of moving PACT against the potential distraction to the mailing list from the high-priority CDE discussions. * **EDN/Literals Discussion**: * Karsten Lagemann emphasized that `draft-ietf-cbor-edm-literals` has high urgency due to blocking other external specifications. * Joe Touch and Karsten Lagemann agreed to hold an offline discussion to quickly resolve remaining disagreements on implementation details. * Karsten highlighted the "raw strings" feature as a significant usability gain for EDN/Literals, which aims to solve nested escaping problems. However, this feature presents challenges with ABNF's mechanical translatability (Ori Parpar's objection at IETF 123). * It was strongly urged that any discussion regarding "raw strings" and the ABNF issue, especially Ori's objection, must take place publicly on the mailing list to ensure broad working group consensus. Private discussions, even if fruitful, must eventually feed into the public forum for consensus building. ## Decisions and Action Items * **Decision**: The `draft-ietf-cbor-cde` document (or a successor addressing determinism/serialization) is the highest priority for the working group. * **Decision**: Paul Wouters has joined as a Working Group Co-Chair, with a specific focus on ensuring robust consensus for documents. * **Action Item (Chairs)**: Consult offline regarding the timing of a second Working Group Last Call for `draft-ietf-cbor-packed` (PACT), considering the potential for mailing list distraction from CDE. * **Action Item (Joe Touch & Karsten Lagemann)**: Conduct an offline discussion to quickly resolve remaining implementation disagreements for `draft-ietf-cbor-edm-literals`. * **Action Item (Karsten Lagemann)**: Bring the discussion about the "raw strings" feature for `draft-ietf-cbor-edm-literals` and the associated ABNF mechanical translatability issue (including Ori Parpar's objection) to the mailing list for public discussion and consensus building. * **Action Item (Paul Wouters)**: Complete an evaluation of the current consensus status of the `draft-ietf-cbor-cde` and Lawrence's `serialization` draft by the end of the week, to inform the IETF 124 agenda. * **Action Item (Chairs)**: Draft a tentative agenda for the IETF 124 meeting, allocating the first hour to discussions around "determinism" (encompassing CDE and Lawrence's draft) and the last half-hour for PACT and EDN/Literals. This tentative agenda should be circulated on the mailing list soon. ## Next Steps * The working group will engage in detailed discussions on the mailing list comparing the existing `draft-ietf-cbor-cde` with Lawrence's `serialization` draft, or potential combinations thereof, following Paul's consensus evaluation. * The discussion regarding "raw strings" for EDN/Literals, particularly the ABNF mechanical translatability, will be moved to the mailing list. * The chairs will finalize and circulate the tentative agenda for the IETF 124 meeting.