{"size": 1525, "ext": "scrbl", "max_stars_repo_path": "scribblings/limitations.scrbl", "max_stars_repo_name": "yurkobb/argo", "max_stars_repo_stars_event_min_datetime": "2017-08-26T13:27:14.000Z", "max_stars_repo_stars_event_max_datetime": "2021-11-26T10:50:00.000Z", "max_issues_repo_path": "scribblings/limitations.scrbl", "max_issues_repo_name": "yurkobb/argo", "max_issues_repo_issues_event_min_datetime": "2017-08-29T22:14:30.000Z", "max_issues_repo_issues_event_max_datetime": "2021-05-14T03:54:28.000Z", "max_forks_repo_path": "scribblings/limitations.scrbl", "max_forks_repo_name": "yurkobb/argo", "max_forks_repo_forks_event_min_datetime": "2017-08-30T14:38:55.000Z", "max_forks_repo_forks_event_max_datetime": "2021-05-03T19:31:29.000Z"}
{"max_stars_count": 11, "max_issues_count": 7, "max_forks_count": 3, "avg_line_length": 76.25, "max_line_length": 689, "alphanum_fraction": 0.7763934426}
#lang scribble/manual

@title{Shortcomings and sorely missing features}

Argo suffers from some known deficiencies.

@section{Hypermedia keywords unsupported}

JSON Schema defines Hypermedia keywords (@hyperlink[#:underline? #f "http://json-schema.org/latest/json-schema-hypermedia.html#rfc.section.5.1"]{base}, @hyperlink[#:underline? #f "http://json-schema.org/latest/json-schema-hypermedia.html#rfc.section.5.2"]{links}, and @hyperlink[#:underline? #f "http://json-schema.org/latest/json-schema-hypermedia.html#rfc.section.5.3"]{media}) are currently not supported. When these properties are encountered on a JSON schema, they are silently ignored. If you work with JSON schema that rely on these features, it will almost certainly not work with Argo. (Meanining: validation will produce many false negatives and maybe even some false positives.)

@section[#:tag "error-reporting"]{Error reporting}

Error reporting is largely (or should I say, entirely) missing. Thus, if a JSON document is not valid according to a JSON schema, you just get @racket[#f]. You don't get a description of @italic{why} the document fails validation.

@section{Only version 6 of the JSON Schema specification is supported}

Only verson 6 of the JSON Schema specification is supported. Schema that declare themselves to be, say, a v4 JSON Schema may not be treated correctly (that is, according to the v4 rules).

If you can, either leave out the $schema keyword or use the value @tt{http://json-schema.org/draft-06/schema#} for @tt{$schema}.
