{ "version": 1, "domain": "filename", "description": "Filename → canonical JAV ID (with optional #partN suffix). Consumed by Python rc-jav.extract_id.", "case_schema": { "name": "human label", "input": "filename including extension", "expected": "canonical ID (e.g. ABC-001 or ABC-001#part1) or null when no ID present" }, "cases": [ { "name": "plain dashed ID", "input": "ABC-027.mp4", "expected": "ABC-027" }, { "name": "dashed ID with resolution tag", "input": "SCOP-297 [1080p].mp4", "expected": "SCOP-297" }, { "name": "bracket-wrapped ID", "input": "[REAL-779].mp4", "expected": "REAL-779" }, { "name": "bracket-wrapped ID with extra tag", "input": "[SCOP-297] [1080p].mp4", "expected": "SCOP-297" }, { "name": "no-hyphen fallback", "input": "MVSD312.avi", "expected": "MVSD-312" }, { "name": "trailing lowercase variant letter", "input": "IBW-902z.mp4", "expected": "IBW-902z" }, { "name": "multipart _PART suffix", "input": "KV-118 - Aiba Reika_PART1.mp4", "expected": "KV-118#part1" }, { "name": "multipart _A letter suffix", "input": "KV-118_A.mp4", "expected": "KV-118#part1" }, { "name": "multipart trailing -N before bracket", "input": "OFJE-195-7 [480p].mp4", "expected": "OFJE-195#part7" }, { "name": "FC2 PPV plain", "input": "FC2-1841460.mp4", "expected": "FC2-PPV-1841460" }, { "name": "FC2 PPV explicit", "input": "FC2-PPV-1841460.mp4", "expected": "FC2-PPV-1841460" }, { "name": "no ID present", "input": "random_video.mp4", "expected": null } ] }