{"action":"created","comment":{"url":"https://api.github.com/repos/ionwg/ion-doc/pulls/comments/34504553","id":34504553,"diff_hunk":"@@ -208,79 +200,176 @@ represented as follows:\n \n The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\",\n \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"NOT RECOMMENDED\", \"MAY\", and\n-\"OPTIONAL\" in this document are to be interpreted as described in Key\n-words for use in RFCs to Indicate Requirement Levels {uri-rfc2119}[RFC2119].  If\n-these words are used without being spelled in uppercase then they are\n-to be interpreted with their normal natural language meanings.\n+\"OPTIONAL\" in this document are to be interpreted as described {uri-rfc2119}[RFC2119] when they appear in UPPERCASE.  If these words are used without being spelled in uppercase then they are\n+to be interpreted with their normal natural language meanings, without any normative meaning.\n+\n \n+[[content-structure]]\n+== Content Structure\n \n+Ion content MUST have exactly one root JSON object, called the _Root Object_.  The Root Object MAY contain\n+name/value pairs called 'members' and any level of nested JSON objects.\n+\n+[[metadata]]\n == Metadata\n \n-An Ion resource MAY contain a direct child _Meta Object_. If present,\n-the _Meta Object_ represents data about its immediate parent Ion resource.\n-The _Meta Object_ is OPTIONAL.\n+An JSON object MAY contain a _Meta Object_ member named `meta`. If present, the _Meta Object_ represents data about its immediate parent JSON object. The _Meta Object_ is OPTIONAL.\n+\n+An Ion parser MUST identify a member as a _Meta Object_ if and only if:\n \n-If a _Meta Object_ is present, the resource field name MUST equal the\n-case-sensitive octet sequence `meta` and the field value MUST be a non-null, non-empty\n-JSON object. A _Meta Object_ MUST contain one or more name/value\n-pairs. Ion parsers MUST reject Ion resources where a direct child `meta` field\n-exists and the field value is `null` or an empty JSON object.\n+1. The member name is equal to the case-sensitive octet sequence `meta` and\n+2. The member value is a JSON Object that has one or more members.\n \n-The field names within a _Meta Object_ MUST be unique; Ion parsers MUST either\n-reject _Meta Object_ fields with duplicate field names or use a JSON\n-parser that returns only the lexically last duplicate field, as specified\n+If a member name is equal to the case-sensitive octet sequence `meta` and the member value is NOT a JSON Object (i.e. it is an array, number, string or the octet sequence literals `null`, `false`, or `true` as defined by {uri-rfc-json-value}[RFC 7159, Section 3]), an Ion parser MUST NOT identify the member as a _Meta Object_.\n+\n+If a member name is equal to the case-sensitive octet sequence `meta` and the member value is an empty JSON Object with no members, an Ion parser MUST NOT identify the member as a _Meta Object_.\n+\n+If a member name is not equal to the case-sensitive octet sequence `meta`, an Ion parser MUST NOT identify a member as a _Meta Object_.\n+\n+The member names within an identified _Meta Object_ MUST be unique; Ion parsers MUST either\n+reject _Meta Object_ members with duplicate member names or use a JSON\n+parser that returns only the lexically last duplicate member, as specified\n in {uri-ecmaScript-5-1-15-12}[Section 15.12 (The JSON Object)] of {uri-ecmaScript-5-1}[ECMAScript 5.1].\n \n-The set of fields that a _Meta Object_ must contain to be considered valid\n+The set of members that a _Meta Object_ must contain to be considered valid\n is resource-dependent.  In the absense of any resource-specific requirements,\n-any field not understood by implementations MUST be ignored.\n+any member not understood by implementations MUST be ignored.\n+\n+[[links]]\n+== Links\n+\n+An Ion Link is an Ion Object where its `meta` member contains an {uri-IRIs}[IRI] member named `href`. An Ion Link is therefore JSON serialization of a {uri-rfc5988}[web link] to another resource.\n+\n+Ion parsers MUST identify any JSON structure matching this definition as an Ion Link.  Anything that does not match this defined structure MUST NOT be considered an Ion Link.\n+\n+A non-normative example of a minimal Ion link:\n+\n+.Example simplest Ion link:\n+[source,json]\n+----\n+{ \"meta\": { \"href\": \"https://api.example.com/corporations/acme\" } }\n+----\n+\n+=== Link Relation Types\n+\n+All Ion links have one or more <<links, link relation types>>.  A link's total set of link relation types is the set union of the link's implicit link relation type and the link's explicit link relation types.\n+\n+==== Implicit Link Relation Type\n+\n+All Ion links have exactly one implicit link relation type.  The implicit link relation type can be one of three possible values depending on where the link is located in the Ion content:\n+\n+1. Root Object\n+2. Named Link\n+3. Collection Resource `items` array element\n+\n+===== Root Object Implicit Link Relation Type\n+\n+If the Root Object is also found to be an Ion Link, it has an implicit link relation type of `self`.\n+\n+A non-normative example of a Root Object that is also an Ion Link:\n+\n+[source,json]\n+----\n+{\n+  \"meta\": { \"href\": \"https://api.example.com/users/1\" },\n+  \"name\": \"Joe\"\n+}\n+----\n \n-=== Registered Metadata Field Names\n+===== Named Link Implicit Link Relation Type\n \n-The following field names are registered in the IANA Ion Metadata field registry\n-defined in [TBD].  None of the fields defined below are intended to be mandatory\n+If a JSON Object member value is an Ion Link, the Ion Link is implicitly assigned a link relation type that equals the member name.\n+\n+A non-normative example:\n+\n+[source,json]\n+----\n+{\n+  \"employer\": { \"meta\": { \"href\": \"https://api.example.com/corporations/acme\" } }\n+}\n+----\n+\n+The above example shows an Ion Link member named `employer`.  The octet sequence `employer` is therefore assigned as the link's implicit link relation type.","path":"draft-ion.adoc","position":350,"original_position":354,"commit_id":"e0718474e34224fd95f4d440fac63615eb89baf8","original_commit_id":"a7f5e93a485baa3555368cdc273f7115d9b36911","user":{"login":"lhazlewood","id":121180,"avatar_url":"https://avatars.githubusercontent.com/u/121180?v=3","gravatar_id":"","url":"https://api.github.com/users/lhazlewood","html_url":"https://github.com/lhazlewood","followers_url":"https://api.github.com/users/lhazlewood/followers","following_url":"https://api.github.com/users/lhazlewood/following{/other_user}","gists_url":"https://api.github.com/users/lhazlewood/gists{/gist_id}","starred_url":"https://api.github.com/users/lhazlewood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lhazlewood/subscriptions","organizations_url":"https://api.github.com/users/lhazlewood/orgs","repos_url":"https://api.github.com/users/lhazlewood/repos","events_url":"https://api.github.com/users/lhazlewood/events{/privacy}","received_events_url":"https://api.github.com/users/lhazlewood/received_events","type":"User","site_admin":false},"body":"> A question comes to mind: do you consider the Collection Resource to be a best practice of REST?\r\n\r\nI do.  Collection Resources are not strictly mandatory for REST interchange because as long as there are link transitions and no out-of-band info, you have REST.  But that's a bare minimum requirement.  Best practices usually go beyond the bare minimum to enable flexibility, power and ease of understanding on top of the bare minimum without sacrificing much (if anything).\r\n\r\nI consider them a best practice for the following reasons:\r\n\r\n1.  As we've said before, REST is all about link transitions and no out-of-band info.  To have no out-of-band info, you pretty much need metadata.  The only native collection concept in JSON is an array, and JSON arrays alone are incapable of natively supporting metadata (without attempting ugly or convoluted conventions).  Because JSON arrays can't do this, another concept needs to.  This is Ion's Collection Resource.\r\n\r\n2.  Human beings are cognitively predisposed to grouping things of similar type - from mathematical set theory and computer science algorithms, to classifications of living things (kingdom, phylum, etc) to organization charts, etc, etc, etc.  Collections just 'makes sense' to pretty much everyone.  When it comes to data representations for exchange between services (Ion is a REST standard, but its focus is specifically 'data interchange' not just ad-hoc transitions) - and those services are written and consumed by engineers writing software, a proper Collection concept just 'makes sense' to me.\r\n\r\n3.  Segmentation.  Without having a mandate that a Collection Resource has exactly 1 array (default named `items`), multiple arrays could be introduced in a single JSON object and parsing metadata for each respective array could be confusing/complex (because it's all jumbled/aggregated in the resource's `meta` field).  While this is possible, it's ugly, and this kind of overloading will inherently cause what I call 'cognitive friction' (i.e. while we can make rules that a computer can follow, it's just a huge pain for a human - not nice).\r\n\r\nNumber 1 is probably most important from a specification perspective because it closes a glaring hole in JSON for REST purposes.  \r\n\r\nNumbers 2 and 3 is what makes Ion Ion - human friendliness and ease of use/understanding is (almost) an equal goal of the spec.  In other words, my vision for Ion is not only to come up with a spec that machine clients can utilize (and abstract away from humans), but one that humans can read and write natively - without clients or tools - because it is easy enough to do so and it just 'feels' good.  Yes, that is totally subjective, but I think we're already pretty close. :)\r\n\r\nOn this last point, I feel that HTML is similar - it can be read/written by humans without tools of any kind, yet tools (browsers, IDEs, server rendering engines) work wonderfully with it.  I feel this is the 'sweet spot' for spec adoption and ubiquity.\r\n\r\nHTH!","created_at":"2015-07-13T19:58:44Z","updated_at":"2015-07-13T19:58:44Z","html_url":"https://github.com/ionwg/ion-doc/pull/10#discussion_r34504553","pull_request_url":"https://api.github.com/repos/ionwg/ion-doc/pulls/10","_links":{"self":{"href":"https://api.github.com/repos/ionwg/ion-doc/pulls/comments/34504553"},"html":{"href":"https://github.com/ionwg/ion-doc/pull/10#discussion_r34504553"},"pull_request":{"href":"https://api.github.com/repos/ionwg/ion-doc/pulls/10"}}},"pull_request":{"url":"https://api.github.com/repos/ionwg/ion-doc/pulls/10","id":36230933,"html_url":"https://github.com/ionwg/ion-doc/pull/10","diff_url":"https://github.com/ionwg/ion-doc/pull/10.diff","patch_url":"https://github.com/ionwg/ion-doc/pull/10.patch","issue_url":"https://api.github.com/repos/ionwg/ion-doc/issues/10","number":10,"state":"open","locked":false,"title":"Modifications for link descriptions, et. al.","user":{"login":"lhazlewood","id":121180,"avatar_url":"https://avatars.githubusercontent.com/u/121180?v=3","gravatar_id":"","url":"https://api.github.com/users/lhazlewood","html_url":"https://github.com/lhazlewood","followers_url":"https://api.github.com/users/lhazlewood/followers","following_url":"https://api.github.com/users/lhazlewood/following{/other_user}","gists_url":"https://api.github.com/users/lhazlewood/gists{/gist_id}","starred_url":"https://api.github.com/users/lhazlewood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lhazlewood/subscriptions","organizations_url":"https://api.github.com/users/lhazlewood/orgs","repos_url":"https://api.github.com/users/lhazlewood/repos","events_url":"https://api.github.com/users/lhazlewood/events{/privacy}","received_events_url":"https://api.github.com/users/lhazlewood/received_events","type":"User","site_admin":false},"body":"Work in progress.","created_at":"2015-05-26T18:24:01Z","updated_at":"2015-07-13T19:58:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fb9ebcc1750b1c69164a8cd3ed5a248bff9b5c65","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ionwg/ion-doc/pulls/10/commits","review_comments_url":"https://api.github.com/repos/ionwg/ion-doc/pulls/10/comments","review_comment_url":"https://api.github.com/repos/ionwg/ion-doc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ionwg/ion-doc/issues/10/comments","statuses_url":"https://api.github.com/repos/ionwg/ion-doc/statuses/e0718474e34224fd95f4d440fac63615eb89baf8","head":{"label":"ionwg:links","ref":"links","sha":"e0718474e34224fd95f4d440fac63615eb89baf8","user":{"login":"ionwg","id":1380914,"avatar_url":"https://avatars.githubusercontent.com/u/1380914?v=3","gravatar_id":"","url":"https://api.github.com/users/ionwg","html_url":"https://github.com/ionwg","followers_url":"https://api.github.com/users/ionwg/followers","following_url":"https://api.github.com/users/ionwg/following{/other_user}","gists_url":"https://api.github.com/users/ionwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ionwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ionwg/subscriptions","organizations_url":"https://api.github.com/users/ionwg/orgs","repos_url":"https://api.github.com/users/ionwg/repos","events_url":"https://api.github.com/users/ionwg/events{/privacy}","received_events_url":"https://api.github.com/users/ionwg/received_events","type":"Organization","site_admin":false},"repo":{"id":3270642,"name":"ion-doc","full_name":"ionwg/ion-doc","owner":{"login":"ionwg","id":1380914,"avatar_url":"https://avatars.githubusercontent.com/u/1380914?v=3","gravatar_id":"","url":"https://api.github.com/users/ionwg","html_url":"https://github.com/ionwg","followers_url":"https://api.github.com/users/ionwg/followers","following_url":"https://api.github.com/users/ionwg/following{/other_user}","gists_url":"https://api.github.com/users/ionwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ionwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ionwg/subscriptions","organizations_url":"https://api.github.com/users/ionwg/orgs","repos_url":"https://api.github.com/users/ionwg/repos","events_url":"https://api.github.com/users/ionwg/events{/privacy}","received_events_url":"https://api.github.com/users/ionwg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ionwg/ion-doc","description":"Ion Documentation","fork":false,"url":"https://api.github.com/repos/ionwg/ion-doc","forks_url":"https://api.github.com/repos/ionwg/ion-doc/forks","keys_url":"https://api.github.com/repos/ionwg/ion-doc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ionwg/ion-doc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ionwg/ion-doc/teams","hooks_url":"https://api.github.com/repos/ionwg/ion-doc/hooks","issue_events_url":"https://api.github.com/repos/ionwg/ion-doc/issues/events{/number}","events_url":"https://api.github.com/repos/ionwg/ion-doc/events","assignees_url":"https://api.github.com/repos/ionwg/ion-doc/assignees{/user}","branches_url":"https://api.github.com/repos/ionwg/ion-doc/branches{/branch}","tags_url":"https://api.github.com/repos/ionwg/ion-doc/tags","blobs_url":"https://api.github.com/repos/ionwg/ion-doc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ionwg/ion-doc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ionwg/ion-doc/git/refs{/sha}","trees_url":"https://api.github.com/repos/ionwg/ion-doc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ionwg/ion-doc/statuses/{sha}","languages_url":"https://api.github.com/repos/ionwg/ion-doc/languages","stargazers_url":"https://api.github.com/repos/ionwg/ion-doc/stargazers","contributors_url":"https://api.github.com/repos/ionwg/ion-doc/contributors","subscribers_url":"https://api.github.com/repos/ionwg/ion-doc/subscribers","subscription_url":"https://api.github.com/repos/ionwg/ion-doc/subscription","commits_url":"https://api.github.com/repos/ionwg/ion-doc/commits{/sha}","git_commits_url":"https://api.github.com/repos/ionwg/ion-doc/git/commits{/sha}","comments_url":"https://api.github.com/repos/ionwg/ion-doc/comments{/number}","issue_comment_url":"https://api.github.com/repos/ionwg/ion-doc/issues/comments{/number}","contents_url":"https://api.github.com/repos/ionwg/ion-doc/contents/{+path}","compare_url":"https://api.github.com/repos/ionwg/ion-doc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ionwg/ion-doc/merges","archive_url":"https://api.github.com/repos/ionwg/ion-doc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ionwg/ion-doc/downloads","issues_url":"https://api.github.com/repos/ionwg/ion-doc/issues{/number}","pulls_url":"https://api.github.com/repos/ionwg/ion-doc/pulls{/number}","milestones_url":"https://api.github.com/repos/ionwg/ion-doc/milestones{/number}","notifications_url":"https://api.github.com/repos/ionwg/ion-doc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ionwg/ion-doc/labels{/name}","releases_url":"https://api.github.com/repos/ionwg/ion-doc/releases{/id}","created_at":"2012-01-26T02:17:36Z","updated_at":"2015-05-26T18:04:12Z","pushed_at":"2015-06-13T02:41:43Z","git_url":"git://github.com/ionwg/ion-doc.git","ssh_url":"git@github.com:ionwg/ion-doc.git","clone_url":"https://github.com/ionwg/ion-doc.git","svn_url":"https://github.com/ionwg/ion-doc","homepage":"","size":516,"stargazers_count":6,"watchers_count":6,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":6,"default_branch":"master"}},"base":{"label":"ionwg:master","ref":"master","sha":"00e0c4d636a4e6e5a6e2c243fdd136640c937b10","user":{"login":"ionwg","id":1380914,"avatar_url":"https://avatars.githubusercontent.com/u/1380914?v=3","gravatar_id":"","url":"https://api.github.com/users/ionwg","html_url":"https://github.com/ionwg","followers_url":"https://api.github.com/users/ionwg/followers","following_url":"https://api.github.com/users/ionwg/following{/other_user}","gists_url":"https://api.github.com/users/ionwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ionwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ionwg/subscriptions","organizations_url":"https://api.github.com/users/ionwg/orgs","repos_url":"https://api.github.com/users/ionwg/repos","events_url":"https://api.github.com/users/ionwg/events{/privacy}","received_events_url":"https://api.github.com/users/ionwg/received_events","type":"Organization","site_admin":false},"repo":{"id":3270642,"name":"ion-doc","full_name":"ionwg/ion-doc","owner":{"login":"ionwg","id":1380914,"avatar_url":"https://avatars.githubusercontent.com/u/1380914?v=3","gravatar_id":"","url":"https://api.github.com/users/ionwg","html_url":"https://github.com/ionwg","followers_url":"https://api.github.com/users/ionwg/followers","following_url":"https://api.github.com/users/ionwg/following{/other_user}","gists_url":"https://api.github.com/users/ionwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ionwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ionwg/subscriptions","organizations_url":"https://api.github.com/users/ionwg/orgs","repos_url":"https://api.github.com/users/ionwg/repos","events_url":"https://api.github.com/users/ionwg/events{/privacy}","received_events_url":"https://api.github.com/users/ionwg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ionwg/ion-doc","description":"Ion Documentation","fork":false,"url":"https://api.github.com/repos/ionwg/ion-doc","forks_url":"https://api.github.com/repos/ionwg/ion-doc/forks","keys_url":"https://api.github.com/repos/ionwg/ion-doc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ionwg/ion-doc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ionwg/ion-doc/teams","hooks_url":"https://api.github.com/repos/ionwg/ion-doc/hooks","issue_events_url":"https://api.github.com/repos/ionwg/ion-doc/issues/events{/number}","events_url":"https://api.github.com/repos/ionwg/ion-doc/events","assignees_url":"https://api.github.com/repos/ionwg/ion-doc/assignees{/user}","branches_url":"https://api.github.com/repos/ionwg/ion-doc/branches{/branch}","tags_url":"https://api.github.com/repos/ionwg/ion-doc/tags","blobs_url":"https://api.github.com/repos/ionwg/ion-doc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ionwg/ion-doc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ionwg/ion-doc/git/refs{/sha}","trees_url":"https://api.github.com/repos/ionwg/ion-doc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ionwg/ion-doc/statuses/{sha}","languages_url":"https://api.github.com/repos/ionwg/ion-doc/languages","stargazers_url":"https://api.github.com/repos/ionwg/ion-doc/stargazers","contributors_url":"https://api.github.com/repos/ionwg/ion-doc/contributors","subscribers_url":"https://api.github.com/repos/ionwg/ion-doc/subscribers","subscription_url":"https://api.github.com/repos/ionwg/ion-doc/subscription","commits_url":"https://api.github.com/repos/ionwg/ion-doc/commits{/sha}","git_commits_url":"https://api.github.com/repos/ionwg/ion-doc/git/commits{/sha}","comments_url":"https://api.github.com/repos/ionwg/ion-doc/comments{/number}","issue_comment_url":"https://api.github.com/repos/ionwg/ion-doc/issues/comments{/number}","contents_url":"https://api.github.com/repos/ionwg/ion-doc/contents/{+path}","compare_url":"https://api.github.com/repos/ionwg/ion-doc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ionwg/ion-doc/merges","archive_url":"https://api.github.com/repos/ionwg/ion-doc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ionwg/ion-doc/downloads","issues_url":"https://api.github.com/repos/ionwg/ion-doc/issues{/number}","pulls_url":"https://api.github.com/repos/ionwg/ion-doc/pulls{/number}","milestones_url":"https://api.github.com/repos/ionwg/ion-doc/milestones{/number}","notifications_url":"https://api.github.com/repos/ionwg/ion-doc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ionwg/ion-doc/labels{/name}","releases_url":"https://api.github.com/repos/ionwg/ion-doc/releases{/id}","created_at":"2012-01-26T02:17:36Z","updated_at":"2015-05-26T18:04:12Z","pushed_at":"2015-06-13T02:41:43Z","git_url":"git://github.com/ionwg/ion-doc.git","ssh_url":"git@github.com:ionwg/ion-doc.git","clone_url":"https://github.com/ionwg/ion-doc.git","svn_url":"https://github.com/ionwg/ion-doc","homepage":"","size":516,"stargazers_count":6,"watchers_count":6,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ionwg/ion-doc/pulls/10"},"html":{"href":"https://github.com/ionwg/ion-doc/pull/10"},"issue":{"href":"https://api.github.com/repos/ionwg/ion-doc/issues/10"},"comments":{"href":"https://api.github.com/repos/ionwg/ion-doc/issues/10/comments"},"review_comments":{"href":"https://api.github.com/repos/ionwg/ion-doc/pulls/10/comments"},"review_comment":{"href":"https://api.github.com/repos/ionwg/ion-doc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ionwg/ion-doc/pulls/10/commits"},"statuses":{"href":"https://api.github.com/repos/ionwg/ion-doc/statuses/e0718474e34224fd95f4d440fac63615eb89baf8"}}}}