Skip to main content

Shepherd writeup
draft-ietf-core-href

# Document Shepherd Write-Up for CoRE Constrained Resource Identifiers (CRI)

## 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?

This document has quite a long history.
Its incubation began in the Thing-to-Thing RG about eight years ago.
Shortly after, it was adopted by the CoRE WG.
While it was paused for a time, over the past four years it has been developed
by a very committed design team that has held fortnightly calls and made
regular reports to the CoRE WG at various interims and face-to-face meetings.

The consensus represents the *very* strong agreement among a few individuals
(the DT and a small group of dedicated reviewers).

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

This specification has been the subject of extensive and detailed discussion
over an extended period. No instances of controversy have been raised that I am
aware of.

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. I reviewed the mailing list conversations and meeting minutes, but found no
such indication.

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)?

Yes, there are three independent open-source implementations (in Rust, Python
and Go) listed in the Implementation Status section. Another (currently PoC)
implementation in Ruby exists but is not listed in the document.

The editors and early implementers developed a [test suite][18] based on the
specification, which has served (and will serve) as an interop & coordination
tool for (future) implementers.

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

It's hard to predict who will consume this specification, beyond the obvious
target, the IoT community. Some inherent constraints (i.e., the C in CRI) may
limit widespread adoption, but there is also an extensibility story baked into
the data model that may allow it to gain a larger footprint in the future. At
this point, I don’t see a need for a wider review pool than the usual
directorates, but more eyes are always better. Two critical directorates to
involve and ask for *robust* reviews are ARTART and Iotdir.

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.

The data format is expressed using CDDL. This document should be reviewed by an
ideal "CDDL Fairies" team, which at present is merely a fantasy. However,
Carsten, being at the same time CDDL's Fairy Godmother and editor of this
document, gives me confidence that there can't be substantial problems.

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

There is no YANG in this document.

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.

No automated checks are available. I have manually verified that the [CDDL
definition][19] holds tight and that the examples in [§5.1.3][20] validate
against it, after applying the "augmented rules for interchange" described in
prose in [§5.1][21].

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

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?

ARTART is the obvious candidate for an in-depth review.

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?

Proposed Standard, which is the correct stream for this document according to
the definition in RFC2026. All the relevant DT attributes are in order.

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.

No IPR has been disclosed (for now).

An [email][22] has been sent to the authors and the mailing list.

Both authors (Carsten and Henk) confirm they are not personally aware of any
patent claims that would read on this specification.

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 are two authors and two contributors.

All but one of the contributors, Klaus, who hasn't yet replied to [my
email][23], confirm their willingness to be listed as author/editor/contributor.

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

No meaningful nits remain.

There are two nits worth an explanation:

>  == Missing Reference: 'I-D.bormann-cbor-draft-numbers' is mentioned on line
>     2037, but not defined

This is in a note to IANA.  It's safe to ignore: it'll be deleted before/when
the RFC editor sees it.

>  -- Obsolete informational reference (is this intentional?): RFC 3490
>     (Obsoleted by RFC 5890, RFC 5891)

`ToASCII` is defined in RFC3490. Though many documents refer to 5890 for its
definition, it’s not there. Hence the pointer to the previous revision.

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

No.

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 to anyone.

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.

No, there aren't.

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.

No.

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

This document creates the new "CRI Scheme Numbers" Registry.
All the registry bootstrapping aspects are correctly covered.
This document updates the "Uniform Resource Identifier (URI) Schemes" Registry
by adding a note to link it with the new "CRI Scheme Numbers" Registry. The
rest are "usual" registrations in a few CBOR-, CoRE- and ACE-specific
registries. All look in good shape.

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.

The new "CRI Scheme Numbers" Registry is under Expert Review policy.
The instructions for the Designated Experts look clear and thorough.
I don't have any DE candidates to suggest.

[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/ [18]:
https://github.com/core-wg/href/tree/main/tests [19]:
https://raw.githubusercontent.com/core-wg/href/refs/heads/main/cddl/cri.cddl
[20]:
https://www.ietf.org/archive/id/draft-ietf-core-href-21.html#section-5.1.3
[21]:
https://www.ietf.org/archive/id/draft-ietf-core-href-21.html#section-5.1-7
[22]: https://mailarchive.ietf.org/arch/msg/core/I9nxjvBIBTdaa7m9qOA6hvqvrLo/
[23]: https://mailarchive.ietf.org/arch/msg/core/Gxv-xt-Sk_VOBxq-o9gT2rQRXY4/
Back