Built alone from an empty CARGO_HOME, its tests passed, and flowrsc checked, ran and exported a document from the conformance corpus; the export built alone. Co-Authored-By: Claude Opus 5.5 <[email protected]>
135 lines
11 KiB
JSON
135 lines
11 KiB
JSON
{
|
|
"spec": "spec/flowrs-document-2.md",
|
|
"flowrs": [
|
|
{ "file": "flowrs/minimal.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "The smallest document: a format and the two required arrays; every other member takes its default." },
|
|
{ "file": "flowrs/add-two-numbers.flowrs", "reader": "accepts", "schema": true, "canonical": true,
|
|
"why": "The specification's example, in canonical form." },
|
|
{ "file": "flowrs/credential-reference.flowrs", "reader": "accepts", "schema": true, "canonical": true,
|
|
"why": "A credential parameter holding a reference, secret:NAME, never a value (Credentials); its auth port wired on." },
|
|
{ "file": "flowrs/credential-value.flowrs", "reader": "accepts", "schema": true, "canonical": true,
|
|
"why": "A credential's value typed into a credential parameter, as a document written before 1.1.0 holds it: read and run, with a warning on the node, never refused." },
|
|
{ "file": "flowrs/every-member.flowrs", "reader": "accepts", "schema": true, "canonical": true,
|
|
"why": "Every member of every object, each holding a value other than its default, written from the types' own struct literals (tests/document_spec.rs)." },
|
|
{ "file": "flowrs/not-json.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "Not JSON." },
|
|
{ "file": "flowrs/no-format.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "No format: nothing else can be trusted to mean anything." },
|
|
{ "file": "flowrs/format-0.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "Format 0 never existed." },
|
|
{ "file": "flowrs/format-3.flowrs", "reader": "too_new", "schema": false,
|
|
"why": "A format newer than this reader's: refused as written by a newer version, never read as this one." },
|
|
{ "file": "flowrs/format-2-without-functions.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "Format 2 that defines no function: read; the canonical form writes such a document as format 1." },
|
|
{ "file": "flowrs/functions.flowrs", "reader": "accepts", "schema": true, "canonical": true,
|
|
"why": "The specification's function example (a function called twice, with a default and constants), saved: format 2, in canonical form (tests/document_spec.rs writes it from the prose's text)." },
|
|
{ "file": "flowrs/functions-in-format-1.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A function in a document that says format 1: a format-1 reader would read its calls as unknown nodes, so a document that defines one is format 2." },
|
|
{ "file": "flowrs/function-version-0.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A function at version 0: versions count from 1." },
|
|
{ "file": "flowrs/function-defined-twice.flowrs", "reader": "malformed", "schema": true,
|
|
"why": "One name and version defined twice: a call could not say which it runs. The schema cannot say a pair is unique; the reader refuses it." },
|
|
{ "file": "flowrs/function-with-a-bad-name.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A function's name that starts with a digit." },
|
|
{ "file": "flowrs/repeated-node-id-in-a-function.flowrs", "reader": "malformed", "schema": true,
|
|
"why": "Two nodes of one function's body with one id: ids are unique in each body, as in the document." },
|
|
{ "file": "flowrs/call-to-an-undefined-function.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "A call of a function the document does not define: a defect of the graph, which flowrsc check reports, not of the document." },
|
|
{ "file": "flowrs/string-id.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "An id written as a string." },
|
|
{ "file": "flowrs/negative-id.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A negative id." },
|
|
{ "file": "flowrs/fractional-id.flowrs", "reader": "malformed", "schema": true,
|
|
"why": "An id written 3.0. The reader refuses it; JSON Schema's integer accepts 3.0, so the schema cannot, and the prose's rule decides." },
|
|
{ "file": "flowrs/repeated-node-id.flowrs", "reader": "malformed", "schema": true,
|
|
"why": "Two nodes with one id. The schema cannot say ids are unique; the reader refuses it, since one of the two would be lost." },
|
|
{ "file": "flowrs/repeated-wire-id.flowrs", "reader": "malformed", "schema": true,
|
|
"why": "Two wires with one id." },
|
|
{ "file": "flowrs/node-without-properties.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A node with no properties member: it is required, even when empty." },
|
|
{ "file": "flowrs/number-as-value.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A parameter value written as a number: every value is a string." },
|
|
{ "file": "flowrs/position-of-one-number.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A position of one number." },
|
|
{ "file": "flowrs/unknown-mode.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A wire mode that does not exist." },
|
|
{ "file": "flowrs/agent-without-model.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "An agent author with no model." },
|
|
{ "file": "flowrs/app-without-version.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "An app with no OpenUI Lang version." },
|
|
{ "file": "flowrs/card-at-a-negative-column.flowrs", "reader": "malformed", "schema": false,
|
|
"why": "A Front Panel card at a negative column." },
|
|
{ "file": "flowrs/unknown-member.flowrs", "reader": "accepts", "schema": false, "canonical": false,
|
|
"why": "Members this specification does not have: a reader skips them, so a later revision can add members old readers ignore; a conforming document has none." },
|
|
{ "file": "flowrs/malformed-fingerprint.flowrs", "reader": "accepts", "schema": false, "canonical": false,
|
|
"why": "A fingerprint that is not 16 hex digits: the reader keeps it (drift is reported, never refused); a conforming document has none." },
|
|
{ "file": "flowrs/unknown-skin.flowrs", "reader": "accepts", "schema": false, "canonical": false,
|
|
"why": "A skin flowRS does not draw: the reader keeps it, and the app is drawn in Instrument." },
|
|
{ "file": "flowrs/object-as-array.flowrs", "reader": "accepts", "schema": false, "canonical": false,
|
|
"why": "An object written as an array of its members' values (serde's sequence form): flowRS's reader takes it, a conforming document does not hold it." },
|
|
{ "file": "flowrs/unsorted.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "Nodes out of id order: a reader takes the arrays in any order; the canonical form sorts them." },
|
|
{ "file": "flowrs/dangling-wire.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "A wire from a node that does not exist: a defect of the graph, which flowrsc check reports, not of the document." },
|
|
{ "file": "flowrs/unknown-node-type.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "A node type the library does not have: a defect of the graph, not of the document." },
|
|
{ "file": "flowrs/legacy-parallel.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "An older spelling, ParSquare, read as MapSquare with schedule = parallel." },
|
|
{ "file": "flowrs/legacy-tab.flowrs", "reader": "accepts", "schema": true, "canonical": false,
|
|
"why": "A tab property from before the app had a panel layout: an app reader moves the card into app.panel." }
|
|
],
|
|
"fdsl": [
|
|
{ "file": "fdsl/add.fdsl", "parses": true,
|
|
"why": "The specification's example." },
|
|
{ "file": "fdsl/credential-reference.fdsl", "parses": true,
|
|
"why": "A credential parameter holding a reference, written as the string it is." },
|
|
{ "file": "fdsl/every-form.fdsl", "parses": true,
|
|
"why": "Every statement and source form: groups (nested, named), named handles, each mode, a held wire, lists, an open input, +=, a quoted type and port, a raw string, escapes, parameters over several lines, comments, two statements on one line, a function after the top level's statements (a default, a quoted type, a group in its body, an output) and a call with a constant, an app block." },
|
|
{ "file": "fdsl/function.fdsl", "parses": true,
|
|
"why": "The specification's function example: one function, called twice with constants, one call reading its default." },
|
|
{ "file": "fdsl/fn-without-version.fdsl", "parses": false, "error": "1:5",
|
|
"why": "A function with no version: a function is named name@version." },
|
|
{ "file": "fdsl/version-0.fdsl", "parses": false, "error": "1:6",
|
|
"why": "Version 0: versions count from 1." },
|
|
{ "file": "fdsl/out-outside-a-function.fdsl", "parses": false, "error": "2:1",
|
|
"why": "An out statement at the top level: it gives a function's output, in its body." },
|
|
{ "file": "fdsl/undeclared-output.fdsl", "parses": false, "error": "2:9",
|
|
"why": "An out naming an output the function does not declare." },
|
|
{ "file": "fdsl/function-inside-a-function.fdsl", "parses": false, "error": "2:5",
|
|
"why": "A function defined inside another: functions are defined at the top level." },
|
|
{ "file": "fdsl/input-named-like-a-handle.fdsl", "parses": false, "error": "1:8",
|
|
"why": "An input named n3: the language writes an input by its name where it writes a node by its handle." },
|
|
{ "file": "fdsl/function-defined-twice.fdsl", "parses": false, "error": "2:4",
|
|
"why": "One name and version defined twice." },
|
|
{ "file": "fdsl/separators.fdsl", "parses": true,
|
|
"why": "Empty statements and comments around one node." },
|
|
{ "file": "fdsl/unclosed-string.fdsl", "parses": false, "error": "1:16",
|
|
"why": "A string never closed: the error is where it opened." },
|
|
{ "file": "fdsl/arrow.fdsl", "parses": false, "error": "1:6",
|
|
"why": "An arrow is not a wire: `-` is not punctuation." },
|
|
{ "file": "fdsl/keyword-handle.fdsl", "parses": false, "error": "1:5",
|
|
"why": "A keyword as a handle." },
|
|
{ "file": "fdsl/declared-twice.fdsl", "parses": false, "error": "2:5",
|
|
"why": "A handle declared twice." },
|
|
{ "file": "fdsl/undeclared-source.fdsl", "parses": false, "error": "1:26",
|
|
"why": "A source naming a handle nothing declares." },
|
|
{ "file": "fdsl/edit-statement.fdsl", "parses": false, "error": "2:1",
|
|
"why": "An edit statement (remove) in a graph text: it belongs to the patch language." },
|
|
{ "file": "fdsl/two-modes.fdsl", "parses": false, "error": "2:42",
|
|
"why": "A wire given two modes." },
|
|
{ "file": "fdsl/literal-input.fdsl", "parses": false, "error": "1:21",
|
|
"why": "A number feeding an input: inputs are fed by outputs." },
|
|
{ "file": "fdsl/unknown-escape.fdsl", "parses": false, "error": "1:35",
|
|
"why": "An escape the language does not have." },
|
|
{ "file": "fdsl/key-given-twice.fdsl", "parses": false, "error": "1:35",
|
|
"why": "A parameter given twice." },
|
|
{ "file": "fdsl/unknown-group.fdsl", "parses": false, "error": "1:39",
|
|
"why": "A node in a group nothing declares." },
|
|
{ "file": "fdsl/unclosed-app.fdsl", "parses": false, "error": "2:1",
|
|
"why": "An app block never closed: the error is at its app." },
|
|
{ "file": "fdsl/unknown-modifier.fdsl", "parses": false, "error": "2:35",
|
|
"why": "A wire modifier the language does not have." },
|
|
{ "file": "fdsl/inputs-after-parameters.fdsl", "parses": false, "error": "1:33",
|
|
"why": "Inputs after the parameter block." }
|
|
]
|
|
}
|