Skip to main content

Shepherd writeup
draft-ietf-cbor-cddl-more-control

# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the responsibilities is
answering the questions in this write-up to give helpful context to Last Call
and Internet Engineering Steering Group ([IESG][1]) reviewers, and your
diligence in completing it is appreciated. The full role of the shepherd is
further described in [RFC 4858][2]. You will need the cooperation of the authors
and editors to complete these checks.

Note that some numbered items contain multiple related questions; please be sure
to answer all of them.

## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
   few individuals, with others being silent, or did it reach broad agreement?

The document has strong concurrence of a few individuals (active in the CBOR
Working Group and others with applications of CDDL).

2. Was there controversy about particular points, or were there decisions where
   the consensus was particularly rough?

Having reviewed the mailing list and meeting notes, I have determined no
controversy about particular points of the document.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
   so, please summarize the areas of conflict in separate email messages to the
   responsible Area Director. (It should be in a separate email because this
   questionnaire is publicly available.)

No.

4. For protocol documents, are there existing implementations of the contents of
   the document? Have a significant number of potential implementers indicated
   plans to implement? Are any existing implementations reported somewhere,
   either in the document itself (as [RFC 7942][3] recommends) or elsewhere
   (where)?

The author has already completed an initial implementation. Two WG contributors
have written on the mailing list they plan to use the operators and/or make an
additional implementation to process use of the operators.

## Additional Reviews

5. Do the contents of this document closely interact with technologies in other
   IETF working groups or external organizations, and would it therefore benefit
   from their review? Have those reviews occurred? If yes, describe which
   reviews took place.

