Repository navigation
01a0dc6b - Accept a place origin that starts with a digit - #9
Conversation
A leading digit is valid, so 21gifts passes the origin check. Length, lowercase, and the ban on a leading hyphen stay the same.
|
EN: DE: DetailsHead: Lane Final result: {
"schema": "a38-review/v2",
"head": "520643301d2a1a8850a3e4b8d6400b1363192fce",
"passes": 1,
"defects": 0,
"set_aside": "none",
"lanes": [
{"id": "conformity-a", "result": "pass", "status": "complete", "provider": "xAI", "model": "grok-4.6", "model_number": "1.0.34", "prompt": "Review the complete PR diff for conformity with CONTRIBUTING.md."},
{"id": "logic-a", "result": "pass", "status": "complete", "provider": "xAI", "model": "grok-4.6", "model_number": "1.0.34", "prompt": "Review the complete PR diff for logical correctness."}
]
}Conformity: the handbook purpose matches the new origin pattern, and no new function or route was added. Logic: PUT and GET both use normalizePlaceOrigin. 21gifts is accepted. A leading hyphen, uppercase, and a 33-character token stay rejected. The 32-character limit is covered. |
|
EN: DE: DetailsHead: Lane Final result: {
"schema": "a38-review/v2",
"head": "520643301d2a1a8850a3e4b8d6400b1363192fce",
"passes": 1,
"defects": 0,
"set_aside": "none",
"lanes": [
{"id": "conformity-b", "result": "pass", "status": "complete", "provider": "OpenAI", "model": "gpt-5.6-sol", "model_number": "gpt-5.6-sol", "prompt": "Review the complete PR diff for conformity with CONTRIBUTING.md."},
{"id": "logic-b", "result": "pass", "status": "complete", "provider": "OpenAI", "model": "gpt-5.6-sol", "model_number": "gpt-5.6-sol", "prompt": "Review the complete PR diff for logical correctness."}
]
}The second run also found no defects. The origin pattern, the handbook line, and the PUT and GET tests match. |
EN:
A place origin may start with a digit, so 21gifts is accepted.
The rest of the rule is unchanged: lowercase letters, digits, and hyphens, length 1 to 32, and no leading hyphen.
Uppercase tokens such as SPAR stay invalid.
PUT and GET accept 21gifts and still reject a bad origin.
DE:
Eine Place-Herkunft darf mit einer Ziffer beginnen, damit 21gifts gültig ist.
Der Rest der Regel bleibt: Kleinbuchstaben, Ziffern und Bindestriche, Länge 1 bis 32, kein führender Bindestrich.
Grossbuchstaben wie SPAR bleiben ungültig.
PUT und GET akzeptieren 21gifts und lehnen eine ungültige Herkunft weiter ab.
Details
The previous origin pattern required a leading letter, so
21giftswas rejected withPlace origin is invalid. The pattern is now^[a-z0-9][a-z0-9-]{0,31}$after trim.Still rejected: empty, whitespace only, a leading hyphen, uppercase, a dot, and anything longer than 32 characters.
21.giftsremains a tech provider, not an origin.The handbook purpose for
normalizePlaceOriginstates the new pattern. Unit tests cover the trimmed value, the 32-character limit, and the rejected forms. The route test covers PUT and GET for21giftswith tech provider21.giftsand categoryshopping, and the 400 responses for a leading hyphen and for21Gifts.