18 lines
937 B
JSON
18 lines
937 B
JSON
{
|
|
"version": 1,
|
|
"domain": "shared",
|
|
"description": "Raw ID forms → canonical form. Both Python (normalize_id) and the extension (content.js normalizeId) MUST agree on these. Mismatch here is a contract bug.",
|
|
"case_schema": {
|
|
"name": "human label",
|
|
"input": "raw ID-bearing token (no path, no extension)",
|
|
"expected": "canonical ID"
|
|
},
|
|
"cases": [
|
|
{ "name": "lowercase prefix uppercased", "input": "abc-027", "expected": "ABC-027" },
|
|
{ "name": "FC2 plain -> FC2-PPV", "input": "FC2-1841460", "expected": "FC2-PPV-1841460" },
|
|
{ "name": "FC2-PPV explicit preserved", "input": "FC2-PPV-1841460", "expected": "FC2-PPV-1841460" },
|
|
{ "name": "leading zeros preserved", "input": "ABF-042", "expected": "ABF-042" },
|
|
{ "name": "5-digit numeric segment", "input": "SDDE-12345", "expected": "SDDE-12345" }
|
|
]
|
|
}
|