Markdown Version | Session Recording
Session Date/Time: 25 Jul 2023 00:30
# cbor
## Summary
The cbor working group meeting covered several topics, including updates on the Time Tag and Packed CBOR drafts, a discussion on EDN literals and CDDL 2.0 documents, and considerations for Deterministic CBOR (DCBOR) and DNS CBOR. The group also discussed the interim call schedule.
## Key Discussion Points
* **Time Tag and Packed CBOR (PAC):** The Time Tag draft is being moved to standards track, and final working group call yielded no objections. The PAC draft has been updated with two table setup methods. Request for implementation experience.
* **CBOR Languages:** A slide was presented distinguishing between CBOR, CBOR Pretty, EDN (Extended Diagnostic Notation), and CDDL.
* **EDN Literals:** The EDN literals draft has been updated with an ABNF and an appendix explaining the difference between EDN and CDDL. The draft is up for review and implementations are desired.
* **CDDL 2.0:** Three documents comprise the CDDL 2.0 effort: grammar fixes, more control operators, and module structure. All are implemented in CDDL-LC. More review and implementation experience are needed. Heng noted that they have 50 CDDL fragments and will use import/include. ACE and CWT documents were suggested as good examples for applying the module structure.
* **Deterministic CBOR (DCBOR):** A background document on deterministic encoding has been written. Discussion focused on numeric type reduction, handling of subnormal floating-point numbers, and the need for strictness in DCBOR encoders and decoders. Wolf McNally explained that the original DCBOR proposal was motivated by blockchain applications needing deterministic encoding, and mentioned community review releases in Swift, Rust, and TypeScript.
* **DNS CBOR:** DNS CBOR aims to compress DNS messages. An encoder and decoder were implemented in Python during a hackathon. Lessons learned included potential resyncing issues with mandatory fields and a need for dedicated specs for certain resource records like options. Discussion of comparing examples of compression algorithms.
* **DCBOR Deep Dive:** Michael asked about considerations for implementing DCBOR besides the handling of 0. Carsten pointed out the handling of subnormal floating point numbers is an issue. Wolf mentioned that the original DCBOR proposal called out subnormal number issues as future work, and emphasized strictness (rejecting non-deterministic encodings). Discussion about NAND payloads. Concerns about negative 65-bit integers were raised and the idea to invalidating them in the current spec.
## Decisions and Action Items
* **Time Tag:** Shepherd write-up to be completed and publication requested after the IETF meeting.
* **Packed CBOR (PAC):** Collect implementation experience.
* **CDDL 2.0:** Add more examples of how modules fit together in specifications.
* **DNS CBOR:** Provide and compare examples of compression algorithms, provide comparison for DNS tier feedback, address lessons learned from hackathon and post numbers, and further work on implementation and evaluation.
* **DCBOR:** Wolf to potentially edit his draft to align with Carsten's. Carsten to incorporate feedback on the background document and on handling of typed languages. The point was made that implementations don't arrive through this at these through computation, but they might be storing the floating point numbers.
## Next Steps
* Post interim call schedule to the mailing list and request them from the secretary.
* Continue discussions on DCBOR and DNS CBOR on the mailing list and during interim calls.
* Work on implementation and reviews for EDN literals and CDDL 2.0.