Subject: [core] Adam Roach's Discuss on draft-ietf-core-links-json-08: (with DISCUSS and COMMENT)

From: Adam Roach <[email-masked]>
Date: Thu, 27 Apr 2017 08:04:46 -0700

Adam Roach has entered the following ballot position for
draft-ietf-core-links-json-08: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-core-links-json/

----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

======================================================================
The protocol has technical flaws that will prevent it from working
properly, or the description is unclear in such a way that the reader
cannot understand it without ambiguity. 
======================================================================

The document requires that the thirteen defined values MUST be encoded as
integers. The document does not define what implementations are to do if
they receive a CBOR object that does not conform to this encoding: is the
parameter ignored? Is the entire link relation ignored? Do you reject the
entire collection of link relations? Or do you just go ahead and parse it
anyway, since the intended meaning is unambiguous (even if out of
spec)?

======================================================================
The draft omits a normative reference necessary for its implementation,
or cites such a reference merely informatively rather than normatively.

======================================================================

This document appears to use CDDL to define the formal schema for both
the JSON and CBOR representations of its data format, although the CDDL
document itself is cited only informatively. Additionally , figure 1
shows an application of CDDL to define schema for JSON. It's not clear
from a skim through the CDDL document that it can be used for JSON; it
would appear that using it in this fashion would require additional text
in this document to talk about how to apply CDDL to JSON, or waiting for
some other document to do so.

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

The example in Figure 6 would benefit greatly by showing both the array
encoding and "foo" encoding used in Figure 4 (including, in particular,
the string -- rather than integer -- encoding of the "foo=3" parameter).