This draft extends control operators in CDDL as a data definition language for
CBOR and JSON data. The document's contents are in use by downstream
applications. One such application is members of the RATS Working Group,
particularly using CDDL to define CBOR and JSON structures for the Entity
Attestation Token in
[draft-ietf-rats-eat](https://datatracker.ietf.org/doc/draft-ietf-rats-eat/29/).
In particular, Laurence Lundblade and Jeremy O'Donoghue reviewed and provided
precise feedback. Additionally, Rohan Mahy from the Message Layer Security
Working Group has evaluated the operators and a reference implementation,
providing feedback on the draft's specification on base64 and base64url
decoding, and JSON-only content processing.

6. Describe how the document meets any required formal expert review criteria,
   such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

This document does not require such IETF expert reviews, but does require IANA
review and is appropriately prepared. See below for details.

7. If the document contains a YANG module, has the final version of the module
   been checked with any of the [recommended validation tools][4] for syntax and
   formatting validation? If there are any resulting errors or warnings, what is
   the justification for not fixing them at this time? Does the YANG module
   comply with the Network Management Datastore Architecture (NMDA) as specified
   in [RFC 8342][5]?

This document does not contain a YANG module.

8. Describe reviews and automated checks performed to validate sections of the
   final version of the document written in a formal language, such as XML code,
   BNF rules, MIB definitions, CBOR's CDDL, etc.

This draft contains six CDDL definition examples and they have been validated
with the `cddl` tool [as documented in RFC 8610 Appendix
F](https://datatracker.ietf.org/doc/html/rfc8610#autoid-54).

## Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
   document is needed, clearly written, complete, correctly designed, and ready
   to be handed off to the responsible Area Director?

Yes, I have reviewed the document and my assessment is that the document is
necessary, written clearly, complete, correct and ready for handoff to the Area
Director.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. For which areas have such issues been identified
    and addressed? For which does this still need to happen in subsequent
    reviews?

The [typical ART area
issues](https://wiki.ietf.org/group/art/TypicalARTAreaIssues) are applicable to
this work. Specifically, the base64 issues are applicable. The others have
already taken care to properly address the different variations of base64
specified in Sections 4 and 5 in RFC4648 already.

11. What type of RFC publication is being requested on the IETF stream ([Best
    Current Practice][12], [Proposed Standard, Internet Standard][13],
    [Informational, Experimental or Historic][14])? Why is this the proper type
    of RFC? Do all Datatracker state attributes correctly reflect this intent?

The RFC type of this publication is Proposed Standard. This follows from the
other dependent RFCs that this document extends. The state attributes appear to
be correct and reflect this intent.

12. Have reasonable efforts been made to remind all authors of the intellectual
    property rights (IPR) disclosure obligations described in [BCP 79][7]? To
    the best of your knowledge, have all required disclosures been filed? If
    not, explain why. If yes, summarize any relevant discussion, including links
    to publicly-available messages when applicable.

The author confirmed [in a recent thread on the cbor mailing
list](https://mailarchive.ietf.org/arch/msg/cbor/rdy2BWEiFH8aYR-TXndPoMx3K8Q/)
that he is not aware of any patent claims.

The author is very familiar with the process, stating in the thread:

> (There was no need during the WG proceedings to remind me of the procedures
we use to handle patent claims; I’m rather painfully aware of them.)

13. Has each author, editor, and contributor shown their willingness to be
    listed as such? If the total number of authors and editors on the front page
    is greater than five, please provide a justification.

There is only one author for this I-D and they have demonstrated their
willingness and commit to edit the draft and incorporate feedback.

14. Document any remaining I-D nits in this document. Simply running the [idnits
    tool][8] is not enough; please review the ["Content Guidelines" on
    authors.ietf.org][15]. (Also note that the current idnits tool generates
    some incorrect warnings; a rewrite is underway.)

The [idnits tool
report](https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-cbor-cddl-more-control-05.txt)
has several errors and warnings, but all have been review and are false
positives (BCP14 versus RFC2119; downref to published non-RFC standards; date;
line length).

15. Should any informative references be normative or vice-versa? See the [IESG
    Statement on Normative and Informative References][16].

The placement of all normative and informative references is correct.

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?

All normative references are freely available and therefore the community had
sufficient access.

A related issue brought up in discussion of the prior version of this shepherd
review:  C (ISO 9899) is definitely not a downref, but it is worth to point out
that this document references this ISO standard normatively. There is a
hyperlink to a source accessible without paywall. The RFC editor will likely
know how to update with a more appropriate, reader-friendly hyperlink during
the editor review process.

17. Are there any normative downward references (see [RFC 3967][9] and [BCP
    97][10]) that are not already listed in the [DOWNREF registry][17]? If so,
    list them.

There is a normative reference to an informational RFC listed below. It is
important for review during last call and for follow-up by the area ADs.

[RFC9285]
    Fältström, P., Ljunggren, F., and D.W. van Gulik, "The Base45 Data
    Encoding", RFC 9285, DOI 10.17487/RFC9285, August 2022,
    <https://www.rfc-editor.org/rfc/rfc9285>.

18. Are there normative references to documents that are not ready to be
    submitted to the IESG for publication or are otherwise in an unclear state?
    If so, what is the plan for their completion?

No.

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.

Publication of this document will not change the status of existing RFCs. Th
abstract explains this I-D's relationship to RFC9165, RFC9090, and RFC8160.
RFC8610 is a foundational RFC for CDDL that establishes the first set of
control operators in Section 3.8. This draft builds upon that set but does not
conflict. Similarly, RFC9165 defines a set of new operators extending the
original set in RFC8610. RFC9090 defines yet another set of CDDL operators
pertaining to CBOR Tags, the primary subject of that standard. In all cases,
authors have taken care to avoid conflicts and layer successively on top of one
another, so no change in existing RFCs appear to be necessary.

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][11]).

The IANA considerations section of this draft has a table with the proper
columns and format. It properly and accurately defines the relevant existing
registry (IANA CDDL Control Operators Registry). There is no declaration of a
new registry.

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.

Below is the list of IANA registries requiring Designated Expert Review.

- [IANA CDDL Control Operators
Registry](https://www.iana.org/assignments/cddl/cddl.xhtml#cddl-control-operators)

The instructions are clear given the simple fields of the registry and nature
of the request.

[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: https://wiki.ietf.org/group/ops/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://wiki.ietf.org/group/iesg/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp79
[8]: https://www.ietf.org/tools/idnits/
[9]: https://www.rfc-editor.org/rfc/rfc3967.html
[10]: https://www.rfc-editor.org/info/bcp97
[11]: https://www.rfc-editor.org/rfc/rfc8126.html
[12]: https://www.rfc-editor.org/rfc/rfc2026.html#section-5
[13]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.1
[14]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.2
[15]: https://authors.ietf.org/en/content-guidelines-overview
[16]:
https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
[17]: https://datatracker.ietf.org/doc/downref/
Back