@fuaran-ui/conformance 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/lenient/lenient-tonedpill-pill-tag.expected.json +1 -0
- package/corpus/lenient/lenient-tonedpill-pill-tag.json +1 -0
- package/corpus/lenient/lenient-tonedpill-tone-aliases.expected.json +1 -0
- package/corpus/lenient/lenient-tonedpill-tone-aliases.json +1 -0
- package/corpus/lenient/lenient-tonedpill-tonemap-alias.expected.json +1 -0
- package/corpus/lenient/lenient-tonedpill-tonemap-alias.json +1 -0
- package/corpus/manifest.json +41 -0
- package/corpus/nodes/grid-toned-pill.json +1 -0
- package/corpus/reject/reject-tonedpill-unknown-tone.json +1 -0
- package/corpus/schema.json +25 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"shipments","kind":{"$type":"DataGrid","columns":[{"field":"status","kind":{"$type":"TonedPill","field":"status","map":{"Delayed":"Warning"}},"label":"Status"}],"rowKeyField":"status","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"status":{"validity":[true],"values":["Delayed"]}},"schema":[{"name":"status","type":"string"}]}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"shipments","kind":{"$type":"DataGrid","columns":[{"field":"status","kind":{"$type":"Pill","field":"status","map":{"Delayed":"Warning"}},"label":"Status"}],"rowKeyField":"status","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"status":{"validity":[true],"values":["Delayed"]}},"schema":[{"name":"status","type":"string"}]}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"shipments","kind":{"$type":"DataGrid","columns":[{"field":"status","kind":{"$type":"TonedPill","field":"status","map":{"Cancelled":"Critical","On time":"Success"}},"label":"Status"}],"rowKeyField":"status","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"status":{"validity":[true],"values":["Delayed"]}},"schema":[{"name":"status","type":"string"}]}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"shipments","kind":{"$type":"DataGrid","columns":[{"field":"status","kind":{"$type":"TonedPill","default":"Neutral","field":"status","map":{"Cancelled":"Danger","On time":"Positive"}},"label":"Status"}],"rowKeyField":"status","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"status":{"validity":[true],"values":["Delayed"]}},"schema":[{"name":"status","type":"string"}]}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"shipments","kind":{"$type":"DataGrid","columns":[{"field":"status","kind":{"$type":"TonedPill","field":"status","map":{"Delayed":"Warning"}},"label":"Status"}],"rowKeyField":"status","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"status":{"validity":[true],"values":["Delayed"]}},"schema":[{"name":"status","type":"string"}]}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"shipments","kind":{"$type":"DataGrid","columns":[{"field":"status","kind":{"$type":"TonedPill","field":"status","toneMap":{"Delayed":"Warning"}},"label":"Status"}],"rowKeyField":"status","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"status":{"validity":[true],"values":["Delayed"]}},"schema":[{"name":"status","type":"string"}]}}}}
|
package/corpus/manifest.json
CHANGED
|
@@ -728,6 +728,30 @@
|
|
|
728
728
|
"expectedFile": "lenient/lenient-shape-static-envelope-plain-scalars.expected.json",
|
|
729
729
|
"description": "Static-envelope unwrap GENERALISED to every plain-scalar position (2026-07-18 — the 0.1.6 pilot found `emphasis` wrapped after `indeterminate` was fixed site-locally; the confusion is generic). A well-formed envelope at a plain-scalar position has exactly one reading; the encoder still emits bare scalars."
|
|
730
730
|
},
|
|
731
|
+
{
|
|
732
|
+
"id": "lenient-tonedpill-pill-tag",
|
|
733
|
+
"kind": "lenient-accept",
|
|
734
|
+
"decoder": "node",
|
|
735
|
+
"inputFile": "lenient/lenient-tonedpill-pill-tag.json",
|
|
736
|
+
"expectedFile": "lenient/lenient-tonedpill-pill-tag.expected.json",
|
|
737
|
+
"description": "Phase 750 — a `Pill` cell carrying `field` + `map` normalises to `TonedPill`; before this the declarative fields were silently DROPPED into a closure pill (the author's intent lost with no error)"
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"id": "lenient-tonedpill-tone-aliases",
|
|
741
|
+
"kind": "lenient-accept",
|
|
742
|
+
"decoder": "node",
|
|
743
|
+
"inputFile": "lenient/lenient-tonedpill-tone-aliases.json",
|
|
744
|
+
"expectedFile": "lenient/lenient-tonedpill-tone-aliases.expected.json",
|
|
745
|
+
"description": "Phase 750 — the Phase 460 tone aliases apply inside a TonedPill `map` (Danger→Critical, Positive→Success) and in its `default` (Neutral→Default, which then omits)"
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"id": "lenient-tonedpill-tonemap-alias",
|
|
749
|
+
"kind": "lenient-accept",
|
|
750
|
+
"decoder": "node",
|
|
751
|
+
"inputFile": "lenient/lenient-tonedpill-tonemap-alias.json",
|
|
752
|
+
"expectedFile": "lenient/lenient-tonedpill-tonemap-alias.expected.json",
|
|
753
|
+
"description": "Phase 750 — `toneMap` (and `tones`) alias the canonical `map` on a TonedPill cell, the `header`/`title`→`label` field-alias device"
|
|
754
|
+
},
|
|
731
755
|
{
|
|
732
756
|
"id": "lenient-transform-bare-columns",
|
|
733
757
|
"kind": "lenient-accept",
|
|
@@ -1200,6 +1224,14 @@
|
|
|
1200
1224
|
"expectedFile": "nodes/grid-field-named.json",
|
|
1201
1225
|
"description": "Visualisation/Grid (Phase 425 — field-named columns + RowKeyField, closure-free)"
|
|
1202
1226
|
},
|
|
1227
|
+
{
|
|
1228
|
+
"id": "grid-toned-pill",
|
|
1229
|
+
"kind": "node-round-trip",
|
|
1230
|
+
"decoder": "node",
|
|
1231
|
+
"inputFile": "nodes/grid-toned-pill.json",
|
|
1232
|
+
"expectedFile": "nodes/grid-toned-pill.json",
|
|
1233
|
+
"description": "Visualisation/Grid (Phase 750 — TonedPill: value-conditional cell tone declared as a value→tone map)"
|
|
1234
|
+
},
|
|
1203
1235
|
{
|
|
1204
1236
|
"id": "grid-transform",
|
|
1205
1237
|
"kind": "node-round-trip",
|
|
@@ -1939,6 +1971,15 @@
|
|
|
1939
1971
|
"expectedPath": "$.path",
|
|
1940
1972
|
"description": "UpdateProp missing path"
|
|
1941
1973
|
},
|
|
1974
|
+
{
|
|
1975
|
+
"id": "reject-tonedpill-unknown-tone",
|
|
1976
|
+
"kind": "reject",
|
|
1977
|
+
"decoder": "node",
|
|
1978
|
+
"inputFile": "reject/reject-tonedpill-unknown-tone.json",
|
|
1979
|
+
"expectedErrorCode": "UNKNOWN_DU_CASE",
|
|
1980
|
+
"expectedPath": "$.kind.columns[0].kind.map.Delayed",
|
|
1981
|
+
"description": "TonedPill tone-map value outside ToneVariant — the message names the seven legal tones (Phase 750)"
|
|
1982
|
+
},
|
|
1942
1983
|
{
|
|
1943
1984
|
"id": "reject-unknown-binding",
|
|
1944
1985
|
"kind": "reject",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"grid-toned-pill","kind":{"$type":"DataGrid","columns":[{"field":"id","kind":{"$type":"Text"},"label":"Shipment"},{"field":"carrier","kind":{"$type":"TonedPill","field":"carrier","map":{"Meridian":"Info"}},"label":"Carrier"},{"field":"status","kind":{"$type":"TonedPill","default":"Subdued","field":"status","map":{"Cancelled":"Critical","Delayed":"Warning","On time":"Success"}},"label":"Status"}],"rowKeyField":"id","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"carrier":{"validity":[true,true,true],"values":["Northwind","Meridian","Northwind"]},"id":{"validity":[true,true,true],"values":["SHP-1001","SHP-1002","SHP-1003"]},"status":{"validity":[true,true,true],"values":["On time","Delayed","Cancelled"]}},"schema":[{"name":"id","type":"string"},{"name":"carrier","type":"string"},{"name":"status","type":"string"}]}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"g1","kind":{"$type":"DataGrid","columns":[{"field":"status","kind":{"$type":"TonedPill","field":"status","map":{"Delayed":"Urgent"}},"label":"Status"}],"rowKeyField":"status","source":{"$type":"Transform","pipeline":[],"source":{"columns":{"status":{"validity":[true],"values":["Delayed"]}},"schema":[{"name":"status","type":"string"}]}}}}
|
package/corpus/schema.json
CHANGED
|
@@ -1496,6 +1496,31 @@
|
|
|
1496
1496
|
"toneFn"
|
|
1497
1497
|
]
|
|
1498
1498
|
},
|
|
1499
|
+
{
|
|
1500
|
+
"type": "object",
|
|
1501
|
+
"properties": {
|
|
1502
|
+
"$type": {
|
|
1503
|
+
"const": "TonedPill"
|
|
1504
|
+
},
|
|
1505
|
+
"default": {
|
|
1506
|
+
"$ref": "#/$defs/ToneVariant"
|
|
1507
|
+
},
|
|
1508
|
+
"field": {
|
|
1509
|
+
"type": "string"
|
|
1510
|
+
},
|
|
1511
|
+
"map": {
|
|
1512
|
+
"type": "object",
|
|
1513
|
+
"additionalProperties": {
|
|
1514
|
+
"$ref": "#/$defs/ToneVariant"
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
},
|
|
1518
|
+
"required": [
|
|
1519
|
+
"$type",
|
|
1520
|
+
"field",
|
|
1521
|
+
"map"
|
|
1522
|
+
]
|
|
1523
|
+
},
|
|
1499
1524
|
{
|
|
1500
1525
|
"type": "object",
|
|
1501
1526
|
"properties": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fuaran-ui/conformance",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Third-party certification kit for the Fuaran UI wire format — runs any candidate implementation (via a small decode/encode adapter) over the bundled canonical fixture corpus and emits a per-leg pass/fail conformance report naming the corpus version. See CONFORMANCE.md for the certification procedure.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fuaran",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^22.10.2",
|
|
46
|
-
"@fuaran-ui/ops": "0.
|
|
47
|
-
"@fuaran-ui/schema": "0.
|
|
46
|
+
"@fuaran-ui/ops": "0.4.0",
|
|
47
|
+
"@fuaran-ui/schema": "0.4.0"
|
|
48
48
|
},
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public"
|