V2 end-to-end test: 70/76 cases
Browse files- evaluation/v2/README.md +56 -56
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/input.csv +16 -0
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/output/audit.json +38 -0
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/output/corrected.csv +16 -0
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/output/review.html +31 -0
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/reference.csv +16 -0
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/result.json +99 -0
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/review.html +31 -0
- evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/schema.xml +48 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/input.csv +11 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/output/audit.json +27 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/output/corrected.csv +11 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/output/review.html +19 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/reference.csv +11 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/result.json +87 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/review.html +19 -0
- evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/schema.xml +48 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/input.csv +16 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/output/audit.json +27 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/output/corrected.csv +16 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/output/review.html +20 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/reference.csv +16 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/result.json +71 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/review.html +20 -0
- evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/schema.xml +52 -0
evaluation/v2/README.md
CHANGED
|
@@ -2,28 +2,28 @@
|
|
| 2 |
|
| 3 |
Model revision: `913f3efbf4f0557b1ad5ec1693730d8b7535ac58`. Dataset: `602b8a454ca448713d8a5658650d4feaad8d579c`.
|
| 4 |
|
| 5 |
-
|
| 6 |
|
| 7 |
```json
|
| 8 |
{
|
| 9 |
-
"completed":
|
| 10 |
"planned": 76,
|
| 11 |
"totals": {
|
| 12 |
-
"cells":
|
| 13 |
-
"valid_cells":
|
| 14 |
-
"exactly_repaired_cells":
|
| 15 |
"valid_cells_harmed": 0,
|
| 16 |
-
"detected_faulty_cells":
|
| 17 |
"flagged_valid_cells": 1,
|
| 18 |
-
"faulty_cells":
|
| 19 |
"hard_negative_cases": 18,
|
| 20 |
"hard_negative_cases_harmed": 0
|
| 21 |
},
|
| 22 |
"categories": {
|
| 23 |
"text.encoding": {
|
| 24 |
-
"gold_cells":
|
| 25 |
-
"detected_cells":
|
| 26 |
-
"exactly_repaired_cells":
|
| 27 |
},
|
| 28 |
"text.invisible": {
|
| 29 |
"gold_cells": 2,
|
|
@@ -31,9 +31,9 @@ Model revision: `913f3efbf4f0557b1ad5ec1693730d8b7535ac58`. Dataset: `602b8a454c
|
|
| 31 |
"exactly_repaired_cells": 2
|
| 32 |
},
|
| 33 |
"text.spelling": {
|
| 34 |
-
"gold_cells":
|
| 35 |
-
"detected_cells":
|
| 36 |
-
"exactly_repaired_cells":
|
| 37 |
},
|
| 38 |
"format.number": {
|
| 39 |
"gold_cells": 2,
|
|
@@ -66,19 +66,19 @@ Model revision: `913f3efbf4f0557b1ad5ec1693730d8b7535ac58`. Dataset: `602b8a454c
|
|
| 66 |
"exactly_repaired_cells": 3
|
| 67 |
},
|
| 68 |
"schema.type": {
|
| 69 |
-
"gold_cells":
|
| 70 |
"detected_cells": 2,
|
| 71 |
"exactly_repaired_cells": 2
|
| 72 |
},
|
| 73 |
"schema.identifier": {
|
| 74 |
-
"gold_cells":
|
| 75 |
-
"detected_cells":
|
| 76 |
-
"exactly_repaired_cells":
|
| 77 |
},
|
| 78 |
"schema.category": {
|
| 79 |
-
"gold_cells":
|
| 80 |
-
"detected_cells":
|
| 81 |
-
"exactly_repaired_cells":
|
| 82 |
},
|
| 83 |
"consistency.unit": {
|
| 84 |
"gold_cells": 2,
|
|
@@ -113,75 +113,75 @@ Model revision: `913f3efbf4f0557b1ad5ec1693730d8b7535ac58`. Dataset: `602b8a454c
|
|
| 113 |
},
|
| 114 |
"languages": {
|
| 115 |
"ja": {
|
| 116 |
-
"cells":
|
| 117 |
-
"valid_cells":
|
| 118 |
"exactly_repaired_cells": 4,
|
| 119 |
"valid_cells_harmed": 0,
|
| 120 |
-
"detected_faulty_cells":
|
| 121 |
"flagged_valid_cells": 0,
|
| 122 |
-
"faulty_cells":
|
| 123 |
},
|
| 124 |
"de": {
|
| 125 |
-
"cells":
|
| 126 |
-
"valid_cells":
|
| 127 |
-
"exactly_repaired_cells":
|
| 128 |
"valid_cells_harmed": 0,
|
| 129 |
-
"detected_faulty_cells":
|
| 130 |
"flagged_valid_cells": 0,
|
| 131 |
-
"faulty_cells":
|
| 132 |
},
|
| 133 |
"fr": {
|
| 134 |
-
"cells":
|
| 135 |
-
"valid_cells":
|
| 136 |
-
"exactly_repaired_cells":
|
| 137 |
"valid_cells_harmed": 0,
|
| 138 |
-
"detected_faulty_cells":
|
| 139 |
"flagged_valid_cells": 0,
|
| 140 |
-
"faulty_cells":
|
| 141 |
},
|
| 142 |
"nl": {
|
| 143 |
-
"cells":
|
| 144 |
-
"valid_cells":
|
| 145 |
-
"exactly_repaired_cells":
|
| 146 |
"valid_cells_harmed": 0,
|
| 147 |
-
"detected_faulty_cells":
|
| 148 |
"flagged_valid_cells": 1,
|
| 149 |
-
"faulty_cells":
|
| 150 |
},
|
| 151 |
"pl": {
|
| 152 |
-
"cells":
|
| 153 |
-
"valid_cells":
|
| 154 |
-
"exactly_repaired_cells":
|
| 155 |
"valid_cells_harmed": 0,
|
| 156 |
-
"detected_faulty_cells":
|
| 157 |
"flagged_valid_cells": 0,
|
| 158 |
-
"faulty_cells":
|
| 159 |
},
|
| 160 |
"en": {
|
| 161 |
-
"cells":
|
| 162 |
-
"valid_cells":
|
| 163 |
-
"exactly_repaired_cells":
|
| 164 |
"valid_cells_harmed": 0,
|
| 165 |
-
"detected_faulty_cells":
|
| 166 |
"flagged_valid_cells": 0,
|
| 167 |
-
"faulty_cells":
|
| 168 |
},
|
| 169 |
"el": {
|
| 170 |
-
"cells":
|
| 171 |
-
"valid_cells":
|
| 172 |
-
"exactly_repaired_cells":
|
| 173 |
"valid_cells_harmed": 0,
|
| 174 |
-
"detected_faulty_cells":
|
| 175 |
"flagged_valid_cells": 0,
|
| 176 |
-
"faulty_cells":
|
| 177 |
}
|
| 178 |
},
|
| 179 |
"decisions": {
|
| 180 |
-
"applied":
|
| 181 |
"relation contradiction: ambiguous faulty member; unchanged": 6,
|
| 182 |
"abstained: output violates a declared rule": 8,
|
| 183 |
"preserved": 1,
|
| 184 |
-
"abstained: perplexity exceeds validation threshold":
|
| 185 |
},
|
| 186 |
"model_revision": "913f3efbf4f0557b1ad5ec1693730d8b7535ac58",
|
| 187 |
"dataset_revision": "602b8a454ca448713d8a5658650d4feaad8d579c",
|
|
|
|
| 2 |
|
| 3 |
Model revision: `913f3efbf4f0557b1ad5ec1693730d8b7535ac58`. Dataset: `602b8a454ca448713d8a5658650d4feaad8d579c`.
|
| 4 |
|
| 5 |
+
70/76 cases completed. Gold targets/locations are never passed into CSV inference. Thresholds are frozen from validation. This is a representative synthetic panel, not the full test split.
|
| 6 |
|
| 7 |
```json
|
| 8 |
{
|
| 9 |
+
"completed": 70,
|
| 10 |
"planned": 76,
|
| 11 |
"totals": {
|
| 12 |
+
"cells": 7911,
|
| 13 |
+
"valid_cells": 7844,
|
| 14 |
+
"exactly_repaired_cells": 48,
|
| 15 |
"valid_cells_harmed": 0,
|
| 16 |
+
"detected_faulty_cells": 59,
|
| 17 |
"flagged_valid_cells": 1,
|
| 18 |
+
"faulty_cells": 67,
|
| 19 |
"hard_negative_cases": 18,
|
| 20 |
"hard_negative_cases_harmed": 0
|
| 21 |
},
|
| 22 |
"categories": {
|
| 23 |
"text.encoding": {
|
| 24 |
+
"gold_cells": 9,
|
| 25 |
+
"detected_cells": 9,
|
| 26 |
+
"exactly_repaired_cells": 7
|
| 27 |
},
|
| 28 |
"text.invisible": {
|
| 29 |
"gold_cells": 2,
|
|
|
|
| 31 |
"exactly_repaired_cells": 2
|
| 32 |
},
|
| 33 |
"text.spelling": {
|
| 34 |
+
"gold_cells": 9,
|
| 35 |
+
"detected_cells": 9,
|
| 36 |
+
"exactly_repaired_cells": 8
|
| 37 |
},
|
| 38 |
"format.number": {
|
| 39 |
"gold_cells": 2,
|
|
|
|
| 66 |
"exactly_repaired_cells": 3
|
| 67 |
},
|
| 68 |
"schema.type": {
|
| 69 |
+
"gold_cells": 3,
|
| 70 |
"detected_cells": 2,
|
| 71 |
"exactly_repaired_cells": 2
|
| 72 |
},
|
| 73 |
"schema.identifier": {
|
| 74 |
+
"gold_cells": 5,
|
| 75 |
+
"detected_cells": 5,
|
| 76 |
+
"exactly_repaired_cells": 5
|
| 77 |
},
|
| 78 |
"schema.category": {
|
| 79 |
+
"gold_cells": 11,
|
| 80 |
+
"detected_cells": 11,
|
| 81 |
+
"exactly_repaired_cells": 11
|
| 82 |
},
|
| 83 |
"consistency.unit": {
|
| 84 |
"gold_cells": 2,
|
|
|
|
| 113 |
},
|
| 114 |
"languages": {
|
| 115 |
"ja": {
|
| 116 |
+
"cells": 697,
|
| 117 |
+
"valid_cells": 689,
|
| 118 |
"exactly_repaired_cells": 4,
|
| 119 |
"valid_cells_harmed": 0,
|
| 120 |
+
"detected_faulty_cells": 6,
|
| 121 |
"flagged_valid_cells": 0,
|
| 122 |
+
"faulty_cells": 8
|
| 123 |
},
|
| 124 |
"de": {
|
| 125 |
+
"cells": 1240,
|
| 126 |
+
"valid_cells": 1231,
|
| 127 |
+
"exactly_repaired_cells": 7,
|
| 128 |
"valid_cells_harmed": 0,
|
| 129 |
+
"detected_faulty_cells": 9,
|
| 130 |
"flagged_valid_cells": 0,
|
| 131 |
+
"faulty_cells": 9
|
| 132 |
},
|
| 133 |
"fr": {
|
| 134 |
+
"cells": 1670,
|
| 135 |
+
"valid_cells": 1656,
|
| 136 |
+
"exactly_repaired_cells": 12,
|
| 137 |
"valid_cells_harmed": 0,
|
| 138 |
+
"detected_faulty_cells": 13,
|
| 139 |
"flagged_valid_cells": 0,
|
| 140 |
+
"faulty_cells": 14
|
| 141 |
},
|
| 142 |
"nl": {
|
| 143 |
+
"cells": 984,
|
| 144 |
+
"valid_cells": 976,
|
| 145 |
+
"exactly_repaired_cells": 6,
|
| 146 |
"valid_cells_harmed": 0,
|
| 147 |
+
"detected_faulty_cells": 7,
|
| 148 |
"flagged_valid_cells": 1,
|
| 149 |
+
"faulty_cells": 8
|
| 150 |
},
|
| 151 |
"pl": {
|
| 152 |
+
"cells": 1534,
|
| 153 |
+
"valid_cells": 1523,
|
| 154 |
+
"exactly_repaired_cells": 9,
|
| 155 |
"valid_cells_harmed": 0,
|
| 156 |
+
"detected_faulty_cells": 9,
|
| 157 |
"flagged_valid_cells": 0,
|
| 158 |
+
"faulty_cells": 11
|
| 159 |
},
|
| 160 |
"en": {
|
| 161 |
+
"cells": 1188,
|
| 162 |
+
"valid_cells": 1178,
|
| 163 |
+
"exactly_repaired_cells": 6,
|
| 164 |
"valid_cells_harmed": 0,
|
| 165 |
+
"detected_faulty_cells": 9,
|
| 166 |
"flagged_valid_cells": 0,
|
| 167 |
+
"faulty_cells": 10
|
| 168 |
},
|
| 169 |
"el": {
|
| 170 |
+
"cells": 598,
|
| 171 |
+
"valid_cells": 591,
|
| 172 |
+
"exactly_repaired_cells": 4,
|
| 173 |
"valid_cells_harmed": 0,
|
| 174 |
+
"detected_faulty_cells": 6,
|
| 175 |
"flagged_valid_cells": 0,
|
| 176 |
+
"faulty_cells": 7
|
| 177 |
}
|
| 178 |
},
|
| 179 |
"decisions": {
|
| 180 |
+
"applied": 49,
|
| 181 |
"relation contradiction: ambiguous faulty member; unchanged": 6,
|
| 182 |
"abstained: output violates a declared rule": 8,
|
| 183 |
"preserved": 1,
|
| 184 |
+
"abstained: perplexity exceeds validation threshold": 2
|
| 185 |
},
|
| 186 |
"model_revision": "913f3efbf4f0557b1ad5ec1693730d8b7535ac58",
|
| 187 |
"dataset_revision": "602b8a454ca448713d8a5658650d4feaad8d579c",
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/input.csv
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Record code,External numeric code,Item,Reference valuation,Service class,Item count,Unit price,Line cost,Storage zone,Registered display name,Handling note
|
| 2 |
+
RC-000000,00000100,Steel hinge,"1 000,50",A,2,1.25,2.50,A,luma,
|
| 3 |
+
RC-000001,00000101,Cotton belt,1000.50,B,3,1.38,4.14,B,LUMA," ""Check the attached card before moving Cotton belt; station 2 handles this record.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000009,00000109,Steel hinge,1000.50,A,11,2.42,26.62,A,LUMA," ""Check the attached card before moving Steel hinge; station 3 handles this record.""
|
| 6 |
+
10 "
|
| 7 |
+
RC-000030,00000130,Steel hinge,"1 000,50",A,10,5.15,51.50,A,Luma 東京,Check the attached card before moving Steel hinge; station 3 handles this record.
|
| 8 |
+
RC-000033,00000133,Steel hinge,1000.50,A,2,5.54,11.08,A,LUMA," ""Check the attached card before moving Steel hinge; station 6 handles this record.""
|
| 9 |
+
34 "
|
| 10 |
+
RC-000034,00000134,Cotton belt,"1 000,50",B,3,5.67,17.01,B,Luma 東京,Check the attached card before moving Cotton belt; station 7 handles this record.
|
| 11 |
+
RC-000035,00000135,Rubber foo,1000.50,C?,4,5.8,23.2,C,Luma Atelier,Check the attached card before moving Rubber foot; station 1 handles this record.
|
| 12 |
+
RC-000036,00000136,Steel hinge,"1 000,50",A,5,5.93,29.65,A,luma,
|
| 13 |
+
RC-000037,00000137,Cotton belt,1000.50,B,6,6.06,36.36,B,LUMA," ""Check the attached card before moving Cotton belt; station 3 handles this record.""
|
| 14 |
+
38 "
|
| 15 |
+
RC-000039,00000139,Brass fitting,1000.50,D,8,6.32,50.56,D,Luma Atelier,Check the attached card before moving Brass fitting; station 5 handles this record.
|
| 16 |
+
RC-000040,00000140,Cotton belt,"1 000,50",B,9,6.45,58.05,B,luma,
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/output/audit.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"metrics": {
|
| 3 |
+
"device": "cuda",
|
| 4 |
+
"rows": 11,
|
| 5 |
+
"cells": 121,
|
| 6 |
+
"threshold": 0.9,
|
| 7 |
+
"load_seconds": 0.0,
|
| 8 |
+
"inference_seconds": 0.65,
|
| 9 |
+
"cells_per_second": 186.69,
|
| 10 |
+
"peak_gpu_bytes": 1942690816,
|
| 11 |
+
"detected_spans": 2,
|
| 12 |
+
"changed_cells": 2
|
| 13 |
+
},
|
| 14 |
+
"proposals": [
|
| 15 |
+
{
|
| 16 |
+
"row": 6,
|
| 17 |
+
"column": 2,
|
| 18 |
+
"start": 10,
|
| 19 |
+
"end": 10,
|
| 20 |
+
"replacement": "Rubber foot",
|
| 21 |
+
"category": "text.spelling",
|
| 22 |
+
"perplexity": 1.0003767924341702,
|
| 23 |
+
"status": "applied",
|
| 24 |
+
"route": "model"
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"row": 6,
|
| 28 |
+
"column": 4,
|
| 29 |
+
"start": 0,
|
| 30 |
+
"end": 2,
|
| 31 |
+
"replacement": "C",
|
| 32 |
+
"category": "schema.category",
|
| 33 |
+
"perplexity": 1.0000204442890461,
|
| 34 |
+
"status": "applied",
|
| 35 |
+
"route": "model"
|
| 36 |
+
}
|
| 37 |
+
]
|
| 38 |
+
}
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/output/corrected.csv
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Record code,External numeric code,Item,Reference valuation,Service class,Item count,Unit price,Line cost,Storage zone,Registered display name,Handling note
|
| 2 |
+
RC-000000,00000100,Steel hinge,"1 000,50",A,2,1.25,2.50,A,luma,
|
| 3 |
+
RC-000001,00000101,Cotton belt,1000.50,B,3,1.38,4.14,B,LUMA," ""Check the attached card before moving Cotton belt; station 2 handles this record.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000009,00000109,Steel hinge,1000.50,A,11,2.42,26.62,A,LUMA," ""Check the attached card before moving Steel hinge; station 3 handles this record.""
|
| 6 |
+
10 "
|
| 7 |
+
RC-000030,00000130,Steel hinge,"1 000,50",A,10,5.15,51.50,A,Luma 東京,Check the attached card before moving Steel hinge; station 3 handles this record.
|
| 8 |
+
RC-000033,00000133,Steel hinge,1000.50,A,2,5.54,11.08,A,LUMA," ""Check the attached card before moving Steel hinge; station 6 handles this record.""
|
| 9 |
+
34 "
|
| 10 |
+
RC-000034,00000134,Cotton belt,"1 000,50",B,3,5.67,17.01,B,Luma 東京,Check the attached card before moving Cotton belt; station 7 handles this record.
|
| 11 |
+
RC-000035,00000135,Rubber foot,1000.50,C,4,5.8,23.2,C,Luma Atelier,Check the attached card before moving Rubber foot; station 1 handles this record.
|
| 12 |
+
RC-000036,00000136,Steel hinge,"1 000,50",A,5,5.93,29.65,A,luma,
|
| 13 |
+
RC-000037,00000137,Cotton belt,1000.50,B,6,6.06,36.36,B,LUMA," ""Check the attached card before moving Cotton belt; station 3 handles this record.""
|
| 14 |
+
38 "
|
| 15 |
+
RC-000039,00000139,Brass fitting,1000.50,D,8,6.32,50.56,D,Luma Atelier,Check the attached card before moving Brass fitting; station 5 handles this record.
|
| 16 |
+
RC-000040,00000140,Cotton belt,"1 000,50",B,9,6.45,58.05,B,luma,
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/output/review.html
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><meta charset="utf-8"><title>TabFix — end-to-end CSV review</title><style>
|
| 2 |
+
.cards{display:flex;gap:16px;flex-wrap:wrap}.card{background:white;padding:18px 24px;border-radius:12px;min-width:130px}.card strong{display:block;font-size:32px}.card span{color:#536175}body{font:16px system-ui;background:#f3f5f8;color:#172238;margin:36px}h1{font-size:30px}p{max-width:950px;line-height:1.6}table{border-collapse:collapse;width:100%;background:white;margin:20px 0}td,th{padding:12px;text-align:left;border-bottom:1px solid #dbe1e8;white-space:pre-wrap;overflow-wrap:anywhere}th{background:#e6ebf2}small{display:block;color:#536175;margin-top:6px}.good{color:#15704b}.bad{color:#b13a37}table.full{min-width:1050px}.changed{background:#fff0c7}.scroll{overflow:auto}pre{white-space:pre-wrap;background:white;padding:20px}details{margin-top:24px}</style>
|
| 3 |
+
<h1>Does TabFix fix this CSV?</h1><p>Actual CSV → schema and context → predicted error locations → generated replacements → corrected CSV. The clean reference is used only after inference. No gold error locations or replacement text are supplied to the model. Row numbers below count data rows, excluding the header.</p>
|
| 4 |
+
<div class="cards"><div class="card"><strong>121</strong><span>Cells scanned</span></div><div class="card"><strong>—</strong><span>Errors in input</span></div><div class="card"><strong>—</strong><span>Errors repaired</span></div><div class="card"><strong>—</strong><span>Valid cells changed</span></div></div><p>CSV inference review · Threshold 0.9 · CPU inference 0.65 seconds (model loading excluded).</p><h2>Errors and proposed changes</h2><div class="scroll"><table><tr><th>Row</th><th>Column</th><th>Input</th><th>Model output</th><th>Reference</th><th>Result</th></tr><tr><td>7</td><td>Item</td><td>"Rubber foo"</td><td>"Rubber foot"</td><td>—</td><td class="bad">Changed<small>text.spelling</small></td></tr><tr><td>7</td><td>Service class</td><td>"C?"</td><td>"C"</td><td>—</td><td class="bad">Changed<small>schema.category</small></td></tr></table></div><p>Strings are quoted to make spaces and empty values visible. Yellow cells below were changed. All other cells are included so unwanted edits remain visible.</p><h2>Complete model output</h2><div class="scroll"><table class="full"><tr><th>Data row</th><th>Record code</th><th>External numeric code</th><th>Item</th><th>Reference valuation</th><th>Service class</th><th>Item count</th><th>Unit price</th><th>Line cost</th><th>Storage zone</th><th>Registered display name</th><th>Handling note</th></tr><tr><td>1</td><td class="">RC-000000</td><td class="">00000100</td><td class="">Steel hinge</td><td class="">1 000,50</td><td class="">A</td><td class="">2</td><td class="">1.25</td><td class="">2.50</td><td class="">A</td><td class="">luma</td><td class=""></td></tr><tr><td>2</td><td class="">RC-000001</td><td class="">00000101</td><td class="">Cotton belt</td><td class="">1000.50</td><td class="">B</td><td class="">3</td><td class="">1.38</td><td class="">4.14</td><td class="">B</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Cotton belt; station 2 handles this record."
|
| 5 |
+
2 </td></tr><tr><td>3</td><td class="">RC-000009</td><td class="">00000109</td><td class="">Steel hinge</td><td class="">1000.50</td><td class="">A</td><td class="">11</td><td class="">2.42</td><td class="">26.62</td><td class="">A</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Steel hinge; station 3 handles this record."
|
| 6 |
+
10 </td></tr><tr><td>4</td><td class="">RC-000030</td><td class="">00000130</td><td class="">Steel hinge</td><td class="">1 000,50</td><td class="">A</td><td class="">10</td><td class="">5.15</td><td class="">51.50</td><td class="">A</td><td class="">Luma 東京</td><td class="">Check the attached card before moving Steel hinge; station 3 handles this record.</td></tr><tr><td>5</td><td class="">RC-000033</td><td class="">00000133</td><td class="">Steel hinge</td><td class="">1000.50</td><td class="">A</td><td class="">2</td><td class="">5.54</td><td class="">11.08</td><td class="">A</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Steel hinge; station 6 handles this record."
|
| 7 |
+
34 </td></tr><tr><td>6</td><td class="">RC-000034</td><td class="">00000134</td><td class="">Cotton belt</td><td class="">1 000,50</td><td class="">B</td><td class="">3</td><td class="">5.67</td><td class="">17.01</td><td class="">B</td><td class="">Luma 東京</td><td class="">Check the attached card before moving Cotton belt; station 7 handles this record.</td></tr><tr><td>7</td><td class="">RC-000035</td><td class="">00000135</td><td class="changed">Rubber foot</td><td class="">1000.50</td><td class="changed">C</td><td class="">4</td><td class="">5.8</td><td class="">23.2</td><td class="">C</td><td class="">Luma Atelier</td><td class="">Check the attached card before moving Rubber foot; station 1 handles this record.</td></tr><tr><td>8</td><td class="">RC-000036</td><td class="">00000136</td><td class="">Steel hinge</td><td class="">1 000,50</td><td class="">A</td><td class="">5</td><td class="">5.93</td><td class="">29.65</td><td class="">A</td><td class="">luma</td><td class=""></td></tr><tr><td>9</td><td class="">RC-000037</td><td class="">00000137</td><td class="">Cotton belt</td><td class="">1000.50</td><td class="">B</td><td class="">6</td><td class="">6.06</td><td class="">36.36</td><td class="">B</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Cotton belt; station 3 handles this record."
|
| 8 |
+
38 </td></tr><tr><td>10</td><td class="">RC-000039</td><td class="">00000139</td><td class="">Brass fitting</td><td class="">1000.50</td><td class="">D</td><td class="">8</td><td class="">6.32</td><td class="">50.56</td><td class="">D</td><td class="">Luma Atelier</td><td class="">Check the attached card before moving Brass fitting; station 5 handles this record.</td></tr><tr><td>11</td><td class="">RC-000040</td><td class="">00000140</td><td class="">Cotton belt</td><td class="">1 000,50</td><td class="">B</td><td class="">9</td><td class="">6.45</td><td class="">58.05</td><td class="">B</td><td class="">luma</td><td class=""></td></tr></table></div><details><summary>Every detection and application decision</summary><pre>[
|
| 9 |
+
{
|
| 10 |
+
"row": 6,
|
| 11 |
+
"column": 2,
|
| 12 |
+
"start": 10,
|
| 13 |
+
"end": 10,
|
| 14 |
+
"replacement": "Rubber foot",
|
| 15 |
+
"category": "text.spelling",
|
| 16 |
+
"perplexity": 1.0003767924341702,
|
| 17 |
+
"status": "applied",
|
| 18 |
+
"route": "model"
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"row": 6,
|
| 22 |
+
"column": 4,
|
| 23 |
+
"start": 0,
|
| 24 |
+
"end": 2,
|
| 25 |
+
"replacement": "C",
|
| 26 |
+
"category": "schema.category",
|
| 27 |
+
"perplexity": 1.0000204442890461,
|
| 28 |
+
"status": "applied",
|
| 29 |
+
"route": "model"
|
| 30 |
+
}
|
| 31 |
+
]</pre></details>
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/reference.csv
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Record code,External numeric code,Item,Reference valuation,Service class,Item count,Unit price,Line cost,Storage zone,Registered display name,Handling note
|
| 2 |
+
RC-000000,00000100,Steel hinge,"1 000,50",A,2,1.25,2.50,A,luma,
|
| 3 |
+
RC-000001,00000101,Cotton belt,1000.50,B,3,1.38,4.14,B,LUMA," ""Check the attached card before moving Cotton belt; station 2 handles this record.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000009,00000109,Steel hinge,1000.50,A,11,2.42,26.62,A,LUMA," ""Check the attached card before moving Steel hinge; station 3 handles this record.""
|
| 6 |
+
10 "
|
| 7 |
+
RC-000030,00000130,Steel hinge,"1 000,50",A,10,5.15,51.50,A,Luma 東京,Check the attached card before moving Steel hinge; station 3 handles this record.
|
| 8 |
+
RC-000033,00000133,Steel hinge,1000.50,A,2,5.54,11.08,A,LUMA," ""Check the attached card before moving Steel hinge; station 6 handles this record.""
|
| 9 |
+
34 "
|
| 10 |
+
RC-000034,00000134,Cotton belt,"1 000,50",B,3,5.67,17.01,B,Luma 東京,Check the attached card before moving Cotton belt; station 7 handles this record.
|
| 11 |
+
RC-000035,00000135,Rubber foot,1000.50,C,4,5.8,23.2,C,Luma Atelier,Check the attached card before moving Rubber foot; station 1 handles this record.
|
| 12 |
+
RC-000036,00000136,Steel hinge,"1 000,50",A,5,5.93,29.65,A,luma,
|
| 13 |
+
RC-000037,00000137,Cotton belt,1000.50,B,6,6.06,36.36,B,LUMA," ""Check the attached card before moving Cotton belt; station 3 handles this record.""
|
| 14 |
+
38 "
|
| 15 |
+
RC-000039,00000139,Brass fitting,1000.50,D,8,6.32,50.56,D,Luma Atelier,Check the attached card before moving Brass fitting; station 5 handles this record.
|
| 16 |
+
RC-000040,00000140,Cotton belt,"1 000,50",B,9,6.45,58.05,B,luma,
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/result.json
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open",
|
| 3 |
+
"language": "en",
|
| 4 |
+
"roles": [
|
| 5 |
+
"open_positive:text.spelling"
|
| 6 |
+
],
|
| 7 |
+
"counts": {
|
| 8 |
+
"cells": 121,
|
| 9 |
+
"valid_cells": 119,
|
| 10 |
+
"exactly_repaired_cells": 2,
|
| 11 |
+
"valid_cells_harmed": 0,
|
| 12 |
+
"detected_faulty_cells": 2,
|
| 13 |
+
"flagged_valid_cells": 0,
|
| 14 |
+
"faulty_cells": 2
|
| 15 |
+
},
|
| 16 |
+
"categories": {
|
| 17 |
+
"text.encoding": {},
|
| 18 |
+
"text.invisible": {},
|
| 19 |
+
"text.spelling": {
|
| 20 |
+
"gold_cells": 1,
|
| 21 |
+
"detected_cells": 1,
|
| 22 |
+
"exactly_repaired_cells": 1
|
| 23 |
+
},
|
| 24 |
+
"format.number": {},
|
| 25 |
+
"format.date": {},
|
| 26 |
+
"format.boolean": {},
|
| 27 |
+
"format.case": {},
|
| 28 |
+
"format.whitespace": {},
|
| 29 |
+
"format.unit": {},
|
| 30 |
+
"schema.type": {},
|
| 31 |
+
"schema.identifier": {},
|
| 32 |
+
"schema.category": {
|
| 33 |
+
"gold_cells": 1,
|
| 34 |
+
"detected_cells": 1,
|
| 35 |
+
"exactly_repaired_cells": 1
|
| 36 |
+
},
|
| 37 |
+
"consistency.unit": {},
|
| 38 |
+
"consistency.dependency": {},
|
| 39 |
+
"consistency.temporal": {},
|
| 40 |
+
"missing.required": {},
|
| 41 |
+
"missing.conditional": {},
|
| 42 |
+
"structure.shift": {}
|
| 43 |
+
},
|
| 44 |
+
"decisions": {
|
| 45 |
+
"applied": 2
|
| 46 |
+
},
|
| 47 |
+
"inference_seconds": 0.65,
|
| 48 |
+
"details": [
|
| 49 |
+
{
|
| 50 |
+
"row": 6,
|
| 51 |
+
"column": "Item",
|
| 52 |
+
"original": "Rubber foo",
|
| 53 |
+
"prediction": "Rubber foot",
|
| 54 |
+
"reference": "Rubber foot",
|
| 55 |
+
"categories": [
|
| 56 |
+
"text.spelling"
|
| 57 |
+
],
|
| 58 |
+
"status": "repaired",
|
| 59 |
+
"decisions": [
|
| 60 |
+
{
|
| 61 |
+
"row": 6,
|
| 62 |
+
"column": 2,
|
| 63 |
+
"start": 10,
|
| 64 |
+
"end": 10,
|
| 65 |
+
"replacement": "Rubber foot",
|
| 66 |
+
"category": "text.spelling",
|
| 67 |
+
"perplexity": 1.0003767924341702,
|
| 68 |
+
"status": "applied",
|
| 69 |
+
"route": "model"
|
| 70 |
+
}
|
| 71 |
+
]
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"row": 6,
|
| 75 |
+
"column": "Service class",
|
| 76 |
+
"original": "C?",
|
| 77 |
+
"prediction": "C",
|
| 78 |
+
"reference": "C",
|
| 79 |
+
"categories": [
|
| 80 |
+
"schema.category"
|
| 81 |
+
],
|
| 82 |
+
"status": "repaired",
|
| 83 |
+
"decisions": [
|
| 84 |
+
{
|
| 85 |
+
"row": 6,
|
| 86 |
+
"column": 4,
|
| 87 |
+
"start": 0,
|
| 88 |
+
"end": 2,
|
| 89 |
+
"replacement": "C",
|
| 90 |
+
"category": "schema.category",
|
| 91 |
+
"perplexity": 1.0000204442890461,
|
| 92 |
+
"status": "applied",
|
| 93 |
+
"route": "model"
|
| 94 |
+
}
|
| 95 |
+
]
|
| 96 |
+
}
|
| 97 |
+
],
|
| 98 |
+
"hard_negative": false
|
| 99 |
+
}
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/review.html
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><meta charset="utf-8"><title>TabFix — end-to-end CSV review</title><style>
|
| 2 |
+
.cards{display:flex;gap:16px;flex-wrap:wrap}.card{background:white;padding:18px 24px;border-radius:12px;min-width:130px}.card strong{display:block;font-size:32px}.card span{color:#536175}body{font:16px system-ui;background:#f3f5f8;color:#172238;margin:36px}h1{font-size:30px}p{max-width:950px;line-height:1.6}table{border-collapse:collapse;width:100%;background:white;margin:20px 0}td,th{padding:12px;text-align:left;border-bottom:1px solid #dbe1e8;white-space:pre-wrap;overflow-wrap:anywhere}th{background:#e6ebf2}small{display:block;color:#536175;margin-top:6px}.good{color:#15704b}.bad{color:#b13a37}table.full{min-width:1050px}.changed{background:#fff0c7}.scroll{overflow:auto}pre{white-space:pre-wrap;background:white;padding:20px}details{margin-top:24px}</style>
|
| 3 |
+
<h1>Does TabFix fix this CSV?</h1><p>Actual CSV → schema and context → predicted error locations → generated replacements → corrected CSV. The clean reference is used only after inference. No gold error locations or replacement text are supplied to the model. Row numbers below count data rows, excluding the header.</p>
|
| 4 |
+
<div class="cards"><div class="card"><strong>121</strong><span>Cells scanned</span></div><div class="card"><strong>2</strong><span>Errors in input</span></div><div class="card"><strong>2</strong><span>Errors repaired</span></div><div class="card"><strong>0</strong><span>Valid cells changed</span></div></div><p>CSV inference review · Threshold 0.9 · CPU inference 0.65 seconds (model loading excluded).</p><h2>Errors and proposed changes</h2><div class="scroll"><table><tr><th>Row</th><th>Column</th><th>Input</th><th>Model output</th><th>Reference</th><th>Result</th></tr><tr><td>7</td><td>Item</td><td>"Rubber foo"</td><td>"Rubber foot"</td><td>"Rubber foot"</td><td class="good">Repaired<small>text.spelling</small></td></tr><tr><td>7</td><td>Service class</td><td>"C?"</td><td>"C"</td><td>"C"</td><td class="good">Repaired<small>schema.category</small></td></tr></table></div><p>Strings are quoted to make spaces and empty values visible. Yellow cells below were changed. All other cells are included so unwanted edits remain visible.</p><h2>Complete model output</h2><div class="scroll"><table class="full"><tr><th>Data row</th><th>Record code</th><th>External numeric code</th><th>Item</th><th>Reference valuation</th><th>Service class</th><th>Item count</th><th>Unit price</th><th>Line cost</th><th>Storage zone</th><th>Registered display name</th><th>Handling note</th></tr><tr><td>1</td><td class="">RC-000000</td><td class="">00000100</td><td class="">Steel hinge</td><td class="">1 000,50</td><td class="">A</td><td class="">2</td><td class="">1.25</td><td class="">2.50</td><td class="">A</td><td class="">luma</td><td class=""></td></tr><tr><td>2</td><td class="">RC-000001</td><td class="">00000101</td><td class="">Cotton belt</td><td class="">1000.50</td><td class="">B</td><td class="">3</td><td class="">1.38</td><td class="">4.14</td><td class="">B</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Cotton belt; station 2 handles this record."
|
| 5 |
+
2 </td></tr><tr><td>3</td><td class="">RC-000009</td><td class="">00000109</td><td class="">Steel hinge</td><td class="">1000.50</td><td class="">A</td><td class="">11</td><td class="">2.42</td><td class="">26.62</td><td class="">A</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Steel hinge; station 3 handles this record."
|
| 6 |
+
10 </td></tr><tr><td>4</td><td class="">RC-000030</td><td class="">00000130</td><td class="">Steel hinge</td><td class="">1 000,50</td><td class="">A</td><td class="">10</td><td class="">5.15</td><td class="">51.50</td><td class="">A</td><td class="">Luma 東京</td><td class="">Check the attached card before moving Steel hinge; station 3 handles this record.</td></tr><tr><td>5</td><td class="">RC-000033</td><td class="">00000133</td><td class="">Steel hinge</td><td class="">1000.50</td><td class="">A</td><td class="">2</td><td class="">5.54</td><td class="">11.08</td><td class="">A</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Steel hinge; station 6 handles this record."
|
| 7 |
+
34 </td></tr><tr><td>6</td><td class="">RC-000034</td><td class="">00000134</td><td class="">Cotton belt</td><td class="">1 000,50</td><td class="">B</td><td class="">3</td><td class="">5.67</td><td class="">17.01</td><td class="">B</td><td class="">Luma 東京</td><td class="">Check the attached card before moving Cotton belt; station 7 handles this record.</td></tr><tr><td>7</td><td class="">RC-000035</td><td class="">00000135</td><td class="changed">Rubber foot</td><td class="">1000.50</td><td class="changed">C</td><td class="">4</td><td class="">5.8</td><td class="">23.2</td><td class="">C</td><td class="">Luma Atelier</td><td class="">Check the attached card before moving Rubber foot; station 1 handles this record.</td></tr><tr><td>8</td><td class="">RC-000036</td><td class="">00000136</td><td class="">Steel hinge</td><td class="">1 000,50</td><td class="">A</td><td class="">5</td><td class="">5.93</td><td class="">29.65</td><td class="">A</td><td class="">luma</td><td class=""></td></tr><tr><td>9</td><td class="">RC-000037</td><td class="">00000137</td><td class="">Cotton belt</td><td class="">1000.50</td><td class="">B</td><td class="">6</td><td class="">6.06</td><td class="">36.36</td><td class="">B</td><td class="">LUMA</td><td class=""> "Check the attached card before moving Cotton belt; station 3 handles this record."
|
| 8 |
+
38 </td></tr><tr><td>10</td><td class="">RC-000039</td><td class="">00000139</td><td class="">Brass fitting</td><td class="">1000.50</td><td class="">D</td><td class="">8</td><td class="">6.32</td><td class="">50.56</td><td class="">D</td><td class="">Luma Atelier</td><td class="">Check the attached card before moving Brass fitting; station 5 handles this record.</td></tr><tr><td>11</td><td class="">RC-000040</td><td class="">00000140</td><td class="">Cotton belt</td><td class="">1 000,50</td><td class="">B</td><td class="">9</td><td class="">6.45</td><td class="">58.05</td><td class="">B</td><td class="">luma</td><td class=""></td></tr></table></div><details><summary>Every detection and application decision</summary><pre>[
|
| 9 |
+
{
|
| 10 |
+
"row": 6,
|
| 11 |
+
"column": 2,
|
| 12 |
+
"start": 10,
|
| 13 |
+
"end": 10,
|
| 14 |
+
"replacement": "Rubber foot",
|
| 15 |
+
"category": "text.spelling",
|
| 16 |
+
"perplexity": 1.0003767924341702,
|
| 17 |
+
"status": "applied",
|
| 18 |
+
"route": "model"
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"row": 6,
|
| 22 |
+
"column": 4,
|
| 23 |
+
"start": 0,
|
| 24 |
+
"end": 2,
|
| 25 |
+
"replacement": "C",
|
| 26 |
+
"category": "schema.category",
|
| 27 |
+
"perplexity": 1.0000204442890461,
|
| 28 |
+
"status": "applied",
|
| 29 |
+
"route": "model"
|
| 30 |
+
}
|
| 31 |
+
]</pre></details>
|
evaluation/v2/cases/0483520cd0f203c1d5e27d890f1760972c94dacfee0af68878d635d71248bece-open/schema.xml
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<schema>
|
| 2 |
+
<column index="0" name="Record code" type="identifier" language="en" nullable="forbidden" key="id">
|
| 3 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 4 |
+
<constraints encoding="json">{"case":"upper","pattern":"[A-Z]{2}-\\d{6}","trimmed":true}</constraints>
|
| 5 |
+
</column>
|
| 6 |
+
<column index="1" name="External numeric code" type="identifier" language="en" nullable="forbidden" key="external_code">
|
| 7 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 8 |
+
<constraints encoding="json">{"pattern":"\\d{8}"}</constraints>
|
| 9 |
+
</column>
|
| 10 |
+
<column index="2" name="Item" type="string" language="en" nullable="forbidden" key="item">
|
| 11 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 12 |
+
<constraints encoding="json">{"trimmed": true}</constraints>
|
| 13 |
+
</column>
|
| 14 |
+
<column index="3" name="Reference valuation" type="decimal" language="en" nullable="forbidden" key="valuation">
|
| 15 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 16 |
+
<constraints encoding="json">{"accepted_representations":["1 000,50","1000.50"]}</constraints>
|
| 17 |
+
</column>
|
| 18 |
+
<column index="4" name="Service class" type="category" language="en" nullable="forbidden" key="service">
|
| 19 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 20 |
+
<constraints encoding="json">{"enum":["A","B","C","D"]}</constraints>
|
| 21 |
+
</column>
|
| 22 |
+
<column index="5" name="Item count" type="integer" language="en" nullable="forbidden" key="count">
|
| 23 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 24 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 25 |
+
</column>
|
| 26 |
+
<column index="6" name="Unit price" type="decimal" language="en" nullable="forbidden" key="unit_price">
|
| 27 |
+
<accepted_formats encoding="json">["decimal_dot"]</accepted_formats>
|
| 28 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 29 |
+
</column>
|
| 30 |
+
<column index="7" name="Line cost" type="decimal" language="en" nullable="forbidden" key="cost">
|
| 31 |
+
<accepted_formats encoding="json">["decimal_dot"]</accepted_formats>
|
| 32 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 33 |
+
</column>
|
| 34 |
+
<column index="8" name="Storage zone" type="category" language="en" nullable="forbidden" key="storage">
|
| 35 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 36 |
+
<constraints encoding="json">{"enum":["A","B","C","D"]}</constraints>
|
| 37 |
+
</column>
|
| 38 |
+
<column index="9" name="Registered display name" type="string" language="en" nullable="forbidden" key="display">
|
| 39 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 40 |
+
<constraints encoding="json">{"case_sensitive":true,"enum":["luma","LUMA","Luma 東京","Luma Atelier"],"whitespace_policy":"preserve"}</constraints>
|
| 41 |
+
</column>
|
| 42 |
+
<column index="10" name="Handling note" type="string" language="en" nullable="allowed" key="note">
|
| 43 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 44 |
+
<constraints encoding="json">{"embedded_delimiters_allowed":true,"whitespace_policy":"preserve"}</constraints>
|
| 45 |
+
</column>
|
| 46 |
+
<relations encoding="json">[["lookup","item","service"],["multiply","count","unit_price","cost"]]</relations>
|
| 47 |
+
<functional_dependencies encoding="json">{"service":{"Brass fitting":"D","Cotton belt":"B","Rubber foot":"C","Steel hinge":"A"}}</functional_dependencies>
|
| 48 |
+
</schema>
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/input.csv
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Kod rekordu,Zewnętrzny kod cyfrowy,Pozycja,Wartość referencyjna,Klasa usługi,Liczba sztuk,Cena jednostkowa,Koszt pozycji,Strefa magazynowania,Zarejestrowana nazwa,Uwagi obsługi
|
| 2 |
+
RC-000000,00000100,Zawias stalow,"1 000,50x",A,2,1.25,2.50,A,luma,
|
| 3 |
+
RC-000001,00000101,Pas bawełniany,1000.50,B,3,1.38,4.14,B,LUMA," ""Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000002,00000102,Stopka gumowa,"1 000,50",C,4,1.51,6.04,C,Luma 東京,Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.
|
| 6 |
+
RC-000008,00000108,Stopka gumowa,"1 000,50",C,10,2.29,22.90,C,luma,
|
| 7 |
+
RC-000010,00000110,Pas bawełniany,"1 000,50",B,12,2.55,30.60,B,Luma 東京,Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 4 obsługuje ten rekord.
|
| 8 |
+
RC-000029,00000129,Stopka gumowa,1000.50,C,9,5.02,45.18,C,LUMA," ""Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord.""
|
| 9 |
+
30 "
|
| 10 |
+
RC-000037,00000137,Pas bawełniany,1000.50,B,6,6.06,36.36,B,LUMA," ""Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.""
|
| 11 |
+
38 "
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/output/audit.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"metrics": {
|
| 3 |
+
"device": "cuda",
|
| 4 |
+
"rows": 7,
|
| 5 |
+
"cells": 77,
|
| 6 |
+
"threshold": 0.9,
|
| 7 |
+
"load_seconds": 0.0,
|
| 8 |
+
"inference_seconds": 0.5,
|
| 9 |
+
"cells_per_second": 154.66,
|
| 10 |
+
"peak_gpu_bytes": 1949642752,
|
| 11 |
+
"detected_spans": 1,
|
| 12 |
+
"changed_cells": 1
|
| 13 |
+
},
|
| 14 |
+
"proposals": [
|
| 15 |
+
{
|
| 16 |
+
"row": 0,
|
| 17 |
+
"column": 2,
|
| 18 |
+
"start": 13,
|
| 19 |
+
"end": 13,
|
| 20 |
+
"replacement": "Zawias stalowy",
|
| 21 |
+
"category": "text.spelling",
|
| 22 |
+
"perplexity": 1.0028117939743604,
|
| 23 |
+
"status": "applied",
|
| 24 |
+
"route": "model"
|
| 25 |
+
}
|
| 26 |
+
]
|
| 27 |
+
}
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/output/corrected.csv
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Kod rekordu,Zewnętrzny kod cyfrowy,Pozycja,Wartość referencyjna,Klasa usługi,Liczba sztuk,Cena jednostkowa,Koszt pozycji,Strefa magazynowania,Zarejestrowana nazwa,Uwagi obsługi
|
| 2 |
+
RC-000000,00000100,Zawias stalowy,"1 000,50x",A,2,1.25,2.50,A,luma,
|
| 3 |
+
RC-000001,00000101,Pas bawełniany,1000.50,B,3,1.38,4.14,B,LUMA," ""Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000002,00000102,Stopka gumowa,"1 000,50",C,4,1.51,6.04,C,Luma 東京,Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.
|
| 6 |
+
RC-000008,00000108,Stopka gumowa,"1 000,50",C,10,2.29,22.90,C,luma,
|
| 7 |
+
RC-000010,00000110,Pas bawełniany,"1 000,50",B,12,2.55,30.60,B,Luma 東京,Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 4 obsługuje ten rekord.
|
| 8 |
+
RC-000029,00000129,Stopka gumowa,1000.50,C,9,5.02,45.18,C,LUMA," ""Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord.""
|
| 9 |
+
30 "
|
| 10 |
+
RC-000037,00000137,Pas bawełniany,1000.50,B,6,6.06,36.36,B,LUMA," ""Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.""
|
| 11 |
+
38 "
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/output/review.html
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><meta charset="utf-8"><title>TabFix — end-to-end CSV review</title><style>
|
| 2 |
+
.cards{display:flex;gap:16px;flex-wrap:wrap}.card{background:white;padding:18px 24px;border-radius:12px;min-width:130px}.card strong{display:block;font-size:32px}.card span{color:#536175}body{font:16px system-ui;background:#f3f5f8;color:#172238;margin:36px}h1{font-size:30px}p{max-width:950px;line-height:1.6}table{border-collapse:collapse;width:100%;background:white;margin:20px 0}td,th{padding:12px;text-align:left;border-bottom:1px solid #dbe1e8;white-space:pre-wrap;overflow-wrap:anywhere}th{background:#e6ebf2}small{display:block;color:#536175;margin-top:6px}.good{color:#15704b}.bad{color:#b13a37}table.full{min-width:1050px}.changed{background:#fff0c7}.scroll{overflow:auto}pre{white-space:pre-wrap;background:white;padding:20px}details{margin-top:24px}</style>
|
| 3 |
+
<h1>Does TabFix fix this CSV?</h1><p>Actual CSV → schema and context → predicted error locations → generated replacements → corrected CSV. The clean reference is used only after inference. No gold error locations or replacement text are supplied to the model. Row numbers below count data rows, excluding the header.</p>
|
| 4 |
+
<div class="cards"><div class="card"><strong>77</strong><span>Cells scanned</span></div><div class="card"><strong>—</strong><span>Errors in input</span></div><div class="card"><strong>—</strong><span>Errors repaired</span></div><div class="card"><strong>—</strong><span>Valid cells changed</span></div></div><p>CSV inference review · Threshold 0.9 · CPU inference 0.5 seconds (model loading excluded).</p><h2>Errors and proposed changes</h2><div class="scroll"><table><tr><th>Row</th><th>Column</th><th>Input</th><th>Model output</th><th>Reference</th><th>Result</th></tr><tr><td>1</td><td>Pozycja</td><td>"Zawias stalow"</td><td>"Zawias stalowy"</td><td>—</td><td class="bad">Changed<small>text.spelling</small></td></tr></table></div><p>Strings are quoted to make spaces and empty values visible. Yellow cells below were changed. All other cells are included so unwanted edits remain visible.</p><h2>Complete model output</h2><div class="scroll"><table class="full"><tr><th>Data row</th><th>Kod rekordu</th><th>Zewnętrzny kod cyfrowy</th><th>Pozycja</th><th>Wartość referencyjna</th><th>Klasa usługi</th><th>Liczba sztuk</th><th>Cena jednostkowa</th><th>Koszt pozycji</th><th>Strefa magazynowania</th><th>Zarejestrowana nazwa</th><th>Uwagi obsługi</th></tr><tr><td>1</td><td class="">RC-000000</td><td class="">00000100</td><td class="changed">Zawias stalowy</td><td class="">1 000,50x</td><td class="">A</td><td class="">2</td><td class="">1.25</td><td class="">2.50</td><td class="">A</td><td class="">luma</td><td class=""></td></tr><tr><td>2</td><td class="">RC-000001</td><td class="">00000101</td><td class="">Pas bawełniany</td><td class="">1000.50</td><td class="">B</td><td class="">3</td><td class="">1.38</td><td class="">4.14</td><td class="">B</td><td class="">LUMA</td><td class=""> "Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord."
|
| 5 |
+
2 </td></tr><tr><td>3</td><td class="">RC-000002</td><td class="">00000102</td><td class="">Stopka gumowa</td><td class="">1 000,50</td><td class="">C</td><td class="">4</td><td class="">1.51</td><td class="">6.04</td><td class="">C</td><td class="">Luma 東京</td><td class="">Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.</td></tr><tr><td>4</td><td class="">RC-000008</td><td class="">00000108</td><td class="">Stopka gumowa</td><td class="">1 000,50</td><td class="">C</td><td class="">10</td><td class="">2.29</td><td class="">22.90</td><td class="">C</td><td class="">luma</td><td class=""></td></tr><tr><td>5</td><td class="">RC-000010</td><td class="">00000110</td><td class="">Pas bawełniany</td><td class="">1 000,50</td><td class="">B</td><td class="">12</td><td class="">2.55</td><td class="">30.60</td><td class="">B</td><td class="">Luma 東京</td><td class="">Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 4 obsługuje ten rekord.</td></tr><tr><td>6</td><td class="">RC-000029</td><td class="">00000129</td><td class="">Stopka gumowa</td><td class="">1000.50</td><td class="">C</td><td class="">9</td><td class="">5.02</td><td class="">45.18</td><td class="">C</td><td class="">LUMA</td><td class=""> "Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord."
|
| 6 |
+
30 </td></tr><tr><td>7</td><td class="">RC-000037</td><td class="">00000137</td><td class="">Pas bawełniany</td><td class="">1000.50</td><td class="">B</td><td class="">6</td><td class="">6.06</td><td class="">36.36</td><td class="">B</td><td class="">LUMA</td><td class=""> "Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord."
|
| 7 |
+
38 </td></tr></table></div><details><summary>Every detection and application decision</summary><pre>[
|
| 8 |
+
{
|
| 9 |
+
"row": 0,
|
| 10 |
+
"column": 2,
|
| 11 |
+
"start": 13,
|
| 12 |
+
"end": 13,
|
| 13 |
+
"replacement": "Zawias stalowy",
|
| 14 |
+
"category": "text.spelling",
|
| 15 |
+
"perplexity": 1.0028117939743604,
|
| 16 |
+
"status": "applied",
|
| 17 |
+
"route": "model"
|
| 18 |
+
}
|
| 19 |
+
]</pre></details>
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/reference.csv
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Kod rekordu,Zewnętrzny kod cyfrowy,Pozycja,Wartość referencyjna,Klasa usługi,Liczba sztuk,Cena jednostkowa,Koszt pozycji,Strefa magazynowania,Zarejestrowana nazwa,Uwagi obsługi
|
| 2 |
+
RC-000000,00000100,Zawias stalowy,"1 000,50",A,2,1.25,2.50,A,luma,
|
| 3 |
+
RC-000001,00000101,Pas bawełniany,1000.50,B,3,1.38,4.14,B,LUMA," ""Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000002,00000102,Stopka gumowa,"1 000,50",C,4,1.51,6.04,C,Luma 東京,Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.
|
| 6 |
+
RC-000008,00000108,Stopka gumowa,"1 000,50",C,10,2.29,22.90,C,luma,
|
| 7 |
+
RC-000010,00000110,Pas bawełniany,"1 000,50",B,12,2.55,30.60,B,Luma 東京,Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 4 obsługuje ten rekord.
|
| 8 |
+
RC-000029,00000129,Stopka gumowa,1000.50,C,9,5.02,45.18,C,LUMA," ""Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord.""
|
| 9 |
+
30 "
|
| 10 |
+
RC-000037,00000137,Pas bawełniany,1000.50,B,6,6.06,36.36,B,LUMA," ""Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.""
|
| 11 |
+
38 "
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/result.json
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open",
|
| 3 |
+
"language": "pl",
|
| 4 |
+
"roles": [
|
| 5 |
+
"open_positive:text.spelling"
|
| 6 |
+
],
|
| 7 |
+
"counts": {
|
| 8 |
+
"cells": 77,
|
| 9 |
+
"valid_cells": 75,
|
| 10 |
+
"exactly_repaired_cells": 1,
|
| 11 |
+
"valid_cells_harmed": 0,
|
| 12 |
+
"detected_faulty_cells": 1,
|
| 13 |
+
"flagged_valid_cells": 0,
|
| 14 |
+
"faulty_cells": 2
|
| 15 |
+
},
|
| 16 |
+
"categories": {
|
| 17 |
+
"text.encoding": {},
|
| 18 |
+
"text.invisible": {},
|
| 19 |
+
"text.spelling": {
|
| 20 |
+
"gold_cells": 1,
|
| 21 |
+
"detected_cells": 1,
|
| 22 |
+
"exactly_repaired_cells": 1
|
| 23 |
+
},
|
| 24 |
+
"format.number": {},
|
| 25 |
+
"format.date": {},
|
| 26 |
+
"format.boolean": {},
|
| 27 |
+
"format.case": {},
|
| 28 |
+
"format.whitespace": {},
|
| 29 |
+
"format.unit": {},
|
| 30 |
+
"schema.type": {
|
| 31 |
+
"gold_cells": 1,
|
| 32 |
+
"detected_cells": 0,
|
| 33 |
+
"exactly_repaired_cells": 0
|
| 34 |
+
},
|
| 35 |
+
"schema.identifier": {},
|
| 36 |
+
"schema.category": {},
|
| 37 |
+
"consistency.unit": {},
|
| 38 |
+
"consistency.dependency": {},
|
| 39 |
+
"consistency.temporal": {},
|
| 40 |
+
"missing.required": {},
|
| 41 |
+
"missing.conditional": {},
|
| 42 |
+
"structure.shift": {}
|
| 43 |
+
},
|
| 44 |
+
"decisions": {
|
| 45 |
+
"applied": 1
|
| 46 |
+
},
|
| 47 |
+
"inference_seconds": 0.5,
|
| 48 |
+
"details": [
|
| 49 |
+
{
|
| 50 |
+
"row": 0,
|
| 51 |
+
"column": "Pozycja",
|
| 52 |
+
"original": "Zawias stalow",
|
| 53 |
+
"prediction": "Zawias stalowy",
|
| 54 |
+
"reference": "Zawias stalowy",
|
| 55 |
+
"categories": [
|
| 56 |
+
"text.spelling"
|
| 57 |
+
],
|
| 58 |
+
"status": "repaired",
|
| 59 |
+
"decisions": [
|
| 60 |
+
{
|
| 61 |
+
"row": 0,
|
| 62 |
+
"column": 2,
|
| 63 |
+
"start": 13,
|
| 64 |
+
"end": 13,
|
| 65 |
+
"replacement": "Zawias stalowy",
|
| 66 |
+
"category": "text.spelling",
|
| 67 |
+
"perplexity": 1.0028117939743604,
|
| 68 |
+
"status": "applied",
|
| 69 |
+
"route": "model"
|
| 70 |
+
}
|
| 71 |
+
]
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"row": 0,
|
| 75 |
+
"column": "Wartość referencyjna",
|
| 76 |
+
"original": "1 000,50x",
|
| 77 |
+
"prediction": "1 000,50x",
|
| 78 |
+
"reference": "1 000,50",
|
| 79 |
+
"categories": [
|
| 80 |
+
"schema.type"
|
| 81 |
+
],
|
| 82 |
+
"status": "remaining",
|
| 83 |
+
"decisions": []
|
| 84 |
+
}
|
| 85 |
+
],
|
| 86 |
+
"hard_negative": false
|
| 87 |
+
}
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/review.html
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><meta charset="utf-8"><title>TabFix — end-to-end CSV review</title><style>
|
| 2 |
+
.cards{display:flex;gap:16px;flex-wrap:wrap}.card{background:white;padding:18px 24px;border-radius:12px;min-width:130px}.card strong{display:block;font-size:32px}.card span{color:#536175}body{font:16px system-ui;background:#f3f5f8;color:#172238;margin:36px}h1{font-size:30px}p{max-width:950px;line-height:1.6}table{border-collapse:collapse;width:100%;background:white;margin:20px 0}td,th{padding:12px;text-align:left;border-bottom:1px solid #dbe1e8;white-space:pre-wrap;overflow-wrap:anywhere}th{background:#e6ebf2}small{display:block;color:#536175;margin-top:6px}.good{color:#15704b}.bad{color:#b13a37}table.full{min-width:1050px}.changed{background:#fff0c7}.scroll{overflow:auto}pre{white-space:pre-wrap;background:white;padding:20px}details{margin-top:24px}</style>
|
| 3 |
+
<h1>Does TabFix fix this CSV?</h1><p>Actual CSV → schema and context → predicted error locations → generated replacements → corrected CSV. The clean reference is used only after inference. No gold error locations or replacement text are supplied to the model. Row numbers below count data rows, excluding the header.</p>
|
| 4 |
+
<div class="cards"><div class="card"><strong>77</strong><span>Cells scanned</span></div><div class="card"><strong>2</strong><span>Errors in input</span></div><div class="card"><strong>1</strong><span>Errors repaired</span></div><div class="card"><strong>0</strong><span>Valid cells changed</span></div></div><p>CSV inference review · Threshold 0.9 · CPU inference 0.5 seconds (model loading excluded).</p><h2>Errors and proposed changes</h2><div class="scroll"><table><tr><th>Row</th><th>Column</th><th>Input</th><th>Model output</th><th>Reference</th><th>Result</th></tr><tr><td>1</td><td>Pozycja</td><td>"Zawias stalow"</td><td>"Zawias stalowy"</td><td>"Zawias stalowy"</td><td class="good">Repaired<small>text.spelling</small></td></tr><tr><td>1</td><td>Wartość referencyjna</td><td>"1 000,50x"</td><td>"1 000,50x"</td><td>"1 000,50"</td><td class="bad">Missed / incorrect<small>No detection</small></td></tr></table></div><p>Strings are quoted to make spaces and empty values visible. Yellow cells below were changed. All other cells are included so unwanted edits remain visible.</p><h2>Complete model output</h2><div class="scroll"><table class="full"><tr><th>Data row</th><th>Kod rekordu</th><th>Zewnętrzny kod cyfrowy</th><th>Pozycja</th><th>Wartość referencyjna</th><th>Klasa usługi</th><th>Liczba sztuk</th><th>Cena jednostkowa</th><th>Koszt pozycji</th><th>Strefa magazynowania</th><th>Zarejestrowana nazwa</th><th>Uwagi obsługi</th></tr><tr><td>1</td><td class="">RC-000000</td><td class="">00000100</td><td class="changed">Zawias stalowy</td><td class="">1 000,50x</td><td class="">A</td><td class="">2</td><td class="">1.25</td><td class="">2.50</td><td class="">A</td><td class="">luma</td><td class=""></td></tr><tr><td>2</td><td class="">RC-000001</td><td class="">00000101</td><td class="">Pas bawełniany</td><td class="">1000.50</td><td class="">B</td><td class="">3</td><td class="">1.38</td><td class="">4.14</td><td class="">B</td><td class="">LUMA</td><td class=""> "Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord."
|
| 5 |
+
2 </td></tr><tr><td>3</td><td class="">RC-000002</td><td class="">00000102</td><td class="">Stopka gumowa</td><td class="">1 000,50</td><td class="">C</td><td class="">4</td><td class="">1.51</td><td class="">6.04</td><td class="">C</td><td class="">Luma 東京</td><td class="">Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord.</td></tr><tr><td>4</td><td class="">RC-000008</td><td class="">00000108</td><td class="">Stopka gumowa</td><td class="">1 000,50</td><td class="">C</td><td class="">10</td><td class="">2.29</td><td class="">22.90</td><td class="">C</td><td class="">luma</td><td class=""></td></tr><tr><td>5</td><td class="">RC-000010</td><td class="">00000110</td><td class="">Pas bawełniany</td><td class="">1 000,50</td><td class="">B</td><td class="">12</td><td class="">2.55</td><td class="">30.60</td><td class="">B</td><td class="">Luma 東京</td><td class="">Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 4 obsługuje ten rekord.</td></tr><tr><td>6</td><td class="">RC-000029</td><td class="">00000129</td><td class="">Stopka gumowa</td><td class="">1000.50</td><td class="">C</td><td class="">9</td><td class="">5.02</td><td class="">45.18</td><td class="">C</td><td class="">LUMA</td><td class=""> "Przed przeniesieniem Stopka gumowa sprawdzić dołączoną kartę; stanowisko 2 obsługuje ten rekord."
|
| 6 |
+
30 </td></tr><tr><td>7</td><td class="">RC-000037</td><td class="">00000137</td><td class="">Pas bawełniany</td><td class="">1000.50</td><td class="">B</td><td class="">6</td><td class="">6.06</td><td class="">36.36</td><td class="">B</td><td class="">LUMA</td><td class=""> "Przed przeniesieniem Pas bawełniany sprawdzić dołączoną kartę; stanowisko 3 obsługuje ten rekord."
|
| 7 |
+
38 </td></tr></table></div><details><summary>Every detection and application decision</summary><pre>[
|
| 8 |
+
{
|
| 9 |
+
"row": 0,
|
| 10 |
+
"column": 2,
|
| 11 |
+
"start": 13,
|
| 12 |
+
"end": 13,
|
| 13 |
+
"replacement": "Zawias stalowy",
|
| 14 |
+
"category": "text.spelling",
|
| 15 |
+
"perplexity": 1.0028117939743604,
|
| 16 |
+
"status": "applied",
|
| 17 |
+
"route": "model"
|
| 18 |
+
}
|
| 19 |
+
]</pre></details>
|
evaluation/v2/cases/483ebfcef4c28a88e423403e0bd4437505405840aa14cd3b92ada86a065b9ef2-open/schema.xml
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<schema>
|
| 2 |
+
<column index="0" name="Kod rekordu" type="identifier" language="pl" nullable="forbidden" key="id">
|
| 3 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 4 |
+
<constraints encoding="json">{"case":"upper","pattern":"[A-Z]{2}-\\d{6}","trimmed":true}</constraints>
|
| 5 |
+
</column>
|
| 6 |
+
<column index="1" name="Zewnętrzny kod cyfrowy" type="identifier" language="pl" nullable="forbidden" key="external_code">
|
| 7 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 8 |
+
<constraints encoding="json">{"pattern":"\\d{8}"}</constraints>
|
| 9 |
+
</column>
|
| 10 |
+
<column index="2" name="Pozycja" type="string" language="pl" nullable="forbidden" key="item">
|
| 11 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 12 |
+
<constraints encoding="json">{"trimmed": true}</constraints>
|
| 13 |
+
</column>
|
| 14 |
+
<column index="3" name="Wartość referencyjna" type="decimal" language="pl" nullable="forbidden" key="valuation">
|
| 15 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 16 |
+
<constraints encoding="json">{"accepted_representations":["1 000,50","1000.50"]}</constraints>
|
| 17 |
+
</column>
|
| 18 |
+
<column index="4" name="Klasa usługi" type="category" language="pl" nullable="forbidden" key="service">
|
| 19 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 20 |
+
<constraints encoding="json">{"enum":["A","B","C","D"]}</constraints>
|
| 21 |
+
</column>
|
| 22 |
+
<column index="5" name="Liczba sztuk" type="integer" language="pl" nullable="forbidden" key="count">
|
| 23 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 24 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 25 |
+
</column>
|
| 26 |
+
<column index="6" name="Cena jednostkowa" type="decimal" language="pl" nullable="forbidden" key="unit_price">
|
| 27 |
+
<accepted_formats encoding="json">["decimal_dot"]</accepted_formats>
|
| 28 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 29 |
+
</column>
|
| 30 |
+
<column index="7" name="Koszt pozycji" type="decimal" language="pl" nullable="forbidden" key="cost">
|
| 31 |
+
<accepted_formats encoding="json">["decimal_dot"]</accepted_formats>
|
| 32 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 33 |
+
</column>
|
| 34 |
+
<column index="8" name="Strefa magazynowania" type="category" language="pl" nullable="forbidden" key="storage">
|
| 35 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 36 |
+
<constraints encoding="json">{"enum":["A","B","C","D"]}</constraints>
|
| 37 |
+
</column>
|
| 38 |
+
<column index="9" name="Zarejestrowana nazwa" type="string" language="pl" nullable="forbidden" key="display">
|
| 39 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 40 |
+
<constraints encoding="json">{"case_sensitive":true,"enum":["luma","LUMA","Luma 東京","Luma Atelier"],"whitespace_policy":"preserve"}</constraints>
|
| 41 |
+
</column>
|
| 42 |
+
<column index="10" name="Uwagi obsługi" type="string" language="pl" nullable="allowed" key="note">
|
| 43 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 44 |
+
<constraints encoding="json">{"embedded_delimiters_allowed":true,"whitespace_policy":"preserve"}</constraints>
|
| 45 |
+
</column>
|
| 46 |
+
<relations encoding="json">[["lookup","item","service"],["multiply","count","unit_price","cost"]]</relations>
|
| 47 |
+
<functional_dependencies encoding="json">{"service":{"Pas bawełniany":"B","Stopka gumowa":"C","Zawias stalowy":"A","Złączka mosiężna":"D"}}</functional_dependencies>
|
| 48 |
+
</schema>
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/input.csv
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Vorgangscode,Externer Zahlencode,Routencode,Artikel,Deklarierte Stückmasse,Einheit der deklarierten Masse,Gemessene Stückmasse,Messeinheit,Verpackungsmasse in Gramm,Bruttomasse in Gramm,Registrierter Anzeigename,Bearbeitungshinweis
|
| 2 |
+
RC-000000,00000100,RT-000000,Keramiktassen,0.125,kg,125,g,15,140,luma,
|
| 3 |
+
RC-000001,00000101,RT-000001,Gefaltete Wäsche,1000,g,1,kg,20,1020,LUMA," ""Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000010,00000110,RT-000003,Gefaltete Wäsche,0.25,kg,250,g,20,270,Luma 東京,Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.
|
| 6 |
+
RC-000014,00000114,RT-000000,Archivmappen,0.875,kg,875,g,40,915,Luma 東京,Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 1 bearbeitet diesen Vorgang.
|
| 7 |
+
RC-000029,00000129,RT-000001,Archivmappen,2500,g,2.5,kg,25,2525,LUMA," ""Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang.""
|
| 8 |
+
30 "
|
| 9 |
+
RC-000030,00000130,RT-000002,Keramiktassen,0.5,kg,500,g,30,530,Luma 東京,Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 3 bearbeitet diesen Vorgang.
|
| 10 |
+
RC-000031,00000131,RT-000003,Gefaltete Wäsch,1375,g,1.375,kg,35,1410,Luma Atelier,Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.
|
| 11 |
+
RC-000032,00000132,RT-000004,Archivmappen,2.25,kg,2250,g,40,2290,luma,
|
| 12 |
+
RC-000033,00000133,RT-000005,Keramiktassen,250,g,0.25,kg,45,295,LUMA," ""Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 6 bearbeitet diesen Vorgang.""
|
| 13 |
+
34 "
|
| 14 |
+
RC-000044,00000144,RT-000002,Archivmappen,1.25,kg,1250,g,55,1305,luma,
|
| 15 |
+
RC-000045,00000145,RT-000003,Keramiktassen,2125,g,2.125,kg,15,2140,LUMA," ""Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.""
|
| 16 |
+
46 "
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/output/audit.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"metrics": {
|
| 3 |
+
"device": "cuda",
|
| 4 |
+
"rows": 11,
|
| 5 |
+
"cells": 132,
|
| 6 |
+
"threshold": 0.9,
|
| 7 |
+
"load_seconds": 0.0,
|
| 8 |
+
"inference_seconds": 0.88,
|
| 9 |
+
"cells_per_second": 149.78,
|
| 10 |
+
"peak_gpu_bytes": 1927607296,
|
| 11 |
+
"detected_spans": 1,
|
| 12 |
+
"changed_cells": 1
|
| 13 |
+
},
|
| 14 |
+
"proposals": [
|
| 15 |
+
{
|
| 16 |
+
"row": 6,
|
| 17 |
+
"column": 3,
|
| 18 |
+
"start": 15,
|
| 19 |
+
"end": 15,
|
| 20 |
+
"replacement": "Gefaltete Wäsche",
|
| 21 |
+
"category": "text.spelling",
|
| 22 |
+
"perplexity": 1.0001238332328841,
|
| 23 |
+
"status": "applied",
|
| 24 |
+
"route": "model"
|
| 25 |
+
}
|
| 26 |
+
]
|
| 27 |
+
}
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/output/corrected.csv
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Vorgangscode,Externer Zahlencode,Routencode,Artikel,Deklarierte Stückmasse,Einheit der deklarierten Masse,Gemessene Stückmasse,Messeinheit,Verpackungsmasse in Gramm,Bruttomasse in Gramm,Registrierter Anzeigename,Bearbeitungshinweis
|
| 2 |
+
RC-000000,00000100,RT-000000,Keramiktassen,0.125,kg,125,g,15,140,luma,
|
| 3 |
+
RC-000001,00000101,RT-000001,Gefaltete Wäsche,1000,g,1,kg,20,1020,LUMA," ""Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000010,00000110,RT-000003,Gefaltete Wäsche,0.25,kg,250,g,20,270,Luma 東京,Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.
|
| 6 |
+
RC-000014,00000114,RT-000000,Archivmappen,0.875,kg,875,g,40,915,Luma 東京,Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 1 bearbeitet diesen Vorgang.
|
| 7 |
+
RC-000029,00000129,RT-000001,Archivmappen,2500,g,2.5,kg,25,2525,LUMA," ""Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang.""
|
| 8 |
+
30 "
|
| 9 |
+
RC-000030,00000130,RT-000002,Keramiktassen,0.5,kg,500,g,30,530,Luma 東京,Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 3 bearbeitet diesen Vorgang.
|
| 10 |
+
RC-000031,00000131,RT-000003,Gefaltete Wäsche,1375,g,1.375,kg,35,1410,Luma Atelier,Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.
|
| 11 |
+
RC-000032,00000132,RT-000004,Archivmappen,2.25,kg,2250,g,40,2290,luma,
|
| 12 |
+
RC-000033,00000133,RT-000005,Keramiktassen,250,g,0.25,kg,45,295,LUMA," ""Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 6 bearbeitet diesen Vorgang.""
|
| 13 |
+
34 "
|
| 14 |
+
RC-000044,00000144,RT-000002,Archivmappen,1.25,kg,1250,g,55,1305,luma,
|
| 15 |
+
RC-000045,00000145,RT-000003,Keramiktassen,2125,g,2.125,kg,15,2140,LUMA," ""Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.""
|
| 16 |
+
46 "
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/output/review.html
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><meta charset="utf-8"><title>TabFix — end-to-end CSV review</title><style>
|
| 2 |
+
.cards{display:flex;gap:16px;flex-wrap:wrap}.card{background:white;padding:18px 24px;border-radius:12px;min-width:130px}.card strong{display:block;font-size:32px}.card span{color:#536175}body{font:16px system-ui;background:#f3f5f8;color:#172238;margin:36px}h1{font-size:30px}p{max-width:950px;line-height:1.6}table{border-collapse:collapse;width:100%;background:white;margin:20px 0}td,th{padding:12px;text-align:left;border-bottom:1px solid #dbe1e8;white-space:pre-wrap;overflow-wrap:anywhere}th{background:#e6ebf2}small{display:block;color:#536175;margin-top:6px}.good{color:#15704b}.bad{color:#b13a37}table.full{min-width:1050px}.changed{background:#fff0c7}.scroll{overflow:auto}pre{white-space:pre-wrap;background:white;padding:20px}details{margin-top:24px}</style>
|
| 3 |
+
<h1>Does TabFix fix this CSV?</h1><p>Actual CSV → schema and context → predicted error locations → generated replacements → corrected CSV. The clean reference is used only after inference. No gold error locations or replacement text are supplied to the model. Row numbers below count data rows, excluding the header.</p>
|
| 4 |
+
<div class="cards"><div class="card"><strong>132</strong><span>Cells scanned</span></div><div class="card"><strong>—</strong><span>Errors in input</span></div><div class="card"><strong>—</strong><span>Errors repaired</span></div><div class="card"><strong>—</strong><span>Valid cells changed</span></div></div><p>CSV inference review · Threshold 0.9 · CPU inference 0.88 seconds (model loading excluded).</p><h2>Errors and proposed changes</h2><div class="scroll"><table><tr><th>Row</th><th>Column</th><th>Input</th><th>Model output</th><th>Reference</th><th>Result</th></tr><tr><td>7</td><td>Artikel</td><td>"Gefaltete Wäsch"</td><td>"Gefaltete Wäsche"</td><td>—</td><td class="bad">Changed<small>text.spelling</small></td></tr></table></div><p>Strings are quoted to make spaces and empty values visible. Yellow cells below were changed. All other cells are included so unwanted edits remain visible.</p><h2>Complete model output</h2><div class="scroll"><table class="full"><tr><th>Data row</th><th>Vorgangscode</th><th>Externer Zahlencode</th><th>Routencode</th><th>Artikel</th><th>Deklarierte Stückmasse</th><th>Einheit der deklarierten Masse</th><th>Gemessene Stückmasse</th><th>Messeinheit</th><th>Verpackungsmasse in Gramm</th><th>Bruttomasse in Gramm</th><th>Registrierter Anzeigename</th><th>Bearbeitungshinweis</th></tr><tr><td>1</td><td class="">RC-000000</td><td class="">00000100</td><td class="">RT-000000</td><td class="">Keramiktassen</td><td class="">0.125</td><td class="">kg</td><td class="">125</td><td class="">g</td><td class="">15</td><td class="">140</td><td class="">luma</td><td class=""></td></tr><tr><td>2</td><td class="">RC-000001</td><td class="">00000101</td><td class="">RT-000001</td><td class="">Gefaltete Wäsche</td><td class="">1000</td><td class="">g</td><td class="">1</td><td class="">kg</td><td class="">20</td><td class="">1020</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang."
|
| 5 |
+
2 </td></tr><tr><td>3</td><td class="">RC-000010</td><td class="">00000110</td><td class="">RT-000003</td><td class="">Gefaltete Wäsche</td><td class="">0.25</td><td class="">kg</td><td class="">250</td><td class="">g</td><td class="">20</td><td class="">270</td><td class="">Luma 東京</td><td class="">Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.</td></tr><tr><td>4</td><td class="">RC-000014</td><td class="">00000114</td><td class="">RT-000000</td><td class="">Archivmappen</td><td class="">0.875</td><td class="">kg</td><td class="">875</td><td class="">g</td><td class="">40</td><td class="">915</td><td class="">Luma 東京</td><td class="">Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 1 bearbeitet diesen Vorgang.</td></tr><tr><td>5</td><td class="">RC-000029</td><td class="">00000129</td><td class="">RT-000001</td><td class="">Archivmappen</td><td class="">2500</td><td class="">g</td><td class="">2.5</td><td class="">kg</td><td class="">25</td><td class="">2525</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang."
|
| 6 |
+
30 </td></tr><tr><td>6</td><td class="">RC-000030</td><td class="">00000130</td><td class="">RT-000002</td><td class="">Keramiktassen</td><td class="">0.5</td><td class="">kg</td><td class="">500</td><td class="">g</td><td class="">30</td><td class="">530</td><td class="">Luma 東京</td><td class="">Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 3 bearbeitet diesen Vorgang.</td></tr><tr><td>7</td><td class="">RC-000031</td><td class="">00000131</td><td class="">RT-000003</td><td class="changed">Gefaltete Wäsche</td><td class="">1375</td><td class="">g</td><td class="">1.375</td><td class="">kg</td><td class="">35</td><td class="">1410</td><td class="">Luma Atelier</td><td class="">Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.</td></tr><tr><td>8</td><td class="">RC-000032</td><td class="">00000132</td><td class="">RT-000004</td><td class="">Archivmappen</td><td class="">2.25</td><td class="">kg</td><td class="">2250</td><td class="">g</td><td class="">40</td><td class="">2290</td><td class="">luma</td><td class=""></td></tr><tr><td>9</td><td class="">RC-000033</td><td class="">00000133</td><td class="">RT-000005</td><td class="">Keramiktassen</td><td class="">250</td><td class="">g</td><td class="">0.25</td><td class="">kg</td><td class="">45</td><td class="">295</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 6 bearbeitet diesen Vorgang."
|
| 7 |
+
34 </td></tr><tr><td>10</td><td class="">RC-000044</td><td class="">00000144</td><td class="">RT-000002</td><td class="">Archivmappen</td><td class="">1.25</td><td class="">kg</td><td class="">1250</td><td class="">g</td><td class="">55</td><td class="">1305</td><td class="">luma</td><td class=""></td></tr><tr><td>11</td><td class="">RC-000045</td><td class="">00000145</td><td class="">RT-000003</td><td class="">Keramiktassen</td><td class="">2125</td><td class="">g</td><td class="">2.125</td><td class="">kg</td><td class="">15</td><td class="">2140</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang."
|
| 8 |
+
46 </td></tr></table></div><details><summary>Every detection and application decision</summary><pre>[
|
| 9 |
+
{
|
| 10 |
+
"row": 6,
|
| 11 |
+
"column": 3,
|
| 12 |
+
"start": 15,
|
| 13 |
+
"end": 15,
|
| 14 |
+
"replacement": "Gefaltete Wäsche",
|
| 15 |
+
"category": "text.spelling",
|
| 16 |
+
"perplexity": 1.0001238332328841,
|
| 17 |
+
"status": "applied",
|
| 18 |
+
"route": "model"
|
| 19 |
+
}
|
| 20 |
+
]</pre></details>
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/reference.csv
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Vorgangscode,Externer Zahlencode,Routencode,Artikel,Deklarierte Stückmasse,Einheit der deklarierten Masse,Gemessene Stückmasse,Messeinheit,Verpackungsmasse in Gramm,Bruttomasse in Gramm,Registrierter Anzeigename,Bearbeitungshinweis
|
| 2 |
+
RC-000000,00000100,RT-000000,Keramiktassen,0.125,kg,125,g,15,140,luma,
|
| 3 |
+
RC-000001,00000101,RT-000001,Gefaltete Wäsche,1000,g,1,kg,20,1020,LUMA," ""Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang.""
|
| 4 |
+
2 "
|
| 5 |
+
RC-000010,00000110,RT-000003,Gefaltete Wäsche,0.25,kg,250,g,20,270,Luma 東京,Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.
|
| 6 |
+
RC-000014,00000114,RT-000000,Archivmappen,0.875,kg,875,g,40,915,Luma 東京,Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 1 bearbeitet diesen Vorgang.
|
| 7 |
+
RC-000029,00000129,RT-000001,Archivmappen,2500,g,2.5,kg,25,2525,LUMA," ""Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang.""
|
| 8 |
+
30 "
|
| 9 |
+
RC-000030,00000130,RT-000002,Keramiktassen,0.5,kg,500,g,30,530,Luma 東京,Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 3 bearbeitet diesen Vorgang.
|
| 10 |
+
RC-000031,00000131,RT-000003,Gefaltete Wäsche,1375,g,1.375,kg,35,1410,Luma Atelier,Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.
|
| 11 |
+
RC-000032,00000132,RT-000004,Archivmappen,2.25,kg,2250,g,40,2290,luma,
|
| 12 |
+
RC-000033,00000133,RT-000005,Keramiktassen,250,g,0.25,kg,45,295,LUMA," ""Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 6 bearbeitet diesen Vorgang.""
|
| 13 |
+
34 "
|
| 14 |
+
RC-000044,00000144,RT-000002,Archivmappen,1.25,kg,1250,g,55,1305,luma,
|
| 15 |
+
RC-000045,00000145,RT-000003,Keramiktassen,2125,g,2.125,kg,15,2140,LUMA," ""Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.""
|
| 16 |
+
46 "
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/result.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open",
|
| 3 |
+
"language": "de",
|
| 4 |
+
"roles": [
|
| 5 |
+
"open_positive:text.spelling"
|
| 6 |
+
],
|
| 7 |
+
"counts": {
|
| 8 |
+
"cells": 132,
|
| 9 |
+
"valid_cells": 131,
|
| 10 |
+
"exactly_repaired_cells": 1,
|
| 11 |
+
"valid_cells_harmed": 0,
|
| 12 |
+
"detected_faulty_cells": 1,
|
| 13 |
+
"flagged_valid_cells": 0,
|
| 14 |
+
"faulty_cells": 1
|
| 15 |
+
},
|
| 16 |
+
"categories": {
|
| 17 |
+
"text.encoding": {},
|
| 18 |
+
"text.invisible": {},
|
| 19 |
+
"text.spelling": {
|
| 20 |
+
"gold_cells": 1,
|
| 21 |
+
"detected_cells": 1,
|
| 22 |
+
"exactly_repaired_cells": 1
|
| 23 |
+
},
|
| 24 |
+
"format.number": {},
|
| 25 |
+
"format.date": {},
|
| 26 |
+
"format.boolean": {},
|
| 27 |
+
"format.case": {},
|
| 28 |
+
"format.whitespace": {},
|
| 29 |
+
"format.unit": {},
|
| 30 |
+
"schema.type": {},
|
| 31 |
+
"schema.identifier": {},
|
| 32 |
+
"schema.category": {},
|
| 33 |
+
"consistency.unit": {},
|
| 34 |
+
"consistency.dependency": {},
|
| 35 |
+
"consistency.temporal": {},
|
| 36 |
+
"missing.required": {},
|
| 37 |
+
"missing.conditional": {},
|
| 38 |
+
"structure.shift": {}
|
| 39 |
+
},
|
| 40 |
+
"decisions": {
|
| 41 |
+
"applied": 1
|
| 42 |
+
},
|
| 43 |
+
"inference_seconds": 0.88,
|
| 44 |
+
"details": [
|
| 45 |
+
{
|
| 46 |
+
"row": 6,
|
| 47 |
+
"column": "Artikel",
|
| 48 |
+
"original": "Gefaltete Wäsch",
|
| 49 |
+
"prediction": "Gefaltete Wäsche",
|
| 50 |
+
"reference": "Gefaltete Wäsche",
|
| 51 |
+
"categories": [
|
| 52 |
+
"text.spelling"
|
| 53 |
+
],
|
| 54 |
+
"status": "repaired",
|
| 55 |
+
"decisions": [
|
| 56 |
+
{
|
| 57 |
+
"row": 6,
|
| 58 |
+
"column": 3,
|
| 59 |
+
"start": 15,
|
| 60 |
+
"end": 15,
|
| 61 |
+
"replacement": "Gefaltete Wäsche",
|
| 62 |
+
"category": "text.spelling",
|
| 63 |
+
"perplexity": 1.0001238332328841,
|
| 64 |
+
"status": "applied",
|
| 65 |
+
"route": "model"
|
| 66 |
+
}
|
| 67 |
+
]
|
| 68 |
+
}
|
| 69 |
+
],
|
| 70 |
+
"hard_negative": false
|
| 71 |
+
}
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/review.html
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><meta charset="utf-8"><title>TabFix — end-to-end CSV review</title><style>
|
| 2 |
+
.cards{display:flex;gap:16px;flex-wrap:wrap}.card{background:white;padding:18px 24px;border-radius:12px;min-width:130px}.card strong{display:block;font-size:32px}.card span{color:#536175}body{font:16px system-ui;background:#f3f5f8;color:#172238;margin:36px}h1{font-size:30px}p{max-width:950px;line-height:1.6}table{border-collapse:collapse;width:100%;background:white;margin:20px 0}td,th{padding:12px;text-align:left;border-bottom:1px solid #dbe1e8;white-space:pre-wrap;overflow-wrap:anywhere}th{background:#e6ebf2}small{display:block;color:#536175;margin-top:6px}.good{color:#15704b}.bad{color:#b13a37}table.full{min-width:1050px}.changed{background:#fff0c7}.scroll{overflow:auto}pre{white-space:pre-wrap;background:white;padding:20px}details{margin-top:24px}</style>
|
| 3 |
+
<h1>Does TabFix fix this CSV?</h1><p>Actual CSV → schema and context → predicted error locations → generated replacements → corrected CSV. The clean reference is used only after inference. No gold error locations or replacement text are supplied to the model. Row numbers below count data rows, excluding the header.</p>
|
| 4 |
+
<div class="cards"><div class="card"><strong>132</strong><span>Cells scanned</span></div><div class="card"><strong>1</strong><span>Errors in input</span></div><div class="card"><strong>1</strong><span>Errors repaired</span></div><div class="card"><strong>0</strong><span>Valid cells changed</span></div></div><p>CSV inference review · Threshold 0.9 · CPU inference 0.88 seconds (model loading excluded).</p><h2>Errors and proposed changes</h2><div class="scroll"><table><tr><th>Row</th><th>Column</th><th>Input</th><th>Model output</th><th>Reference</th><th>Result</th></tr><tr><td>7</td><td>Artikel</td><td>"Gefaltete Wäsch"</td><td>"Gefaltete Wäsche"</td><td>"Gefaltete Wäsche"</td><td class="good">Repaired<small>text.spelling</small></td></tr></table></div><p>Strings are quoted to make spaces and empty values visible. Yellow cells below were changed. All other cells are included so unwanted edits remain visible.</p><h2>Complete model output</h2><div class="scroll"><table class="full"><tr><th>Data row</th><th>Vorgangscode</th><th>Externer Zahlencode</th><th>Routencode</th><th>Artikel</th><th>Deklarierte Stückmasse</th><th>Einheit der deklarierten Masse</th><th>Gemessene Stückmasse</th><th>Messeinheit</th><th>Verpackungsmasse in Gramm</th><th>Bruttomasse in Gramm</th><th>Registrierter Anzeigename</th><th>Bearbeitungshinweis</th></tr><tr><td>1</td><td class="">RC-000000</td><td class="">00000100</td><td class="">RT-000000</td><td class="">Keramiktassen</td><td class="">0.125</td><td class="">kg</td><td class="">125</td><td class="">g</td><td class="">15</td><td class="">140</td><td class="">luma</td><td class=""></td></tr><tr><td>2</td><td class="">RC-000001</td><td class="">00000101</td><td class="">RT-000001</td><td class="">Gefaltete Wäsche</td><td class="">1000</td><td class="">g</td><td class="">1</td><td class="">kg</td><td class="">20</td><td class="">1020</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang."
|
| 5 |
+
2 </td></tr><tr><td>3</td><td class="">RC-000010</td><td class="">00000110</td><td class="">RT-000003</td><td class="">Gefaltete Wäsche</td><td class="">0.25</td><td class="">kg</td><td class="">250</td><td class="">g</td><td class="">20</td><td class="">270</td><td class="">Luma 東京</td><td class="">Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.</td></tr><tr><td>4</td><td class="">RC-000014</td><td class="">00000114</td><td class="">RT-000000</td><td class="">Archivmappen</td><td class="">0.875</td><td class="">kg</td><td class="">875</td><td class="">g</td><td class="">40</td><td class="">915</td><td class="">Luma 東京</td><td class="">Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 1 bearbeitet diesen Vorgang.</td></tr><tr><td>5</td><td class="">RC-000029</td><td class="">00000129</td><td class="">RT-000001</td><td class="">Archivmappen</td><td class="">2500</td><td class="">g</td><td class="">2.5</td><td class="">kg</td><td class="">25</td><td class="">2525</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Archivmappen die beigefügte Karte prüfen; Station 2 bearbeitet diesen Vorgang."
|
| 6 |
+
30 </td></tr><tr><td>6</td><td class="">RC-000030</td><td class="">00000130</td><td class="">RT-000002</td><td class="">Keramiktassen</td><td class="">0.5</td><td class="">kg</td><td class="">500</td><td class="">g</td><td class="">30</td><td class="">530</td><td class="">Luma 東京</td><td class="">Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 3 bearbeitet diesen Vorgang.</td></tr><tr><td>7</td><td class="">RC-000031</td><td class="">00000131</td><td class="">RT-000003</td><td class="changed">Gefaltete Wäsche</td><td class="">1375</td><td class="">g</td><td class="">1.375</td><td class="">kg</td><td class="">35</td><td class="">1410</td><td class="">Luma Atelier</td><td class="">Vor dem Transport von Gefaltete Wäsche die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang.</td></tr><tr><td>8</td><td class="">RC-000032</td><td class="">00000132</td><td class="">RT-000004</td><td class="">Archivmappen</td><td class="">2.25</td><td class="">kg</td><td class="">2250</td><td class="">g</td><td class="">40</td><td class="">2290</td><td class="">luma</td><td class=""></td></tr><tr><td>9</td><td class="">RC-000033</td><td class="">00000133</td><td class="">RT-000005</td><td class="">Keramiktassen</td><td class="">250</td><td class="">g</td><td class="">0.25</td><td class="">kg</td><td class="">45</td><td class="">295</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 6 bearbeitet diesen Vorgang."
|
| 7 |
+
34 </td></tr><tr><td>10</td><td class="">RC-000044</td><td class="">00000144</td><td class="">RT-000002</td><td class="">Archivmappen</td><td class="">1.25</td><td class="">kg</td><td class="">1250</td><td class="">g</td><td class="">55</td><td class="">1305</td><td class="">luma</td><td class=""></td></tr><tr><td>11</td><td class="">RC-000045</td><td class="">00000145</td><td class="">RT-000003</td><td class="">Keramiktassen</td><td class="">2125</td><td class="">g</td><td class="">2.125</td><td class="">kg</td><td class="">15</td><td class="">2140</td><td class="">LUMA</td><td class=""> "Vor dem Transport von Keramiktassen die beigefügte Karte prüfen; Station 4 bearbeitet diesen Vorgang."
|
| 8 |
+
46 </td></tr></table></div><details><summary>Every detection and application decision</summary><pre>[
|
| 9 |
+
{
|
| 10 |
+
"row": 6,
|
| 11 |
+
"column": 3,
|
| 12 |
+
"start": 15,
|
| 13 |
+
"end": 15,
|
| 14 |
+
"replacement": "Gefaltete Wäsche",
|
| 15 |
+
"category": "text.spelling",
|
| 16 |
+
"perplexity": 1.0001238332328841,
|
| 17 |
+
"status": "applied",
|
| 18 |
+
"route": "model"
|
| 19 |
+
}
|
| 20 |
+
]</pre></details>
|
evaluation/v2/cases/5ae301c59c5cc917b3a4f6d8a98bd81dc7adea5948705c9336221cde5a89b68d-open/schema.xml
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<schema>
|
| 2 |
+
<column index="0" name="Vorgangscode" type="identifier" language="de" nullable="forbidden" key="id">
|
| 3 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 4 |
+
<constraints encoding="json">{"case":"upper","pattern":"[A-Z]{2}-\\d{6}","trimmed":true}</constraints>
|
| 5 |
+
</column>
|
| 6 |
+
<column index="1" name="Externer Zahlencode" type="identifier" language="de" nullable="forbidden" key="external_code">
|
| 7 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 8 |
+
<constraints encoding="json">{"pattern":"\\d{8}"}</constraints>
|
| 9 |
+
</column>
|
| 10 |
+
<column index="2" name="Routencode" type="identifier" language="de" nullable="forbidden" key="route">
|
| 11 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 12 |
+
<constraints encoding="json">{"case":"upper","pattern":"[A-Z]{2}-\\d{6}","trimmed":true}</constraints>
|
| 13 |
+
</column>
|
| 14 |
+
<column index="3" name="Artikel" type="string" language="de" nullable="forbidden" key="item">
|
| 15 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 16 |
+
<constraints encoding="json">{"trimmed": true}</constraints>
|
| 17 |
+
</column>
|
| 18 |
+
<column index="4" name="Deklarierte Stückmasse" type="decimal" language="de" nullable="forbidden" key="declared">
|
| 19 |
+
<accepted_formats encoding="json">["decimal_dot"]</accepted_formats>
|
| 20 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 21 |
+
</column>
|
| 22 |
+
<column index="5" name="Einheit der deklarierten Masse" type="category" language="de" nullable="forbidden" key="declared_unit">
|
| 23 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 24 |
+
<constraints encoding="json">{"enum":["g","kg"]}</constraints>
|
| 25 |
+
</column>
|
| 26 |
+
<column index="6" name="Gemessene Stückmasse" type="decimal" language="de" nullable="forbidden" key="measured">
|
| 27 |
+
<accepted_formats encoding="json">["decimal_dot"]</accepted_formats>
|
| 28 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 29 |
+
</column>
|
| 30 |
+
<column index="7" name="Messeinheit" type="category" language="de" nullable="forbidden" key="measured_unit">
|
| 31 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 32 |
+
<constraints encoding="json">{"enum":["g","kg"]}</constraints>
|
| 33 |
+
</column>
|
| 34 |
+
<column index="8" name="Verpackungsmasse in Gramm" type="integer" language="de" nullable="forbidden" key="tare">
|
| 35 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 36 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 37 |
+
</column>
|
| 38 |
+
<column index="9" name="Bruttomasse in Gramm" type="integer" language="de" nullable="forbidden" key="gross">
|
| 39 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 40 |
+
<constraints encoding="json">{"minimum":0}</constraints>
|
| 41 |
+
</column>
|
| 42 |
+
<column index="10" name="Registrierter Anzeigename" type="string" language="de" nullable="forbidden" key="display">
|
| 43 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 44 |
+
<constraints encoding="json">{"case_sensitive":true,"enum":["luma","LUMA","Luma 東京","Luma Atelier"],"whitespace_policy":"preserve"}</constraints>
|
| 45 |
+
</column>
|
| 46 |
+
<column index="11" name="Bearbeitungshinweis" type="string" language="de" nullable="allowed" key="note">
|
| 47 |
+
<accepted_formats encoding="json">[]</accepted_formats>
|
| 48 |
+
<constraints encoding="json">{"embedded_delimiters_allowed":true,"whitespace_policy":"preserve"}</constraints>
|
| 49 |
+
</column>
|
| 50 |
+
<relations encoding="json">[["unit_equivalence","declared","declared_unit","measured","measured_unit"],"Gross grams = measured item mass converted to grams + packaging grams; exactly one item per parcel."]</relations>
|
| 51 |
+
<functional_dependencies encoding="json">{}</functional_dependencies>
|
| 52 |
+
</schema>
|