| { |
| "timestamp": "2026-06-22T14:18:38Z", |
| "target": "https://bayan10-bayan-api.hf.space", |
| "metrics": { |
| "Phase_A_Spelling": { |
| "total": 62, |
| "TP": 15, |
| "FP": 32, |
| "TN": 1, |
| "FN": 14, |
| "ERROR": 0, |
| "precision": 0.3191, |
| "recall": 0.5172, |
| "f1": 0.3947, |
| "false_positive_rate": 0.9697, |
| "false_negative_rate": 0.4828, |
| "overcorrection_rate": 0.5161, |
| "undercorrection_rate": 0.2258, |
| "latency_p50_ms": 4327, |
| "latency_p95_ms": 8719, |
| "latency_p99_ms": 11799 |
| }, |
| "Phase_B_Grammar": { |
| "total": 39, |
| "TP": 9, |
| "FP": 1, |
| "TN": 19, |
| "FN": 10, |
| "ERROR": 0, |
| "precision": 0.9, |
| "recall": 0.4737, |
| "f1": 0.6207, |
| "false_positive_rate": 0.05, |
| "false_negative_rate": 0.5263, |
| "overcorrection_rate": 0.0256, |
| "undercorrection_rate": 0.2564, |
| "latency_p50_ms": 1005, |
| "latency_p95_ms": 1509, |
| "latency_p99_ms": 1535 |
| }, |
| "Phase_C_Punctuation": { |
| "total": 10, |
| "TP": 7, |
| "FP": 2, |
| "TN": 1, |
| "FN": 0, |
| "ERROR": 0, |
| "precision": 0.7778, |
| "recall": 1.0, |
| "f1": 0.875, |
| "false_positive_rate": 0.6667, |
| "false_negative_rate": 0.0, |
| "overcorrection_rate": 0.2, |
| "undercorrection_rate": 0.0, |
| "latency_p50_ms": 977, |
| "latency_p95_ms": 1203, |
| "latency_p99_ms": 1203 |
| }, |
| "Phase_D_Pipeline": { |
| "total": 18, |
| "TP": 5, |
| "FP": 6, |
| "TN": 2, |
| "FN": 5, |
| "ERROR": 0, |
| "precision": 0.4545, |
| "recall": 0.5, |
| "f1": 0.4762, |
| "false_positive_rate": 0.75, |
| "false_negative_rate": 0.5, |
| "overcorrection_rate": 0.3333, |
| "undercorrection_rate": 0.2778, |
| "latency_p50_ms": 4617, |
| "latency_p95_ms": 20813, |
| "latency_p99_ms": 20813 |
| }, |
| "Phase_E_Adversarial": { |
| "total": 23, |
| "TP": 6, |
| "FP": 14, |
| "TN": 3, |
| "FN": 0, |
| "ERROR": 0, |
| "precision": 0.3, |
| "recall": 1.0, |
| "f1": 0.4615, |
| "false_positive_rate": 0.8235, |
| "false_negative_rate": 0.0, |
| "overcorrection_rate": 0.6087, |
| "undercorrection_rate": 0.0, |
| "latency_p50_ms": 5487, |
| "latency_p95_ms": 16521, |
| "latency_p99_ms": 20189 |
| } |
| }, |
| "total_tests": 152, |
| "summary": { |
| "TP": 42, |
| "TN": 26, |
| "FP": 55, |
| "FN": 29, |
| "ERROR": 0, |
| "pass_rate": 0.4474 |
| }, |
| "results": [ |
| { |
| "tc_id": "A001", |
| "phase": "A", |
| "category": "hamza", |
| "input": "انا طالب في الجامعة", |
| "expected": "أنا طالب في الجامعة", |
| "actual_output": "انا طالب في الجامعة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 19, |
| "id": "8939e4f3-7a8e-4df4-8e02-5099924cf33c", |
| "locked": true, |
| "original": "الجامعة", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 10031, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['انا']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "انا طالب في الجامعة.", |
| "original": "انا طالب في الجامعة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 19, |
| "id": "8939e4f3-7a8e-4df4-8e02-5099924cf33c", |
| "locked": true, |
| "original": "الجامعة", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 3310, |
| "punctuation_ms": 2585, |
| "spelling_ms": 3043, |
| "total_ms": 8940 |
| } |
| } |
| }, |
| { |
| "tc_id": "A002", |
| "phase": "A", |
| "category": "hamza", |
| "input": "اذا جاء الربيع تزهر الأشجار", |
| "expected": "إذا جاء الربيع تزهر الأشجار", |
| "actual_output": "إذا جاء الربيع تزهر الأشجار.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الأشجار.", |
| "end": 27, |
| "id": "380926d8-9d15-47d5-b610-f288ea6a245f", |
| "locked": true, |
| "original": "الأشجار", |
| "priority": 2, |
| "start": 20, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "إذا", |
| "الا", |
| "هذا", |
| "اذا" |
| ], |
| "confidence": 0.9, |
| "correction": "إذا", |
| "end": 3, |
| "id": "b088110b-9342-41e2-8389-e351f5e61903", |
| "locked": true, |
| "original": "اذا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 5038, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "إذا جاء الربيع تزهر الأشجار.", |
| "original": "اذا جاء الربيع تزهر الأشجار", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الأشجار.", |
| "end": 27, |
| "id": "380926d8-9d15-47d5-b610-f288ea6a245f", |
| "locked": true, |
| "original": "الأشجار", |
| "priority": 2, |
| "start": 20, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "إذا", |
| "الا", |
| "هذا", |
| "اذا" |
| ], |
| "confidence": 0.9, |
| "correction": "إذا", |
| "end": 3, |
| "id": "b088110b-9342-41e2-8389-e351f5e61903", |
| "locked": true, |
| "original": "اذا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 634, |
| "punctuation_ms": 503, |
| "spelling_ms": 3386, |
| "total_ms": 4526 |
| } |
| } |
| }, |
| { |
| "tc_id": "A003", |
| "phase": "A", |
| "category": "hamza", |
| "input": "ايضا هذا الأمر مهم جداً", |
| "expected": "أيضاً هذا الأمر مهم جداً", |
| "actual_output": "ايضا هذا الأمر مهم جدا.ً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 22, |
| "id": "3583ee30-78b8-4468-a8a2-72d010ccd0e9", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4297, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['ايضا']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ايضا هذا الأمر مهم جدا.ً", |
| "original": "ايضا هذا الأمر مهم جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 22, |
| "id": "3583ee30-78b8-4468-a8a2-72d010ccd0e9", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 685, |
| "punctuation_ms": 516, |
| "spelling_ms": 2781, |
| "total_ms": 3984 |
| } |
| } |
| }, |
| { |
| "tc_id": "A004", |
| "phase": "A", |
| "category": "hamza", |
| "input": "لان الأمر يتعلق بالمستقبل", |
| "expected": "لأن الأمر يتعلق بالمستقبل", |
| "actual_output": "لان الأمر يتعلق بالمستقبل.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بالمستقبل.", |
| "end": 25, |
| "id": "3e27e74c-58a5-4008-ad79-ec7719072c3e", |
| "locked": true, |
| "original": "بالمستقبل", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4337, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['لان']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "لان الأمر يتعلق بالمستقبل.", |
| "original": "لان الأمر يتعلق بالمستقبل", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بالمستقبل.", |
| "end": 25, |
| "id": "3e27e74c-58a5-4008-ad79-ec7719072c3e", |
| "locked": true, |
| "original": "بالمستقبل", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 640, |
| "punctuation_ms": 706, |
| "spelling_ms": 2766, |
| "total_ms": 4113 |
| } |
| } |
| }, |
| { |
| "tc_id": "A005", |
| "phase": "A", |
| "category": "hamza", |
| "input": "اين ذهبت أمس", |
| "expected": "أين ذهبت أمس", |
| "actual_output": "اين ذهبت أمس؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "أمس؟", |
| "end": 12, |
| "id": "df46626f-1f2b-4fc4-8dbd-6ed8b3f57071", |
| "locked": true, |
| "original": "أمس", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2678, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['اين']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "اين ذهبت أمس؟", |
| "original": "اين ذهبت أمس", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "أمس؟", |
| "end": 12, |
| "id": "df46626f-1f2b-4fc4-8dbd-6ed8b3f57071", |
| "locked": true, |
| "original": "أمس", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 489, |
| "punctuation_ms": 334, |
| "spelling_ms": 1629, |
| "total_ms": 2454 |
| } |
| } |
| }, |
| { |
| "tc_id": "A006", |
| "phase": "A", |
| "category": "hamza", |
| "input": "اول مرة أزور هذا المكان", |
| "expected": "أول مرة أزور هذا المكان", |
| "actual_output": "اول مرة أزور هذا المكان.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المكان.", |
| "end": 23, |
| "id": "694fdffe-3e31-46c7-ae5d-5beefa8e3d32", |
| "locked": true, |
| "original": "المكان", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4404, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['اول']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "اول مرة أزور هذا المكان.", |
| "original": "اول مرة أزور هذا المكان", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المكان.", |
| "end": 23, |
| "id": "694fdffe-3e31-46c7-ae5d-5beefa8e3d32", |
| "locked": true, |
| "original": "المكان", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 599, |
| "punctuation_ms": 468, |
| "spelling_ms": 2904, |
| "total_ms": 3973 |
| } |
| } |
| }, |
| { |
| "tc_id": "A007", |
| "phase": "A", |
| "category": "hamza", |
| "input": "هذا او ذاك لا فرق", |
| "expected": "هذا أو ذاك لا فرق", |
| "actual_output": "هذا او ذاك لا فرق.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "فرق.", |
| "end": 17, |
| "id": "d6a27808-bc38-4246-9373-2a469154ed1a", |
| "locked": true, |
| "original": "فرق", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4327, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['او']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "هذا او ذاك لا فرق.", |
| "original": "هذا او ذاك لا فرق", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "فرق.", |
| "end": 17, |
| "id": "d6a27808-bc38-4246-9373-2a469154ed1a", |
| "locked": true, |
| "original": "فرق", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 588, |
| "punctuation_ms": 413, |
| "spelling_ms": 3100, |
| "total_ms": 4102 |
| } |
| } |
| }, |
| { |
| "tc_id": "A008", |
| "phase": "A", |
| "category": "hamza", |
| "input": "اكبر مدينة في العالم", |
| "expected": "أكبر مدينة في العالم", |
| "actual_output": "أكبر مدينة في العالم؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "العالم؟", |
| "end": 20, |
| "id": "32fc6943-91d7-4f9f-93fc-1219faae21e2", |
| "locked": true, |
| "original": "العالم", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "أكبر", |
| "البر", |
| "اكثر", |
| "اكبر" |
| ], |
| "confidence": 0.9, |
| "correction": "أكبر", |
| "end": 4, |
| "id": "47727191-3521-4c7c-979a-015131397fb0", |
| "locked": true, |
| "original": "اكبر", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 3289, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أكبر مدينة في العالم؟", |
| "original": "اكبر مدينة في العالم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "العالم؟", |
| "end": 20, |
| "id": "32fc6943-91d7-4f9f-93fc-1219faae21e2", |
| "locked": true, |
| "original": "العالم", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "أكبر", |
| "البر", |
| "اكثر", |
| "اكبر" |
| ], |
| "confidence": 0.9, |
| "correction": "أكبر", |
| "end": 4, |
| "id": "47727191-3521-4c7c-979a-015131397fb0", |
| "locked": true, |
| "original": "اكبر", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 495, |
| "punctuation_ms": 438, |
| "spelling_ms": 1838, |
| "total_ms": 2777 |
| } |
| } |
| }, |
| { |
| "tc_id": "A009", |
| "phase": "A", |
| "category": "hamza", |
| "input": "اصغر طالب في الصف", |
| "expected": "أصغر طالب في الصف", |
| "actual_output": "أصغر طالب في الصف؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الصف؟", |
| "end": 17, |
| "id": "c4fba842-11d2-4ea4-9112-574254007b77", |
| "locked": true, |
| "original": "الصف", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "أصغر", |
| "اصدر", |
| "الغر", |
| "اصغر" |
| ], |
| "confidence": 0.9, |
| "correction": "أصغر", |
| "end": 4, |
| "id": "b46f4d6a-0131-4374-bcf6-043b04b315de", |
| "locked": true, |
| "original": "اصغر", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 2992, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أصغر طالب في الصف؟", |
| "original": "اصغر طالب في الصف", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الصف؟", |
| "end": 17, |
| "id": "c4fba842-11d2-4ea4-9112-574254007b77", |
| "locked": true, |
| "original": "الصف", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "أصغر", |
| "اصدر", |
| "الغر", |
| "اصغر" |
| ], |
| "confidence": 0.9, |
| "correction": "أصغر", |
| "end": 4, |
| "id": "b46f4d6a-0131-4374-bcf6-043b04b315de", |
| "locked": true, |
| "original": "اصغر", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 587, |
| "punctuation_ms": 361, |
| "spelling_ms": 1731, |
| "total_ms": 2682 |
| } |
| } |
| }, |
| { |
| "tc_id": "A010", |
| "phase": "A", |
| "category": "hamza", |
| "input": "ابناء الوطن يعملون بجد", |
| "expected": "أبناء الوطن يعملون بجد", |
| "actual_output": "أبناء الوطن يعملون بجد.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بجد.", |
| "end": 22, |
| "id": "e0f073fc-dd1a-4a42-92b0-c50cf7cf41e4", |
| "locked": true, |
| "original": "بجد", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أبناء", |
| "end": 5, |
| "id": "9b009b84-0a61-4d30-a3f5-ca8ed4591a74", |
| "locked": true, |
| "original": "ابناء", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 3180, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أبناء الوطن يعملون بجد.", |
| "original": "ابناء الوطن يعملون بجد", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بجد.", |
| "end": 22, |
| "id": "e0f073fc-dd1a-4a42-92b0-c50cf7cf41e4", |
| "locked": true, |
| "original": "بجد", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أبناء", |
| "end": 5, |
| "id": "9b009b84-0a61-4d30-a3f5-ca8ed4591a74", |
| "locked": true, |
| "original": "ابناء", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 589, |
| "punctuation_ms": 562, |
| "spelling_ms": 1719, |
| "total_ms": 2873 |
| } |
| } |
| }, |
| { |
| "tc_id": "A011", |
| "phase": "A", |
| "category": "hamza", |
| "input": "اطفال المدرسة يلعبون", |
| "expected": "أطفال المدرسة يلعبون", |
| "actual_output": "أطفال المدرسة يلعبون.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "يلعبون.", |
| "end": 20, |
| "id": "3db018b6-8f14-483f-8c96-e939b479adec", |
| "locked": true, |
| "original": "يلعبون", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "أطفال", |
| "اقفال", |
| "اطفاء", |
| "اطفال" |
| ], |
| "confidence": 0.9, |
| "correction": "أطفال", |
| "end": 5, |
| "id": "dd0f53f6-6cd3-47da-b5d2-8141d83dd498", |
| "locked": true, |
| "original": "اطفال", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 3063, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أطفال المدرسة يلعبون.", |
| "original": "اطفال المدرسة يلعبون", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "يلعبون.", |
| "end": 20, |
| "id": "3db018b6-8f14-483f-8c96-e939b479adec", |
| "locked": true, |
| "original": "يلعبون", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "أطفال", |
| "اقفال", |
| "اطفاء", |
| "اطفال" |
| ], |
| "confidence": 0.9, |
| "correction": "أطفال", |
| "end": 5, |
| "id": "dd0f53f6-6cd3-47da-b5d2-8141d83dd498", |
| "locked": true, |
| "original": "اطفال", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 527, |
| "punctuation_ms": 435, |
| "spelling_ms": 1785, |
| "total_ms": 2752 |
| } |
| } |
| }, |
| { |
| "tc_id": "A012", |
| "phase": "A", |
| "category": "hamza", |
| "input": "اخيراً وصلنا إلى الهدف", |
| "expected": "أخيراً وصلنا إلى الهدف", |
| "actual_output": "أخيرا وصلنا إلى الهدف.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الهدف.", |
| "end": 22, |
| "id": "6dc2b0e7-bd90-497d-9bdb-c89c34cb5d45", |
| "locked": true, |
| "original": "الهدف", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أخيرا", |
| "end": 6, |
| "id": "7cc01c5e-f4c9-44cd-94f7-313b883d6579", |
| "locked": true, |
| "original": "اخيراً", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 4686, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أخيرا وصلنا إلى الهدف.", |
| "original": "اخيراً وصلنا إلى الهدف", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الهدف.", |
| "end": 22, |
| "id": "6dc2b0e7-bd90-497d-9bdb-c89c34cb5d45", |
| "locked": true, |
| "original": "الهدف", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أخيرا", |
| "end": 6, |
| "id": "7cc01c5e-f4c9-44cd-94f7-313b883d6579", |
| "locked": true, |
| "original": "اخيراً", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 588, |
| "punctuation_ms": 570, |
| "spelling_ms": 3221, |
| "total_ms": 4380 |
| } |
| } |
| }, |
| { |
| "tc_id": "A013", |
| "phase": "A", |
| "category": "hamza", |
| "input": "وقف امام المدرسة", |
| "expected": "وقف أمام المدرسة", |
| "actual_output": "وقف امام المدرسة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 16, |
| "id": "44a38edb-da20-4d6c-b55a-d9b28e41055d", |
| "locked": true, |
| "original": "المدرسة", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2572, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['امام']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "وقف امام المدرسة.", |
| "original": "وقف امام المدرسة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 16, |
| "id": "44a38edb-da20-4d6c-b55a-d9b28e41055d", |
| "locked": true, |
| "original": "المدرسة", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 436, |
| "punctuation_ms": 498, |
| "spelling_ms": 1325, |
| "total_ms": 2261 |
| } |
| } |
| }, |
| { |
| "tc_id": "A014", |
| "phase": "A", |
| "category": "hamza_prefix", |
| "input": "والاسعار مرتفعة جداً", |
| "expected": "والأسعار مرتفعة جداً", |
| "actual_output": "والاسعار مرتفعة جدا.ً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 19, |
| "id": "c3fa6081-b133-4ce4-942c-939809ac1431", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3265, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['والاسعار']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "والاسعار مرتفعة جدا.ً", |
| "original": "والاسعار مرتفعة جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 19, |
| "id": "c3fa6081-b133-4ce4-942c-939809ac1431", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 587, |
| "punctuation_ms": 369, |
| "spelling_ms": 2081, |
| "total_ms": 3040 |
| } |
| } |
| }, |
| { |
| "tc_id": "A015", |
| "phase": "A", |
| "category": "hamza_prefix", |
| "input": "بالاضافة إلى ذلك", |
| "expected": "بالإضافة إلى ذلك", |
| "actual_output": "بالإضافة إلى ذلك.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "ذلك.", |
| "end": 16, |
| "id": "67ac5dbe-f543-4c46-b43b-8184d7fafd4e", |
| "locked": true, |
| "original": "ذلك", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "بالإضافة", |
| "end": 8, |
| "id": "65791451-9b36-4a72-9f94-eac1f2709636", |
| "locked": true, |
| "original": "بالاضافة", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 3403, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "بالإضافة إلى ذلك.", |
| "original": "بالاضافة إلى ذلك", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "ذلك.", |
| "end": 16, |
| "id": "67ac5dbe-f543-4c46-b43b-8184d7fafd4e", |
| "locked": true, |
| "original": "ذلك", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "بالإضافة", |
| "end": 8, |
| "id": "65791451-9b36-4a72-9f94-eac1f2709636", |
| "locked": true, |
| "original": "بالاضافة", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 464, |
| "punctuation_ms": 374, |
| "spelling_ms": 2252, |
| "total_ms": 3093 |
| } |
| } |
| }, |
| { |
| "tc_id": "A016", |
| "phase": "A", |
| "category": "hamza_prefix", |
| "input": "فالانسان يحتاج للعلم", |
| "expected": "فالإنسان يحتاج للعلم", |
| "actual_output": "فالانسان يحتاج للعلم.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "للعلم.", |
| "end": 20, |
| "id": "af7b26f5-ef9c-4cab-860c-a0ac4f519a75", |
| "locked": true, |
| "original": "للعلم", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4621, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['فالانسان']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "فالانسان يحتاج للعلم.", |
| "original": "فالانسان يحتاج للعلم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "للعلم.", |
| "end": 20, |
| "id": "af7b26f5-ef9c-4cab-860c-a0ac4f519a75", |
| "locked": true, |
| "original": "للعلم", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 486, |
| "punctuation_ms": 521, |
| "spelling_ms": 3305, |
| "total_ms": 4313 |
| } |
| } |
| }, |
| { |
| "tc_id": "A017", |
| "phase": "A", |
| "category": "ta_marbuta", |
| "input": "المدرسه كبيره وجميله", |
| "expected": "المدرسة كبيرة وجميلة", |
| "actual_output": "المدرسة كبيرة وجميلة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "وجميلة.", |
| "end": 20, |
| "id": "a93ee535-3143-4631-b0b6-9ed757695c27", |
| "locked": true, |
| "original": "وجميله", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المدرسة كبيرة", |
| "end": 13, |
| "id": "83e13458-71c4-45cf-abd0-df1c4698e0b9", |
| "locked": true, |
| "original": "المدرسه كبيره", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 2094, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "المدرسة كبيرة وجميلة.", |
| "original": "المدرسه كبيره وجميله", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "وجميلة.", |
| "end": 20, |
| "id": "a93ee535-3143-4631-b0b6-9ed757695c27", |
| "locked": true, |
| "original": "وجميله", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المدرسة كبيرة", |
| "end": 13, |
| "id": "83e13458-71c4-45cf-abd0-df1c4698e0b9", |
| "locked": true, |
| "original": "المدرسه كبيره", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 503, |
| "punctuation_ms": 532, |
| "spelling_ms": 747, |
| "total_ms": 1784 |
| } |
| } |
| }, |
| { |
| "tc_id": "A018", |
| "phase": "A", |
| "category": "ta_marbuta", |
| "input": "الجامعه في القاهره", |
| "expected": "الجامعة في القاهرة", |
| "actual_output": "الجامعة في القاهرة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "القاهرة.", |
| "end": 18, |
| "id": "c2b46be6-ec54-47d8-86ba-ea3237b333d8", |
| "locked": true, |
| "original": "القاهره", |
| "priority": 2, |
| "start": 11, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "الجامعة", |
| "الجامعي", |
| "الجامع", |
| "الجامعه" |
| ], |
| "confidence": 0.9, |
| "correction": "الجامعة", |
| "end": 7, |
| "id": "3cd07fe0-89d4-4c5f-ad2b-ec07299c3204", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 5026, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الجامعة في القاهرة.", |
| "original": "الجامعه في القاهره", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "القاهرة.", |
| "end": 18, |
| "id": "c2b46be6-ec54-47d8-86ba-ea3237b333d8", |
| "locked": true, |
| "original": "القاهره", |
| "priority": 2, |
| "start": 11, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "الجامعة", |
| "الجامعي", |
| "الجامع", |
| "الجامعه" |
| ], |
| "confidence": 0.9, |
| "correction": "الجامعة", |
| "end": 7, |
| "id": "3cd07fe0-89d4-4c5f-ad2b-ec07299c3204", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 429, |
| "punctuation_ms": 626, |
| "spelling_ms": 3659, |
| "total_ms": 4718 |
| } |
| } |
| }, |
| { |
| "tc_id": "A019", |
| "phase": "A", |
| "category": "ta_marbuta", |
| "input": "السياره سريعه جداً", |
| "expected": "السيارة سريعة جداً", |
| "actual_output": "السياره سريعه جدا.ً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 17, |
| "id": "5f162adc-9922-4687-b7cf-2c8bd7c9416a", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3806, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['السياره', 'سريعه']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "السياره سريعه جدا.ً", |
| "original": "السياره سريعه جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 17, |
| "id": "5f162adc-9922-4687-b7cf-2c8bd7c9416a", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 632, |
| "punctuation_ms": 367, |
| "spelling_ms": 2496, |
| "total_ms": 3497 |
| } |
| } |
| }, |
| { |
| "tc_id": "A020", |
| "phase": "A", |
| "category": "ta_marbuta", |
| "input": "الشجره طويله", |
| "expected": "الشجرة طويلة", |
| "actual_output": "الشجرة طويلة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "طويلة.", |
| "end": 12, |
| "id": "cd0f96ef-317f-4836-8547-bb59653cc9e5", |
| "locked": true, |
| "original": "طويله", |
| "priority": 2, |
| "start": 7, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "الشجرة", |
| "الشجر", |
| "الشجره" |
| ], |
| "confidence": 0.9, |
| "correction": "الشجرة", |
| "end": 6, |
| "id": "e69c72b8-4436-4ad1-a95c-6f5bd4b9839e", |
| "locked": true, |
| "original": "الشجره", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 3743, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الشجرة طويلة.", |
| "original": "الشجره طويله", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "طويلة.", |
| "end": 12, |
| "id": "cd0f96ef-317f-4836-8547-bb59653cc9e5", |
| "locked": true, |
| "original": "طويله", |
| "priority": 2, |
| "start": 7, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "الشجرة", |
| "الشجر", |
| "الشجره" |
| ], |
| "confidence": 0.9, |
| "correction": "الشجرة", |
| "end": 6, |
| "id": "e69c72b8-4436-4ad1-a95c-6f5bd4b9839e", |
| "locked": true, |
| "original": "الشجره", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 436, |
| "punctuation_ms": 379, |
| "spelling_ms": 2613, |
| "total_ms": 3432 |
| } |
| } |
| }, |
| { |
| "tc_id": "A021", |
| "phase": "A", |
| "category": "ta_marbuta", |
| "input": "الحياه صعبه في المدينه", |
| "expected": "الحياة صعبة في المدينة", |
| "actual_output": "الحياة صعبة في المدينة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدينة.", |
| "end": 22, |
| "id": "1d1f214d-6984-4d4f-bda5-d7344cfa8004", |
| "locked": true, |
| "original": "المدينه", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الحياة صعبة", |
| "end": 11, |
| "id": "2bf03d8a-d06b-459a-bc6d-ce652d9b1a27", |
| "locked": true, |
| "original": "الحياه صعبه", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 2330, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الحياة صعبة في المدينة.", |
| "original": "الحياه صعبه في المدينه", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدينة.", |
| "end": 22, |
| "id": "1d1f214d-6984-4d4f-bda5-d7344cfa8004", |
| "locked": true, |
| "original": "المدينه", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الحياة صعبة", |
| "end": 11, |
| "id": "2bf03d8a-d06b-459a-bc6d-ce652d9b1a27", |
| "locked": true, |
| "original": "الحياه صعبه", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 642, |
| "punctuation_ms": 636, |
| "spelling_ms": 741, |
| "total_ms": 2021 |
| } |
| } |
| }, |
| { |
| "tc_id": "A022", |
| "phase": "A", |
| "category": "ta_marbuta", |
| "input": "بالمدرسه الكبيره", |
| "expected": "بالمدرسة الكبيرة", |
| "actual_output": "بالمدرسة الكبيرة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الكبيرة.", |
| "end": 16, |
| "id": "ace7ce2f-a1fe-4f24-94bb-a652c07a0fcc", |
| "locked": true, |
| "original": "الكبيره", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "بالمدرسة", |
| "بالمدرسه" |
| ], |
| "confidence": 0.9, |
| "correction": "بالمدرسة", |
| "end": 8, |
| "id": "6c9de1c1-e47d-4ad7-bfb8-9a64d06c4396", |
| "locked": true, |
| "original": "بالمدرسه", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 4720, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "بالمدرسة الكبيرة.", |
| "original": "بالمدرسه الكبيره", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الكبيرة.", |
| "end": 16, |
| "id": "ace7ce2f-a1fe-4f24-94bb-a652c07a0fcc", |
| "locked": true, |
| "original": "الكبيره", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "بالمدرسة", |
| "بالمدرسه" |
| ], |
| "confidence": 0.9, |
| "correction": "بالمدرسة", |
| "end": 8, |
| "id": "6c9de1c1-e47d-4ad7-bfb8-9a64d06c4396", |
| "locked": true, |
| "original": "بالمدرسه", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 390, |
| "punctuation_ms": 485, |
| "spelling_ms": 3498, |
| "total_ms": 4377 |
| } |
| } |
| }, |
| { |
| "tc_id": "A023", |
| "phase": "A", |
| "category": "alif_maqsura", |
| "input": "ذهبت الي المكتبة", |
| "expected": "ذهبت إلى المكتبة", |
| "actual_output": "ذهبت الي المكتبة؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المكتبة؟", |
| "end": 16, |
| "id": "dc89d837-3094-46d6-ae74-90304f9f078d", |
| "locked": true, |
| "original": "المكتبة", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3078, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['الي']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ذهبت الي المكتبة؟", |
| "original": "ذهبت الي المكتبة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المكتبة؟", |
| "end": 16, |
| "id": "dc89d837-3094-46d6-ae74-90304f9f078d", |
| "locked": true, |
| "original": "المكتبة", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 487, |
| "punctuation_ms": 447, |
| "spelling_ms": 1833, |
| "total_ms": 2769 |
| } |
| } |
| }, |
| { |
| "tc_id": "A024", |
| "phase": "A", |
| "category": "alif_maqsura", |
| "input": "المستشفي الكبير", |
| "expected": "المستشفى الكبير", |
| "actual_output": "المستشفى الكبير.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الكبير.", |
| "end": 15, |
| "id": "a83e2048-77ee-4590-a408-8e2d49f985b7", |
| "locked": true, |
| "original": "الكبير", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المستشفى", |
| "end": 8, |
| "id": "fdefcaa7-78af-4fa0-a0dc-34a2c923030d", |
| "locked": true, |
| "original": "المستشفي", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 2297, |
| "verdict": "TP", |
| "detail": "Corrected: 2 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "المستشفى الكبير.", |
| "original": "المستشفي الكبير", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الكبير.", |
| "end": 15, |
| "id": "a83e2048-77ee-4590-a408-8e2d49f985b7", |
| "locked": true, |
| "original": "الكبير", |
| "priority": 2, |
| "start": 9, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المستشفى", |
| "end": 8, |
| "id": "fdefcaa7-78af-4fa0-a0dc-34a2c923030d", |
| "locked": true, |
| "original": "المستشفي", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 325, |
| "punctuation_ms": 376, |
| "spelling_ms": 1285, |
| "total_ms": 1988 |
| } |
| } |
| }, |
| { |
| "tc_id": "A025", |
| "phase": "A", |
| "category": "alif_maqsura", |
| "input": "هدي الطالبة ممتاز", |
| "expected": "هدى الطالبة ممتاز", |
| "actual_output": "هدي الطالبة ممتاز.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "ممتاز.", |
| "end": 17, |
| "id": "94264cfc-d205-499b-b2cb-ced69f8aab1b", |
| "locked": true, |
| "original": "ممتاز", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2732, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['هدي']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "هدي الطالبة ممتاز.", |
| "original": "هدي الطالبة ممتاز", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "ممتاز.", |
| "end": 17, |
| "id": "94264cfc-d205-499b-b2cb-ced69f8aab1b", |
| "locked": true, |
| "original": "ممتاز", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 439, |
| "punctuation_ms": 431, |
| "spelling_ms": 1553, |
| "total_ms": 2425 |
| } |
| } |
| }, |
| { |
| "tc_id": "A026", |
| "phase": "A", |
| "category": "word_split", |
| "input": "ذهبت فيالبيت", |
| "expected": "ذهبت في البيت", |
| "actual_output": "ذهبت في البيت", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "في البيت", |
| "فيالبيت" |
| ], |
| "confidence": 0.85, |
| "correction": "في البيت", |
| "end": 12, |
| "id": "8881ef53-67a7-451f-8d09-7a59127187c6", |
| "locked": true, |
| "original": "فيالبيت", |
| "priority": 1, |
| "start": 5, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 2835, |
| "verdict": "TP", |
| "detail": "Corrected: 1 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ذهبت في البيت", |
| "original": "ذهبت فيالبيت", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "في البيت", |
| "فيالبيت" |
| ], |
| "confidence": 0.85, |
| "correction": "في البيت", |
| "end": 12, |
| "id": "8881ef53-67a7-451f-8d09-7a59127187c6", |
| "locked": true, |
| "original": "فيالبيت", |
| "priority": 1, |
| "start": 5, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 533, |
| "punctuation_ms": 420, |
| "spelling_ms": 1536, |
| "total_ms": 2491 |
| } |
| } |
| }, |
| { |
| "tc_id": "A027", |
| "phase": "A", |
| "category": "word_split", |
| "input": "خرج منالمدرسة", |
| "expected": "خرج من المدرسة", |
| "actual_output": "خرج منالمدرسة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 13, |
| "id": "8d219008-1505-46a5-90a9-f5567e1db38c", |
| "locked": true, |
| "original": "المدرسة", |
| "priority": 2, |
| "start": 6, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3495, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['منالمدرسة']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "خرج منالمدرسة.", |
| "original": "خرج منالمدرسة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 13, |
| "id": "8d219008-1505-46a5-90a9-f5567e1db38c", |
| "locked": true, |
| "original": "المدرسة", |
| "priority": 2, |
| "start": 6, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 431, |
| "punctuation_ms": 439, |
| "spelling_ms": 2308, |
| "total_ms": 3179 |
| } |
| } |
| }, |
| { |
| "tc_id": "A028", |
| "phase": "A", |
| "category": "word_split", |
| "input": "بقي عندالباب", |
| "expected": "بقي عند الباب", |
| "actual_output": "بقي عندالباب.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الباب.", |
| "end": 12, |
| "id": "65e177ca-e010-405f-a87b-0fbcf4e2be4e", |
| "locked": true, |
| "original": "الباب", |
| "priority": 2, |
| "start": 7, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2753, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['عندالباب']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "بقي عندالباب.", |
| "original": "بقي عندالباب", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الباب.", |
| "end": 12, |
| "id": "65e177ca-e010-405f-a87b-0fbcf4e2be4e", |
| "locked": true, |
| "original": "الباب", |
| "priority": 2, |
| "start": 7, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 440, |
| "punctuation_ms": 397, |
| "spelling_ms": 1606, |
| "total_ms": 2445 |
| } |
| } |
| }, |
| { |
| "tc_id": "A029", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "أنا ذهبت إلى الجامعة", |
| "expected": "أنا ذهبت إلى الجامعة", |
| "actual_output": "أنا ذهبت إلى الجامعة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 20, |
| "id": "4b88f038-a89b-4a51-9fb7-f3187315d795", |
| "locked": true, |
| "original": "الجامعة", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3185, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الجامعة→الجامعة.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أنا ذهبت إلى الجامعة.", |
| "original": "أنا ذهبت إلى الجامعة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 20, |
| "id": "4b88f038-a89b-4a51-9fb7-f3187315d795", |
| "locked": true, |
| "original": "الجامعة", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 589, |
| "punctuation_ms": 449, |
| "spelling_ms": 1888, |
| "total_ms": 2927 |
| } |
| } |
| }, |
| { |
| "tc_id": "A030", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "هذه المدرسة جميلة جداً", |
| "expected": "هذه المدرسة جميلة جداً", |
| "actual_output": "هذه المدرسة جميلة جدا.ً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 21, |
| "id": "91e3b314-55de-41f5-a331-d42484def563", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 18, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3545, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['جدا→جدا.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "هذه المدرسة جميلة جدا.ً", |
| "original": "هذه المدرسة جميلة جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 21, |
| "id": "91e3b314-55de-41f5-a331-d42484def563", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 18, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 630, |
| "punctuation_ms": 524, |
| "spelling_ms": 2081, |
| "total_ms": 3237 |
| } |
| } |
| }, |
| { |
| "tc_id": "A031", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "كان الجو ممطراً اليوم", |
| "expected": "كان الجو ممطراً اليوم", |
| "actual_output": "كان الجو ممطرا اليوم؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "اليوم؟", |
| "end": 21, |
| "id": "17998e2e-869b-43c7-a0d4-435ff1add7fd", |
| "locked": true, |
| "original": "اليوم", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "ممطرا", |
| "end": 15, |
| "id": "511508f9-b234-41cc-bf07-096d46874154", |
| "locked": true, |
| "original": "ممطراً", |
| "priority": 1, |
| "start": 9, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 3860, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['اليوم→اليوم؟', 'ممطراً→ممطرا']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "كان الجو ممطرا اليوم؟", |
| "original": "كان الجو ممطراً اليوم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "اليوم؟", |
| "end": 21, |
| "id": "17998e2e-869b-43c7-a0d4-435ff1add7fd", |
| "locked": true, |
| "original": "اليوم", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "ممطرا", |
| "end": 15, |
| "id": "511508f9-b234-41cc-bf07-096d46874154", |
| "locked": true, |
| "original": "ممطراً", |
| "priority": 1, |
| "start": 9, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 733, |
| "punctuation_ms": 582, |
| "spelling_ms": 2234, |
| "total_ms": 3551 |
| } |
| } |
| }, |
| { |
| "tc_id": "A032", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "وكان أحمد في المنزل", |
| "expected": "وكان أحمد في المنزل", |
| "actual_output": "وكان أحمد في المنزل.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المنزل.", |
| "end": 19, |
| "id": "89e35c14-3c79-455f-9172-222f8d5e4b8a", |
| "locked": true, |
| "original": "المنزل", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3085, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['المنزل→المنزل.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "وكان أحمد في المنزل.", |
| "original": "وكان أحمد في المنزل", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المنزل.", |
| "end": 19, |
| "id": "89e35c14-3c79-455f-9172-222f8d5e4b8a", |
| "locked": true, |
| "original": "المنزل", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 536, |
| "punctuation_ms": 485, |
| "spelling_ms": 1752, |
| "total_ms": 2774 |
| } |
| } |
| }, |
| { |
| "tc_id": "A033", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "إلى اللقاء يا صديقي", |
| "expected": "إلى اللقاء يا صديقي", |
| "actual_output": "إلى اللقاء يا صديقي.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "صديقي.", |
| "end": 19, |
| "id": "22e73e92-8fc0-463f-9e19-aa8de47cbc6f", |
| "locked": true, |
| "original": "صديقي", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3629, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['صديقي→صديقي.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "إلى اللقاء يا صديقي.", |
| "original": "إلى اللقاء يا صديقي", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "صديقي.", |
| "end": 19, |
| "id": "22e73e92-8fc0-463f-9e19-aa8de47cbc6f", |
| "locked": true, |
| "original": "صديقي", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 534, |
| "punctuation_ms": 407, |
| "spelling_ms": 2380, |
| "total_ms": 3321 |
| } |
| } |
| }, |
| { |
| "tc_id": "A034", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "ذلك الكتاب مفيد جداً", |
| "expected": "ذلك الكتاب مفيد جداً", |
| "actual_output": "ذلك الكتاب مفيد جدا.ً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 19, |
| "id": "7beff9d6-aacf-4a3e-b1d5-5955a9799271", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3764, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['جدا→جدا.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ذلك الكتاب مفيد جدا.ً", |
| "original": "ذلك الكتاب مفيد جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 19, |
| "id": "7beff9d6-aacf-4a3e-b1d5-5955a9799271", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 584, |
| "punctuation_ms": 409, |
| "spelling_ms": 1912, |
| "total_ms": 2906 |
| } |
| } |
| }, |
| { |
| "tc_id": "A035", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "لكن الأمر صعب علينا", |
| "expected": "لكن الأمر صعب علينا", |
| "actual_output": "لكن الأمر صعب علينا.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "علينا.", |
| "end": 19, |
| "id": "8a065235-967b-43b4-8e62-c0968546995a", |
| "locked": true, |
| "original": "علينا", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 8719, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['علينا→علينا.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "لكن الأمر صعب علينا.", |
| "original": "لكن الأمر صعب علينا", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "علينا.", |
| "end": 19, |
| "id": "8a065235-967b-43b4-8e62-c0968546995a", |
| "locked": true, |
| "original": "علينا", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 543, |
| "punctuation_ms": 463, |
| "spelling_ms": 2505, |
| "total_ms": 3512 |
| } |
| } |
| }, |
| { |
| "tc_id": "A036", |
| "phase": "A", |
| "category": "correct_text", |
| "input": "هذا أو ذاك سواء عندي", |
| "expected": "هذا أو ذاك سواء عندي", |
| "actual_output": "هذا أو ذاك سواء عندي.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "عندي.", |
| "end": 20, |
| "id": "cb659478-706a-4aee-b29d-ce0a2825f67d", |
| "locked": true, |
| "original": "عندي", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4496, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['عندي→عندي.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "هذا أو ذاك سواء عندي.", |
| "original": "هذا أو ذاك سواء عندي", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "عندي.", |
| "end": 20, |
| "id": "cb659478-706a-4aee-b29d-ce0a2825f67d", |
| "locked": true, |
| "original": "عندي", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 645, |
| "punctuation_ms": 485, |
| "spelling_ms": 2774, |
| "total_ms": 3905 |
| } |
| } |
| }, |
| { |
| "tc_id": "A037", |
| "phase": "A", |
| "category": "pronoun_guard", |
| "input": "فتأملته جيداً في المساء", |
| "expected": "فتأملته جيداً في المساء", |
| "actual_output": "فتأملته جيدا في المساء.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المساء.", |
| "end": 23, |
| "id": "bc92a20b-7eba-4f4c-a438-67356f8269df", |
| "locked": true, |
| "original": "المساء", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جيدا", |
| "end": 13, |
| "id": "c4f3481f-4712-4bc1-912a-b192251d9eeb", |
| "locked": true, |
| "original": "جيداً", |
| "priority": 1, |
| "start": 8, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 5559, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['المساء→المساء.', 'جيداً→جيدا']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "فتأملته جيدا في المساء.", |
| "original": "فتأملته جيداً في المساء", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المساء.", |
| "end": 23, |
| "id": "bc92a20b-7eba-4f4c-a438-67356f8269df", |
| "locked": true, |
| "original": "المساء", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جيدا", |
| "end": 13, |
| "id": "c4f3481f-4712-4bc1-912a-b192251d9eeb", |
| "locked": true, |
| "original": "جيداً", |
| "priority": 1, |
| "start": 8, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 891, |
| "punctuation_ms": 623, |
| "spelling_ms": 3735, |
| "total_ms": 5250 |
| } |
| } |
| }, |
| { |
| "tc_id": "A038", |
| "phase": "A", |
| "category": "pronoun_guard", |
| "input": "رأيته في الشارع أمس", |
| "expected": "رأيته في الشارع أمس", |
| "actual_output": "رأيته في الشارع أمس؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "أمس؟", |
| "end": 19, |
| "id": "5b1adfb6-5e1e-4771-bb83-7b812d496e42", |
| "locked": true, |
| "original": "أمس", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3231, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['أمس→أمس؟']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "رأيته في الشارع أمس؟", |
| "original": "رأيته في الشارع أمس", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "أمس؟", |
| "end": 19, |
| "id": "5b1adfb6-5e1e-4771-bb83-7b812d496e42", |
| "locked": true, |
| "original": "أمس", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 595, |
| "punctuation_ms": 475, |
| "spelling_ms": 1848, |
| "total_ms": 2920 |
| } |
| } |
| }, |
| { |
| "tc_id": "A039", |
| "phase": "A", |
| "category": "pronoun_guard", |
| "input": "كتبته بسرعة كبيرة", |
| "expected": "كتبته بسرعة كبيرة", |
| "actual_output": "كتبته بسرعة كبيرة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كبيرة.", |
| "end": 17, |
| "id": "ed7860fb-25b8-40f5-a2e5-7dc58e6f567b", |
| "locked": true, |
| "original": "كبيرة", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3383, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['كبيرة→كبيرة.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "كتبته بسرعة كبيرة.", |
| "original": "كتبته بسرعة كبيرة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كبيرة.", |
| "end": 17, |
| "id": "ed7860fb-25b8-40f5-a2e5-7dc58e6f567b", |
| "locked": true, |
| "original": "كبيرة", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 538, |
| "punctuation_ms": 437, |
| "spelling_ms": 2097, |
| "total_ms": 3074 |
| } |
| } |
| }, |
| { |
| "tc_id": "A040", |
| "phase": "A", |
| "category": "pronoun_guard", |
| "input": "سمعته يتحدث بوضوح", |
| "expected": "سمعته يتحدث بوضوح", |
| "actual_output": "سمعته يتحدث بوضوح.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بوضوح.", |
| "end": 17, |
| "id": "576035b9-2f48-4bbe-8b73-3b4866603f15", |
| "locked": true, |
| "original": "بوضوح", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2637, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['بوضوح→بوضوح.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "سمعته يتحدث بوضوح.", |
| "original": "سمعته يتحدث بوضوح", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بوضوح.", |
| "end": 17, |
| "id": "576035b9-2f48-4bbe-8b73-3b4866603f15", |
| "locked": true, |
| "original": "بوضوح", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 635, |
| "punctuation_ms": 393, |
| "spelling_ms": 1353, |
| "total_ms": 2382 |
| } |
| } |
| }, |
| { |
| "tc_id": "A041", |
| "phase": "A", |
| "category": "named_entity", |
| "input": "محمد صلاح لاعب كرة قدم مصري", |
| "expected": "", |
| "actual_output": "محمد صلاح لاعب كرة قدم مصري.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مصري.", |
| "end": 27, |
| "id": "9a3a3169-394d-4c06-a023-604f0faf9ee4", |
| "locked": true, |
| "original": "مصري", |
| "priority": 2, |
| "start": 23, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 5729, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['مصري→مصري.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "محمد صلاح لاعب كرة قدم مصري.", |
| "original": "محمد صلاح لاعب كرة قدم مصري", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مصري.", |
| "end": 27, |
| "id": "9a3a3169-394d-4c06-a023-604f0faf9ee4", |
| "locked": true, |
| "original": "مصري", |
| "priority": 2, |
| "start": 23, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 827, |
| "punctuation_ms": 849, |
| "spelling_ms": 3740, |
| "total_ms": 5418 |
| } |
| } |
| }, |
| { |
| "tc_id": "A042", |
| "phase": "A", |
| "category": "named_entity", |
| "input": "جامعة القاهرة من أعرق الجامعات", |
| "expected": "", |
| "actual_output": "جامعة القاهرة من أعرق الجامعات.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعات.", |
| "end": 30, |
| "id": "2b4b985b-efb5-4f88-a36a-a65b79a8b764", |
| "locked": true, |
| "original": "الجامعات", |
| "priority": 2, |
| "start": 22, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4945, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الجامعات→الجامعات.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "جامعة القاهرة من أعرق الجامعات.", |
| "original": "جامعة القاهرة من أعرق الجامعات", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعات.", |
| "end": 30, |
| "id": "2b4b985b-efb5-4f88-a36a-a65b79a8b764", |
| "locked": true, |
| "original": "الجامعات", |
| "priority": 2, |
| "start": 22, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 708, |
| "punctuation_ms": 847, |
| "spelling_ms": 3077, |
| "total_ms": 4634 |
| } |
| } |
| }, |
| { |
| "tc_id": "A043", |
| "phase": "A", |
| "category": "named_entity", |
| "input": "مدينة الرياض عاصمة المملكة", |
| "expected": "", |
| "actual_output": "مدينة الرياض عاصمة المملكة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المملكة.", |
| "end": 26, |
| "id": "87b25a81-0311-455c-b274-b2d77f7fff70", |
| "locked": true, |
| "original": "المملكة", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4545, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['المملكة→المملكة.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "مدينة الرياض عاصمة المملكة.", |
| "original": "مدينة الرياض عاصمة المملكة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المملكة.", |
| "end": 26, |
| "id": "87b25a81-0311-455c-b274-b2d77f7fff70", |
| "locked": true, |
| "original": "المملكة", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 554, |
| "punctuation_ms": 713, |
| "spelling_ms": 3051, |
| "total_ms": 4320 |
| } |
| } |
| }, |
| { |
| "tc_id": "A044", |
| "phase": "A", |
| "category": "named_entity", |
| "input": "عبدالله يدرس في الجامعة", |
| "expected": "", |
| "actual_output": "عبد الله يدرس في الجامعة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 23, |
| "id": "160cc949-d9ed-43d9-b8d4-17b501a05fdc", |
| "locked": true, |
| "original": "الجامعة", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "عبد الله", |
| "عبدالله" |
| ], |
| "confidence": 0.85, |
| "correction": "عبد الله", |
| "end": 7, |
| "id": "48517c56-00e4-49d0-9311-544838c0cdb8", |
| "locked": true, |
| "original": "عبدالله", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 4381, |
| "verdict": "FP", |
| "detail": "OVERCORRECTION: corrupted words: ['عبدالله']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "عبد الله يدرس في الجامعة.", |
| "original": "عبدالله يدرس في الجامعة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 23, |
| "id": "160cc949-d9ed-43d9-b8d4-17b501a05fdc", |
| "locked": true, |
| "original": "الجامعة", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "عبد الله", |
| "عبدالله" |
| ], |
| "confidence": 0.85, |
| "correction": "عبد الله", |
| "end": 7, |
| "id": "48517c56-00e4-49d0-9311-544838c0cdb8", |
| "locked": true, |
| "original": "عبدالله", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 833, |
| "punctuation_ms": 510, |
| "spelling_ms": 2814, |
| "total_ms": 4160 |
| } |
| } |
| }, |
| { |
| "tc_id": "A045", |
| "phase": "A", |
| "category": "numbers", |
| "input": "عام 2024 كان جيداً جداً", |
| "expected": "", |
| "actual_output": "عام 2024 كان جيدا جدا جداً.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جداً.", |
| "end": 23, |
| "id": "45affd59-dabe-4c94-8852-294e93cd8ae6", |
| "locked": true, |
| "original": "جداً", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "جيدا جدا", |
| "جيداً" |
| ], |
| "confidence": 0.85, |
| "correction": "جيدا جدا", |
| "end": 18, |
| "id": "afe2ecd6-3a76-4e40-8f51-c6da47d3ac9e", |
| "locked": true, |
| "original": "جيداً", |
| "priority": 1, |
| "start": 13, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 5584, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['جداً→جداً.', 'جيداً→جيدا جدا']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "عام 2024 كان جيدا جدا جداً.", |
| "original": "عام 2024 كان جيداً جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جداً.", |
| "end": 23, |
| "id": "45affd59-dabe-4c94-8852-294e93cd8ae6", |
| "locked": true, |
| "original": "جداً", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "جيدا جدا", |
| "جيداً" |
| ], |
| "confidence": 0.85, |
| "correction": "جيدا جدا", |
| "end": 18, |
| "id": "afe2ecd6-3a76-4e40-8f51-c6da47d3ac9e", |
| "locked": true, |
| "original": "جيداً", |
| "priority": 1, |
| "start": 13, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 891, |
| "punctuation_ms": 497, |
| "spelling_ms": 3882, |
| "total_ms": 5272 |
| } |
| } |
| }, |
| { |
| "tc_id": "A046", |
| "phase": "A", |
| "category": "numbers", |
| "input": "اشتريت 15 كتاباً من المعرض", |
| "expected": "", |
| "actual_output": "اشتريت 15 كتاباً من المعرض؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المعرض؟", |
| "end": 26, |
| "id": "562b7d6e-0ab4-4673-b324-dc1fa1966e2b", |
| "locked": true, |
| "original": "المعرض", |
| "priority": 2, |
| "start": 20, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 6128, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['المعرض→المعرض؟']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "اشتريت 15 كتاباً من المعرض؟", |
| "original": "اشتريت 15 كتاباً من المعرض", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المعرض؟", |
| "end": 26, |
| "id": "562b7d6e-0ab4-4673-b324-dc1fa1966e2b", |
| "locked": true, |
| "original": "المعرض", |
| "priority": 2, |
| "start": 20, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 692, |
| "punctuation_ms": 559, |
| "spelling_ms": 4564, |
| "total_ms": 5816 |
| } |
| } |
| }, |
| { |
| "tc_id": "A047", |
| "phase": "A", |
| "category": "numbers", |
| "input": "الساعة 3:30 مساءً بالضبط", |
| "expected": "", |
| "actual_output": "الساعة 3 : 30 مساءً بالضبط.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "3 : 30", |
| "end": 11, |
| "id": "244d7f5a-8acf-4d34-a40f-15d4e53f54d4", |
| "locked": true, |
| "original": "3:30", |
| "priority": 3, |
| "start": 7, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بالضبط.", |
| "end": 24, |
| "id": "165ad43c-43d4-4c45-9767-d2f0bc8b6c1a", |
| "locked": true, |
| "original": "بالضبط", |
| "priority": 2, |
| "start": 18, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 6042, |
| "verdict": "FP", |
| "detail": "OVERCORRECTION: corrupted words: ['3:30']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الساعة 3 : 30 مساءً بالضبط.", |
| "original": "الساعة 3:30 مساءً بالضبط", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "3 : 30", |
| "end": 11, |
| "id": "244d7f5a-8acf-4d34-a40f-15d4e53f54d4", |
| "locked": true, |
| "original": "3:30", |
| "priority": 3, |
| "start": 7, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بالضبط.", |
| "end": 24, |
| "id": "165ad43c-43d4-4c45-9767-d2f0bc8b6c1a", |
| "locked": true, |
| "original": "بالضبط", |
| "priority": 2, |
| "start": 18, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 686, |
| "punctuation_ms": 619, |
| "spelling_ms": 4423, |
| "total_ms": 5730 |
| } |
| } |
| }, |
| { |
| "tc_id": "A048", |
| "phase": "A", |
| "category": "foreign", |
| "input": "أستخدم Python في البرمجة", |
| "expected": "", |
| "actual_output": "أستخدمت Python في البرمجة", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أستخدمت", |
| "end": 6, |
| "id": "0f48ecdb-f716-420c-b524-433e6f1789eb", |
| "locked": true, |
| "original": "أستخدم", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 5551, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['أستخدم→أستخدمت']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أستخدمت Python في البرمجة", |
| "original": "أستخدم Python في البرمجة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أستخدمت", |
| "end": 6, |
| "id": "0f48ecdb-f716-420c-b524-433e6f1789eb", |
| "locked": true, |
| "original": "أستخدم", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 634, |
| "punctuation_ms": 666, |
| "spelling_ms": 3940, |
| "total_ms": 5243 |
| } |
| } |
| }, |
| { |
| "tc_id": "A049", |
| "phase": "A", |
| "category": "foreign", |
| "input": "تطبيق OpenAI ممتاز جداً", |
| "expected": "", |
| "actual_output": "تطبيق OpenAI ممتاز جدا.ً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 22, |
| "id": "232f3a70-7741-4aee-b215-07b2329451e8", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 5295, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['جدا→جدا.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "تطبيق OpenAI ممتاز جدا.ً", |
| "original": "تطبيق OpenAI ممتاز جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 22, |
| "id": "232f3a70-7741-4aee-b215-07b2329451e8", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 19, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 682, |
| "punctuation_ms": 419, |
| "spelling_ms": 3967, |
| "total_ms": 5070 |
| } |
| } |
| }, |
| { |
| "tc_id": "A050", |
| "phase": "A", |
| "category": "foreign", |
| "input": "خادم Docker يعمل بنجاح", |
| "expected": "", |
| "actual_output": "خادم Dockر يعمل بنجاح.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "Dockر", |
| "end": 11, |
| "id": "f01a885b-b8b1-4ded-8145-4bcfa8188937", |
| "locked": true, |
| "original": "Docker", |
| "priority": 3, |
| "start": 5, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بنجاح.", |
| "end": 22, |
| "id": "7b9dd189-3255-4ee2-ac28-73188b159599", |
| "locked": true, |
| "original": "بنجاح", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 5605, |
| "verdict": "FP", |
| "detail": "OVERCORRECTION: corrupted words: ['Docker']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "خادم Dockر يعمل بنجاح.", |
| "original": "خادم Docker يعمل بنجاح", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "Dockر", |
| "end": 11, |
| "id": "f01a885b-b8b1-4ded-8145-4bcfa8188937", |
| "locked": true, |
| "original": "Docker", |
| "priority": 3, |
| "start": 5, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بنجاح.", |
| "end": 22, |
| "id": "7b9dd189-3255-4ee2-ac28-73188b159599", |
| "locked": true, |
| "original": "بنجاح", |
| "priority": 2, |
| "start": 17, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 640, |
| "punctuation_ms": 503, |
| "spelling_ms": 4240, |
| "total_ms": 5384 |
| } |
| } |
| }, |
| { |
| "tc_id": "A051", |
| "phase": "A", |
| "category": "foreign", |
| "input": "إطار TensorFlow مفيد للتعلم", |
| "expected": "", |
| "actual_output": "إطار TensorFlow مفيد للتعلم", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 5856, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "إطار TensorFlow مفيد للتعلم", |
| "original": "إطار TensorFlow مفيد للتعلم", |
| "status": "success", |
| "suggestions": [], |
| "timing_ms": { |
| "grammar_ms": 779, |
| "punctuation_ms": 809, |
| "spelling_ms": 3955, |
| "total_ms": 5545 |
| } |
| } |
| }, |
| { |
| "tc_id": "A052", |
| "phase": "A", |
| "category": "mixed", |
| "input": "البريد user@example.com مهم جداً", |
| "expected": "", |
| "actual_output": "البريد user@example. com مهم جدا", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا", |
| "end": 32, |
| "id": "477b0743-bfc2-4b7e-b9da-85797d3c5d47", |
| "locked": true, |
| "original": "جداً", |
| "priority": 1, |
| "start": 28, |
| "type": "spelling" |
| }, |
| { |
| "alternatives": [ |
| "user@example. com", |
| "user@example.com" |
| ], |
| "confidence": 0.85, |
| "correction": "user@example. com", |
| "end": 23, |
| "id": "f6d4f72e-dfb5-4d43-8da1-6847fbe1137a", |
| "locked": true, |
| "original": "user@example.com", |
| "priority": 1, |
| "start": 7, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 9324, |
| "verdict": "FP", |
| "detail": "OVERCORRECTION: corrupted words: ['user@example.com']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "البريد user@example. com مهم جدا", |
| "original": "البريد user@example.com مهم جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا", |
| "end": 32, |
| "id": "477b0743-bfc2-4b7e-b9da-85797d3c5d47", |
| "locked": true, |
| "original": "جداً", |
| "priority": 1, |
| "start": 28, |
| "type": "spelling" |
| }, |
| { |
| "alternatives": [ |
| "user@example. com", |
| "user@example.com" |
| ], |
| "confidence": 0.85, |
| "correction": "user@example. com", |
| "end": 23, |
| "id": "f6d4f72e-dfb5-4d43-8da1-6847fbe1137a", |
| "locked": true, |
| "original": "user@example.com", |
| "priority": 1, |
| "start": 7, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1140, |
| "punctuation_ms": 1013, |
| "spelling_ms": 6831, |
| "total_ms": 8985 |
| } |
| } |
| }, |
| { |
| "tc_id": "A053", |
| "phase": "A", |
| "category": "mixed", |
| "input": "الرابط https://google.com يعمل", |
| "expected": "", |
| "actual_output": "الرابط htps://gogle. com يعمل", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "htps://gogle. com", |
| "https://google.com" |
| ], |
| "confidence": 0.85, |
| "correction": "htps://gogle. com", |
| "end": 25, |
| "id": "4973fcc8-3e61-4447-871e-971e086113e2", |
| "locked": true, |
| "original": "https://google.com", |
| "priority": 1, |
| "start": 7, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 11799, |
| "verdict": "FP", |
| "detail": "OVERCORRECTION: corrupted words: ['https://google.com']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الرابط htps://gogle. com يعمل", |
| "original": "الرابط https://google.com يعمل", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "htps://gogle. com", |
| "https://google.com" |
| ], |
| "confidence": 0.85, |
| "correction": "htps://gogle. com", |
| "end": 25, |
| "id": "4973fcc8-3e61-4447-871e-971e086113e2", |
| "locked": true, |
| "original": "https://google.com", |
| "priority": 1, |
| "start": 7, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 980, |
| "punctuation_ms": 929, |
| "spelling_ms": 9576, |
| "total_ms": 11487 |
| } |
| } |
| }, |
| { |
| "tc_id": "A054", |
| "phase": "A", |
| "category": "mixed", |
| "input": "الهاشتاق #الذكاء_الاصطناعي مهم", |
| "expected": "", |
| "actual_output": "الهاشتاق على الذكاء الاصطناعي مهم.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مهم.", |
| "end": 30, |
| "id": "be480f76-8bc6-41fd-adf5-b4baf9589d0f", |
| "locked": true, |
| "original": "مهم", |
| "priority": 2, |
| "start": 27, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "على الذكاء الاصطناعي", |
| "#الذكاء_الاصطناعي" |
| ], |
| "confidence": 0.85, |
| "correction": "على الذكاء الاصطناعي", |
| "end": 26, |
| "id": "f2e70c00-1ee3-4a0e-b915-184c69699dc3", |
| "locked": true, |
| "original": "#الذكاء_الاصطناعي", |
| "priority": 1, |
| "start": 9, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 5679, |
| "verdict": "FP", |
| "detail": "OVERCORRECTION: corrupted words: ['#الذكاء_الاصطناعي']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الهاشتاق على الذكاء الاصطناعي مهم.", |
| "original": "الهاشتاق #الذكاء_الاصطناعي مهم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مهم.", |
| "end": 30, |
| "id": "be480f76-8bc6-41fd-adf5-b4baf9589d0f", |
| "locked": true, |
| "original": "مهم", |
| "priority": 2, |
| "start": 27, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "على الذكاء الاصطناعي", |
| "#الذكاء_الاصطناعي" |
| ], |
| "confidence": 0.85, |
| "correction": "على الذكاء الاصطناعي", |
| "end": 26, |
| "id": "f2e70c00-1ee3-4a0e-b915-184c69699dc3", |
| "locked": true, |
| "original": "#الذكاء_الاصطناعي", |
| "priority": 1, |
| "start": 9, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 684, |
| "punctuation_ms": 674, |
| "spelling_ms": 3964, |
| "total_ms": 5323 |
| } |
| } |
| }, |
| { |
| "tc_id": "A055", |
| "phase": "A", |
| "category": "religious", |
| "input": "بسم الله الرحمن الرحيم", |
| "expected": "بسم الله الرحمن الرحيم", |
| "actual_output": "بسم الله الرحمن الرحيم.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الرحيم.", |
| "end": 22, |
| "id": "9c9fedd9-6790-4b20-99b0-8585ead37015", |
| "locked": true, |
| "original": "الرحيم", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 6356, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الرحيم→الرحيم.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "بسم الله الرحمن الرحيم.", |
| "original": "بسم الله الرحمن الرحيم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الرحيم.", |
| "end": 22, |
| "id": "9c9fedd9-6790-4b20-99b0-8585ead37015", |
| "locked": true, |
| "original": "الرحيم", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 642, |
| "punctuation_ms": 582, |
| "spelling_ms": 3354, |
| "total_ms": 4579 |
| } |
| } |
| }, |
| { |
| "tc_id": "A056", |
| "phase": "A", |
| "category": "religious", |
| "input": "الحمد لله رب العالمين", |
| "expected": "الحمد لله رب العالمين", |
| "actual_output": "الحمد لله رب العالمين.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "العالمين.", |
| "end": 21, |
| "id": "867943eb-6679-4db9-adaa-31780ec27ab9", |
| "locked": true, |
| "original": "العالمين", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2470, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['العالمين→العالمين.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الحمد لله رب العالمين.", |
| "original": "الحمد لله رب العالمين", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "العالمين.", |
| "end": 21, |
| "id": "867943eb-6679-4db9-adaa-31780ec27ab9", |
| "locked": true, |
| "original": "العالمين", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 588, |
| "punctuation_ms": 535, |
| "spelling_ms": 1034, |
| "total_ms": 2158 |
| } |
| } |
| }, |
| { |
| "tc_id": "A057", |
| "phase": "A", |
| "category": "religious", |
| "input": "لا إله إلا الله محمد رسول الله", |
| "expected": "", |
| "actual_output": "لا إله إلا الله محمد رسول الله.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الله.", |
| "end": 30, |
| "id": "372a88ae-fa41-4f74-8c7c-4faac0273ea7", |
| "locked": true, |
| "original": "الله", |
| "priority": 2, |
| "start": 26, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 5976, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الله→الله.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "لا إله إلا الله محمد رسول الله.", |
| "original": "لا إله إلا الله محمد رسول الله", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الله.", |
| "end": 30, |
| "id": "372a88ae-fa41-4f74-8c7c-4faac0273ea7", |
| "locked": true, |
| "original": "الله", |
| "priority": 2, |
| "start": 26, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 789, |
| "punctuation_ms": 524, |
| "spelling_ms": 2935, |
| "total_ms": 4250 |
| } |
| } |
| }, |
| { |
| "tc_id": "A058", |
| "phase": "A", |
| "category": "religious", |
| "input": "إنما الأعمال بالنيات", |
| "expected": "", |
| "actual_output": "إنما الأعمال بالنيات.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بالنيات.", |
| "end": 20, |
| "id": "4b63a7f8-843f-4f79-a4b7-6cd9d9c7525e", |
| "locked": true, |
| "original": "بالنيات", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 8298, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['بالنيات→بالنيات.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "إنما الأعمال بالنيات.", |
| "original": "إنما الأعمال بالنيات", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بالنيات.", |
| "end": 20, |
| "id": "4b63a7f8-843f-4f79-a4b7-6cd9d9c7525e", |
| "locked": true, |
| "original": "بالنيات", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 781, |
| "punctuation_ms": 437, |
| "spelling_ms": 1999, |
| "total_ms": 3218 |
| } |
| } |
| }, |
| { |
| "tc_id": "A059", |
| "phase": "A", |
| "category": "repeated", |
| "input": "كتاااااب جميييل", |
| "expected": "كتاب جميل", |
| "actual_output": "كتاب جمييل", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "كتاب جمييل", |
| "end": 15, |
| "id": "e580f90c-5b54-47bb-960d-b11c1da87705", |
| "locked": true, |
| "original": "كتاااااب جميييل", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 3268, |
| "verdict": "TP", |
| "detail": "Corrected: 1 suggestions", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "كتاب جمييل", |
| "original": "كتاااااب جميييل", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "كتاب جمييل", |
| "end": 15, |
| "id": "e580f90c-5b54-47bb-960d-b11c1da87705", |
| "locked": true, |
| "original": "كتاااااب جميييل", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 833, |
| "punctuation_ms": 445, |
| "spelling_ms": 1765, |
| "total_ms": 3045 |
| } |
| } |
| }, |
| { |
| "tc_id": "A060", |
| "phase": "A", |
| "category": "edge", |
| "input": "مدرسة", |
| "expected": "مدرسة", |
| "actual_output": "مدرسة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مدرسة.", |
| "end": 5, |
| "id": "bc03a4a1-d5a6-4ac8-b272-d05b872f6656", |
| "locked": true, |
| "original": "مدرسة", |
| "priority": 2, |
| "start": 0, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2495, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['مدرسة→مدرسة.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "مدرسة.", |
| "original": "مدرسة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مدرسة.", |
| "end": 5, |
| "id": "bc03a4a1-d5a6-4ac8-b272-d05b872f6656", |
| "locked": true, |
| "original": "مدرسة", |
| "priority": 2, |
| "start": 0, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 275, |
| "punctuation_ms": 300, |
| "spelling_ms": 1606, |
| "total_ms": 2183 |
| } |
| } |
| }, |
| { |
| "tc_id": "A061", |
| "phase": "A", |
| "category": "edge", |
| "input": "ا ب ت ث ج ح خ", |
| "expected": "", |
| "actual_output": "ا ب ت ث جح ح خ.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "خ.", |
| "end": 13, |
| "id": "2d72874d-c71d-4f2c-980c-d7971e85c5e0", |
| "locked": true, |
| "original": "خ", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "جح", |
| "جم", |
| "وج", |
| "ج" |
| ], |
| "confidence": 0.5, |
| "correction": "جح", |
| "end": 9, |
| "id": "9c829b07-b5ee-44f9-9b52-47046446dfd4", |
| "locked": true, |
| "original": "ج", |
| "priority": 1, |
| "start": 8, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 7446, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['خ→خ.', 'ج→جح']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ا ب ت ث جح ح خ.", |
| "original": "ا ب ت ث ج ح خ", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "خ.", |
| "end": 13, |
| "id": "2d72874d-c71d-4f2c-980c-d7971e85c5e0", |
| "locked": true, |
| "original": "خ", |
| "priority": 2, |
| "start": 12, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "جح", |
| "جم", |
| "وج", |
| "ج" |
| ], |
| "confidence": 0.5, |
| "correction": "جح", |
| "end": 9, |
| "id": "9c829b07-b5ee-44f9-9b52-47046446dfd4", |
| "locked": true, |
| "original": "ج", |
| "priority": 1, |
| "start": 8, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1231, |
| "punctuation_ms": 557, |
| "spelling_ms": 5072, |
| "total_ms": 6868 |
| } |
| } |
| }, |
| { |
| "tc_id": "A062", |
| "phase": "A", |
| "category": "edge", |
| "input": "😊 مرحبا 🎉 كيف حالك", |
| "expected": "", |
| "actual_output": "😊 مرحبا 🎉 كيف؟ حالك", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كيف؟", |
| "end": 13, |
| "id": "e8ecaa7f-a935-4fec-a231-7ab467c1e4e7", |
| "locked": true, |
| "original": "كيف", |
| "priority": 2, |
| "start": 10, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 5995, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['كيف→كيف؟']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "😊 مرحبا 🎉 كيف؟ حالك", |
| "original": "😊 مرحبا 🎉 كيف حالك", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كيف؟", |
| "end": 13, |
| "id": "e8ecaa7f-a935-4fec-a231-7ab467c1e4e7", |
| "locked": true, |
| "original": "كيف", |
| "priority": 2, |
| "start": 10, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 934, |
| "punctuation_ms": 569, |
| "spelling_ms": 4182, |
| "total_ms": 5687 |
| } |
| } |
| }, |
| { |
| "tc_id": "B001", |
| "phase": "B", |
| "category": "sv_agree", |
| "input": "البنات ذهب إلى المدرسة", |
| "expected": "", |
| "actual_output": "البنات ذهبن إلى المدرسة", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 945, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['ذهب']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "البنات ذهبن إلى المدرسة", |
| "original_text": "البنات ذهب إلى المدرسة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B002", |
| "phase": "B", |
| "category": "sv_agree", |
| "input": "الطلاب يذهب إلى الجامعة", |
| "expected": "", |
| "actual_output": "الطلاب يذهبون إلى الجامعة", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 857, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['يذهب']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "الطلاب يذهبون إلى الجامعة", |
| "original_text": "الطلاب يذهب إلى الجامعة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B003", |
| "phase": "B", |
| "category": "sv_agree", |
| "input": "المهندسون حضر الاجتماع", |
| "expected": "", |
| "actual_output": "المهندسون حضرون الاجتماع", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 755, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['حضر']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "المهندسون حضرون الاجتماع", |
| "original_text": "المهندسون حضر الاجتماع", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B004", |
| "phase": "B", |
| "category": "sv_agree", |
| "input": "الرجال يعمل في المصنع", |
| "expected": "", |
| "actual_output": "الرجال يعملون في المصنع", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 955, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['يعمل']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "الرجال يعملون في المصنع", |
| "original_text": "الرجال يعمل في المصنع", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B005", |
| "phase": "B", |
| "category": "sv_agree", |
| "input": "النساء ذهب إلى السوق", |
| "expected": "", |
| "actual_output": "النساء ذهبن إلى السوق", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 904, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['ذهب']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "النساء ذهبن إلى السوق", |
| "original_text": "النساء ذهب إلى السوق", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B006", |
| "phase": "B", |
| "category": "sv_agree", |
| "input": "الأولاد لعب في الحديقة", |
| "expected": "", |
| "actual_output": "الأولاد لعبوَ في الحديقة", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 991, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['لعب']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "الأولاد لعبوَ في الحديقة", |
| "original_text": "الأولاد لعب في الحديقة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B007", |
| "phase": "B", |
| "category": "gender", |
| "input": "السيارة جميل والبيت كبير", |
| "expected": "", |
| "actual_output": "السيارة جميلة والبيت كبير", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1005, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['جميل']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "السيارة جميلة والبيت كبير", |
| "original_text": "السيارة جميل والبيت كبير", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B008", |
| "phase": "B", |
| "category": "gender", |
| "input": "البنت ذكي في المدرسة", |
| "expected": "", |
| "actual_output": "البنت ذكية في المدرسة", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 949, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['ذكي']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "البنت ذكية في المدرسة", |
| "original_text": "البنت ذكي في المدرسة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B009", |
| "phase": "B", |
| "category": "gender", |
| "input": "الطالبة متفوق في دراسته", |
| "expected": "", |
| "actual_output": "الطالب متفوق في دراسته", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 959, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['متفوق']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "الطالب متفوق في دراسته", |
| "original_text": "الطالبة متفوق في دراسته", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B010", |
| "phase": "B", |
| "category": "case", |
| "input": "في المهندسون الماهرون جداً", |
| "expected": "", |
| "actual_output": "في المهندسين الماهرون جدا", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1163, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "في المهندسين الماهرون جدا", |
| "original_text": "في المهندسون الماهرون جداً", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B011", |
| "phase": "B", |
| "category": "case", |
| "input": "من المعلمون الأكفاء في المدرسة", |
| "expected": "", |
| "actual_output": "من المعلمين الأكفاء في المدرسة", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1364, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "من المعلمين الأكفاء في المدرسة", |
| "original_text": "من المعلمون الأكفاء في المدرسة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B012", |
| "phase": "B", |
| "category": "case", |
| "input": "إلى المسافرون في المطار", |
| "expected": "", |
| "actual_output": "إلى المسافرين في المطار", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 941, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "إلى المسافرين في المطار", |
| "original_text": "إلى المسافرون في المطار", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B013", |
| "phase": "B", |
| "category": "case", |
| "input": "على العاملون في المصنع", |
| "expected": "", |
| "actual_output": "على العاملين في المصنع", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 882, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "على العاملين في المصنع", |
| "original_text": "على العاملون في المصنع", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B014", |
| "phase": "B", |
| "category": "five_nouns", |
| "input": "إن أبوك رجل طيب جداً", |
| "expected": "", |
| "actual_output": "إن أباك رجل طيب جدا", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1155, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "إن أباك رجل طيب جدا", |
| "original_text": "إن أبوك رجل طيب جداً", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B015", |
| "phase": "B", |
| "category": "five_nouns", |
| "input": "رأيت أخوك في المسجد أمس", |
| "expected": "", |
| "actual_output": "رأيت أخوك في المسجد أمس", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1080, |
| "verdict": "FN", |
| "detail": "No changes made. Expected fix for: ['أخوك']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "رأيت أخوك في المسجد أمس", |
| "original_text": "رأيت أخوك في المسجد أمس", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B016", |
| "phase": "B", |
| "category": "dual", |
| "input": "هذان الطالبتان مجتهدتان", |
| "expected": "", |
| "actual_output": "هاتان الطالبتان مجتهدتان", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1069, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "هاتان الطالبتان مجتهدتان", |
| "original_text": "هذان الطالبتان مجتهدتان", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B017", |
| "phase": "B", |
| "category": "dual", |
| "input": "هاتان الطالبان مجتهدان", |
| "expected": "", |
| "actual_output": "هذان الطالبان مجتهدان", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 982, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "هذان الطالبان مجتهدان", |
| "original_text": "هاتان الطالبان مجتهدان", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B018", |
| "phase": "B", |
| "category": "nasb", |
| "input": "لن يذهبون إلى المدرسة غداً", |
| "expected": "", |
| "actual_output": "لن يذهبوا إلى المدرسة غدا", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1204, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "لن يذهبوا إلى المدرسة غدا", |
| "original_text": "لن يذهبون إلى المدرسة غداً", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B019", |
| "phase": "B", |
| "category": "nasb", |
| "input": "لم يفعلون الواجب بعد", |
| "expected": "", |
| "actual_output": "لم يفعلوَ الواجب بعد", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 996, |
| "verdict": "TP", |
| "detail": "Grammar corrected", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "لم يفعلوَ الواجب بعد", |
| "original_text": "لم يفعلون الواجب بعد", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B020", |
| "phase": "B", |
| "category": "correct", |
| "input": "ذهب الطالب إلى المدرسة", |
| "expected": "", |
| "actual_output": "ذهب الطالب إلى المدرسة", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 853, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "ذهب الطالب إلى المدرسة", |
| "original_text": "ذهب الطالب إلى المدرسة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B021", |
| "phase": "B", |
| "category": "correct", |
| "input": "كتبت الطالبة المقال بنجاح", |
| "expected": "", |
| "actual_output": "كتبت الطالبة المقال بنجاح", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 865, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "كتبت الطالبة المقال بنجاح", |
| "original_text": "كتبت الطالبة المقال بنجاح", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B022", |
| "phase": "B", |
| "category": "correct", |
| "input": "المعلمون في المدرسة يعملون", |
| "expected": "", |
| "actual_output": "المعلمون في المدرسة يعملون", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 936, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "المعلمون في المدرسة يعملون", |
| "original_text": "المعلمون في المدرسة يعملون", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B023", |
| "phase": "B", |
| "category": "correct", |
| "input": "أحب القراءة والكتابة كثيراً", |
| "expected": "", |
| "actual_output": "أحب القراءة والكتابة كثيرا", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 946, |
| "verdict": "FP", |
| "detail": "Unnecessary change: 'أحب القراءة والكتابة كثيراً' → 'أحب القراءة والكتابة كثيرا'", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "أحب القراءة والكتابة كثيرا", |
| "original_text": "أحب القراءة والكتابة كثيراً", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B024", |
| "phase": "B", |
| "category": "correct", |
| "input": "ذهبت البنات إلى المدرسة", |
| "expected": "", |
| "actual_output": "ذهبت البنات إلى المدرسة", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 849, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "ذهبت البنات إلى المدرسة", |
| "original_text": "ذهبت البنات إلى المدرسة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B025", |
| "phase": "B", |
| "category": "correct", |
| "input": "جاء المعلمون إلى الفصل", |
| "expected": "", |
| "actual_output": "جاء المعلمون إلى الفصل", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 932, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "جاء المعلمون إلى الفصل", |
| "original_text": "جاء المعلمون إلى الفصل", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B026", |
| "phase": "B", |
| "category": "quran", |
| "input": "بسم الله الرحمن الرحيم", |
| "expected": "", |
| "actual_output": "بسم الله الرحمن الرحيم", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 888, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "بسم الله الرحمن الرحيم", |
| "original_text": "بسم الله الرحمن الرحيم", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B027", |
| "phase": "B", |
| "category": "quran", |
| "input": "قل هو الله أحد الله الصمد", |
| "expected": "", |
| "actual_output": "قل هو الله أحد الله الصمد", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1048, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "قل هو الله أحد الله الصمد", |
| "original_text": "قل هو الله أحد الله الصمد", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B028", |
| "phase": "B", |
| "category": "quran", |
| "input": "إنا أنزلناه في ليلة القدر", |
| "expected": "", |
| "actual_output": "إنا أنزلناه في ليلة القدر", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1102, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "إنا أنزلناه في ليلة القدر", |
| "original_text": "إنا أنزلناه في ليلة القدر", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B029", |
| "phase": "B", |
| "category": "quran", |
| "input": "قل أعوذ برب الفلق من شر ما خلق", |
| "expected": "", |
| "actual_output": "قل أعوذ برب الفلق من شر ما خلق", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1218, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "قل أعوذ برب الفلق من شر ما خلق", |
| "original_text": "قل أعوذ برب الفلق من شر ما خلق", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B030", |
| "phase": "B", |
| "category": "quran", |
| "input": "الحمد لله رب العالمين الرحمن الرحيم مالك يوم الدين", |
| "expected": "", |
| "actual_output": "الحمد لله رب العالمين الرحمن الرحيم مالك يوم الدين", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1322, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "الحمد لله رب العالمين الرحمن الرحيم مالك يوم الدين", |
| "original_text": "الحمد لله رب العالمين الرحمن الرحيم مالك يوم الدين", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B031", |
| "phase": "B", |
| "category": "hadith", |
| "input": "إنما الأعمال بالنيات وإنما لكل امرئ ما نوى", |
| "expected": "", |
| "actual_output": "إنما الأعمال بالنيات وإنما لكل امرئ ما نوى", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1163, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "إنما الأعمال بالنيات وإنما لكل امرئ ما نوى", |
| "original_text": "إنما الأعمال بالنيات وإنما لكل امرئ ما نوى", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B032", |
| "phase": "B", |
| "category": "hadith", |
| "input": "خيركم من تعلم القرآن وعلمه", |
| "expected": "", |
| "actual_output": "خيركم من تعلم القرآن وعلمه", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1024, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "خيركم من تعلم القرآن وعلمه", |
| "original_text": "خيركم من تعلم القرآن وعلمه", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B033", |
| "phase": "B", |
| "category": "poetry", |
| "input": "قفا نبك من ذكرى حبيب ومنزل", |
| "expected": "", |
| "actual_output": "قفا نبك من ذكرى حبيب ومنزل", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1266, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "قفا نبك من ذكرى حبيب ومنزل", |
| "original_text": "قفا نبك من ذكرى حبيب ومنزل", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B034", |
| "phase": "B", |
| "category": "poetry", |
| "input": "على قدر أهل العزم تأتي العزائم", |
| "expected": "", |
| "actual_output": "على قدر أهل العزم تأتي العزائم", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1154, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "على قدر أهل العزم تأتي العزائم", |
| "original_text": "على قدر أهل العزم تأتي العزائم", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B035", |
| "phase": "B", |
| "category": "academic", |
| "input": "إن الأبحاث العلمية تشير إلى أهمية التعليم في تطوير المجتمعات الحديثة", |
| "expected": "", |
| "actual_output": "إن الأبحاث العلمية تشير إلى أهمية التعليم في تطوير المجتمعات الحديثة", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1502, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "إن الأبحاث العلمية تشير إلى أهمية التعليم في تطوير المجتمعات الحديثة", |
| "original_text": "إن الأبحاث العلمية تشير إلى أهمية التعليم في تطوير المجتمعات الحديثة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B036", |
| "phase": "B", |
| "category": "academic", |
| "input": "أشارت الدراسة إلى أن نسبة النجاح بلغت خمسة وتسعين بالمئة", |
| "expected": "", |
| "actual_output": "أشارت الدراسة إلى أن نسبة النجاح بلغت خمسة وتسعين بالمئة", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1535, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "أشارت الدراسة إلى أن نسبة النجاح بلغت خمسة وتسعين بالمئة", |
| "original_text": "أشارت الدراسة إلى أن نسبة النجاح بلغت خمسة وتسعين بالمئة", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B037", |
| "phase": "B", |
| "category": "academic", |
| "input": "تهدف هذه الدراسة إلى تحليل العوامل المؤثرة في جودة التعليم العالي", |
| "expected": "", |
| "actual_output": "تهدف هذه الدراسة إلى تحليل العوامل المؤثرة في جودة التعليم العالي", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1509, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "تهدف هذه الدراسة إلى تحليل العوامل المؤثرة في جودة التعليم العالي", |
| "original_text": "تهدف هذه الدراسة إلى تحليل العوامل المؤثرة في جودة التعليم العالي", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B038", |
| "phase": "B", |
| "category": "news", |
| "input": "أعلن رئيس الوزراء عن خطة اقتصادية جديدة لتطوير البنية التحتية", |
| "expected": "", |
| "actual_output": "أعلن رئيس الوزراء عن خطة اقتصادية جديدة لتطوير البنية التحتية", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1418, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "أعلن رئيس الوزراء عن خطة اقتصادية جديدة لتطوير البنية التحتية", |
| "original_text": "أعلن رئيس الوزراء عن خطة اقتصادية جديدة لتطوير البنية التحتية", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "B039", |
| "phase": "B", |
| "category": "news", |
| "input": "شهدت المنطقة تطورات ميدانية متسارعة خلال الأيام الماضية", |
| "expected": "", |
| "actual_output": "شهدت المنطقة تطورات ميدانية متسارعة خلال الأيام الماضية", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 1315, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "شهدت المنطقة تطورات ميدانية متسارعة خلال الأيام الماضية", |
| "original_text": "شهدت المنطقة تطورات ميدانية متسارعة خلال الأيام الماضية", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C001", |
| "phase": "C", |
| "category": "missing_period", |
| "input": "ذهبت إلى المدرسة ثم عدت إلى البيت", |
| "expected": "", |
| "actual_output": "ذهبت إلى المدرسة ثم عدت إلى البيت.", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1068, |
| "verdict": "TP", |
| "detail": "Punctuation added", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "ذهبت إلى المدرسة ثم عدت إلى البيت.", |
| "original_text": "ذهبت إلى المدرسة ثم عدت إلى البيت", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C002", |
| "phase": "C", |
| "category": "missing_question", |
| "input": "هل أنت بخير يا صديقي", |
| "expected": "", |
| "actual_output": "هل أنت بخير يا صديقي؟", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 891, |
| "verdict": "TP", |
| "detail": "Punctuation added", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "هل أنت بخير يا صديقي؟", |
| "original_text": "هل أنت بخير يا صديقي", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C003", |
| "phase": "C", |
| "category": "missing_comma", |
| "input": "مرحبا كيف حالك اليوم", |
| "expected": "", |
| "actual_output": "مرحبا كيف حالك اليوم؟", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 801, |
| "verdict": "TP", |
| "detail": "Punctuation added", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "مرحبا كيف حالك اليوم؟", |
| "original_text": "مرحبا كيف حالك اليوم", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C004", |
| "phase": "C", |
| "category": "missing_multi", |
| "input": "كيف حالك أنا بخير والحمد لله", |
| "expected": "", |
| "actual_output": "كيف حالك أنا بخير والحمد لله!", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 951, |
| "verdict": "TP", |
| "detail": "Punctuation added", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "كيف حالك أنا بخير والحمد لله!", |
| "original_text": "كيف حالك أنا بخير والحمد لله", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C005", |
| "phase": "C", |
| "category": "already_punct", |
| "input": "ذهبت إلى المدرسة. ثم عدت.", |
| "expected": "", |
| "actual_output": "ذهبت إلى المدرسة. ثم عدت.", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 977, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "ذهبت إلى المدرسة. ثم عدت.", |
| "original_text": "ذهبت إلى المدرسة. ثم عدت.", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C006", |
| "phase": "C", |
| "category": "already_punct", |
| "input": "كيف حالك؟ أنا بخير.", |
| "expected": "", |
| "actual_output": "كيف حالك أنا؟ بخير.", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 779, |
| "verdict": "FP", |
| "detail": "Over-punctuated: 'كيف حالك أنا؟ بخير.'", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "كيف حالك أنا؟ بخير.", |
| "original_text": "كيف حالك؟ أنا بخير.", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C007", |
| "phase": "C", |
| "category": "already_punct", |
| "input": "أحمد، كيف حالك؟ هل أنت بخير؟", |
| "expected": "", |
| "actual_output": "أحمد كيف: حالك؟ هل أنت؟ بخير؟؟", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1072, |
| "verdict": "FP", |
| "detail": "Over-punctuated: 'أحمد كيف: حالك؟ هل أنت؟ بخير؟؟'", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "أحمد كيف: حالك؟ هل أنت؟ بخير؟؟", |
| "original_text": "أحمد، كيف حالك؟ هل أنت بخير؟", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C008", |
| "phase": "C", |
| "category": "no_word_change", |
| "input": "ذهبت الي المدرسه أمس", |
| "expected": "", |
| "actual_output": "ذهبت الي المدرسه أمس؟", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 784, |
| "verdict": "TP", |
| "detail": "Punctuation added", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "ذهبت الي المدرسه أمس؟", |
| "original_text": "ذهبت الي المدرسه أمس", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C009", |
| "phase": "C", |
| "category": "position", |
| "input": "سألته كيف حالك فقال أنا بخير", |
| "expected": "", |
| "actual_output": "سألته كيف حالك فقال أنا: بخير", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1020, |
| "verdict": "TP", |
| "detail": "Punctuation added", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "سألته كيف حالك فقال أنا: بخير", |
| "original_text": "سألته كيف حالك فقال أنا بخير", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "C010", |
| "phase": "C", |
| "category": "position", |
| "input": "ذهبت إلى المكتبة واشتريت كتاباً ثم عدت", |
| "expected": "", |
| "actual_output": "ذهبت إلى المكتبة واشتريت كتاباً ثم عدت.", |
| "changed": true, |
| "suggestions": [], |
| "latency_ms": 1203, |
| "verdict": "TP", |
| "detail": "Punctuation added", |
| "api_status": 200, |
| "raw_response": { |
| "corrected_text": "ذهبت إلى المكتبة واشتريت كتاباً ثم عدت.", |
| "original_text": "ذهبت إلى المكتبة واشتريت كتاباً ثم عدت", |
| "status": "success" |
| } |
| }, |
| { |
| "tc_id": "D001", |
| "phase": "D", |
| "category": "multi_stage", |
| "input": "انا ذهب الى الجامعه كيف حالك", |
| "expected": "", |
| "actual_output": "أنا ذهب إلى الجامعة كيف حالك؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "حالك؟", |
| "end": 28, |
| "id": "3796c2ef-b960-4ec1-95f6-04b4fde46263", |
| "locked": true, |
| "original": "حالك", |
| "priority": 2, |
| "start": 24, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أنا", |
| "end": 3, |
| "id": "90776cc4-415e-427a-9b57-b139fcb5db1e", |
| "locked": true, |
| "original": "انا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الجامعة", |
| "end": 19, |
| "id": "e3556238-6173-4118-8a9f-96df463217e3", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 1, |
| "start": 12, |
| "type": "spelling" |
| }, |
| { |
| "alternatives": [ |
| "إلى", |
| "ال", |
| "الم", |
| "الى" |
| ], |
| "confidence": 0.9, |
| "correction": "إلى", |
| "end": 11, |
| "id": "e3c76bb4-be5e-46ff-b251-e20c1cc7e32c", |
| "locked": true, |
| "original": "الى", |
| "priority": 1, |
| "start": 8, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 2412, |
| "verdict": "TP", |
| "detail": "4 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أنا ذهب إلى الجامعة كيف حالك؟", |
| "original": "انا ذهب الى الجامعه كيف حالك", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "حالك؟", |
| "end": 28, |
| "id": "3796c2ef-b960-4ec1-95f6-04b4fde46263", |
| "locked": true, |
| "original": "حالك", |
| "priority": 2, |
| "start": 24, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أنا", |
| "end": 3, |
| "id": "90776cc4-415e-427a-9b57-b139fcb5db1e", |
| "locked": true, |
| "original": "انا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الجامعة", |
| "end": 19, |
| "id": "e3556238-6173-4118-8a9f-96df463217e3", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 1, |
| "start": 12, |
| "type": "spelling" |
| }, |
| { |
| "alternatives": [ |
| "إلى", |
| "ال", |
| "الم", |
| "الى" |
| ], |
| "confidence": 0.9, |
| "correction": "إلى", |
| "end": 11, |
| "id": "e3c76bb4-be5e-46ff-b251-e20c1cc7e32c", |
| "locked": true, |
| "original": "الى", |
| "priority": 1, |
| "start": 8, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 690, |
| "punctuation_ms": 535, |
| "spelling_ms": 878, |
| "total_ms": 2105 |
| } |
| } |
| }, |
| { |
| "tc_id": "D002", |
| "phase": "D", |
| "category": "multi_stage", |
| "input": "البنات ذهب الى المدرسه", |
| "expected": "", |
| "actual_output": "البنات ذهب إلى المدرسة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 22, |
| "id": "639bafb8-4d93-4a02-bcdf-c9b76a7816a1", |
| "locked": true, |
| "original": "المدرسه", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "إلى", |
| "ال", |
| "الم", |
| "الى" |
| ], |
| "confidence": 0.9, |
| "correction": "إلى", |
| "end": 14, |
| "id": "a6f4fabc-aecb-4b7f-b5ea-cee4cd2f457b", |
| "locked": true, |
| "original": "الى", |
| "priority": 1, |
| "start": 11, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 5792, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['ذهب']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "البنات ذهب إلى المدرسة.", |
| "original": "البنات ذهب الى المدرسه", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 22, |
| "id": "639bafb8-4d93-4a02-bcdf-c9b76a7816a1", |
| "locked": true, |
| "original": "المدرسه", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "إلى", |
| "ال", |
| "الم", |
| "الى" |
| ], |
| "confidence": 0.9, |
| "correction": "إلى", |
| "end": 14, |
| "id": "a6f4fabc-aecb-4b7f-b5ea-cee4cd2f457b", |
| "locked": true, |
| "original": "الى", |
| "priority": 1, |
| "start": 11, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 583, |
| "punctuation_ms": 563, |
| "spelling_ms": 4331, |
| "total_ms": 5479 |
| } |
| } |
| }, |
| { |
| "tc_id": "D003", |
| "phase": "D", |
| "category": "multi_stage", |
| "input": "هي ذهب الي الجامعه", |
| "expected": "", |
| "actual_output": "هو ذهب الي الجامعة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "هو", |
| "end": 2, |
| "id": "9891f46b-b0e2-4325-a886-6e51ff4af2b6", |
| "locked": true, |
| "original": "هي", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 18, |
| "id": "f346e090-04b0-4c5e-a317-6a2aabd08c11", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 2, |
| "start": 11, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 9124, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['ذهب', 'الي']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "هو ذهب الي الجامعة.", |
| "original": "هي ذهب الي الجامعه", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "هو", |
| "end": 2, |
| "id": "9891f46b-b0e2-4325-a886-6e51ff4af2b6", |
| "locked": true, |
| "original": "هي", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الجامعة.", |
| "end": 18, |
| "id": "f346e090-04b0-4c5e-a317-6a2aabd08c11", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 2, |
| "start": 11, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 539, |
| "punctuation_ms": 400, |
| "spelling_ms": 3101, |
| "total_ms": 4043 |
| } |
| } |
| }, |
| { |
| "tc_id": "D004", |
| "phase": "D", |
| "category": "correct_pipeline", |
| "input": "أنا ذهبت إلى الجامعة.", |
| "expected": "", |
| "actual_output": "أنا ذهبت إلى الجامعة", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الجامعة", |
| "end": 21, |
| "id": "bab0ccab-65fa-4acd-881b-169e2cc2fe30", |
| "locked": true, |
| "original": "الجامعة.", |
| "priority": 3, |
| "start": 13, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 1922, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الجامعة.→الجامعة']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أنا ذهبت إلى الجامعة", |
| "original": "أنا ذهبت إلى الجامعة.", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الجامعة", |
| "end": 21, |
| "id": "bab0ccab-65fa-4acd-881b-169e2cc2fe30", |
| "locked": true, |
| "original": "الجامعة.", |
| "priority": 3, |
| "start": 13, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 547, |
| "punctuation_ms": 442, |
| "spelling_ms": 621, |
| "total_ms": 1612 |
| } |
| } |
| }, |
| { |
| "tc_id": "D005", |
| "phase": "D", |
| "category": "correct_pipeline", |
| "input": "ذهب الطالب إلى المدرسة.", |
| "expected": "", |
| "actual_output": "ذهب الطالب إلى المدرسة", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المدرسة", |
| "end": 23, |
| "id": "bb057977-ae9f-4096-98d4-d353265b3628", |
| "locked": true, |
| "original": "المدرسة.", |
| "priority": 3, |
| "start": 15, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 5974, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['المدرسة.→المدرسة']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ذهب الطالب إلى المدرسة", |
| "original": "ذهب الطالب إلى المدرسة.", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المدرسة", |
| "end": 23, |
| "id": "bb057977-ae9f-4096-98d4-d353265b3628", |
| "locked": true, |
| "original": "المدرسة.", |
| "priority": 3, |
| "start": 15, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 537, |
| "punctuation_ms": 658, |
| "spelling_ms": 4467, |
| "total_ms": 5663 |
| } |
| } |
| }, |
| { |
| "tc_id": "D006", |
| "phase": "D", |
| "category": "cross_conflict", |
| "input": "الجامعه كبيره والطلاب كثيرون", |
| "expected": "", |
| "actual_output": "الجامعة كبيرة والطلاب كثيرون.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كثيرون.", |
| "end": 28, |
| "id": "28510b20-c6ea-456a-93fa-0a28463154a5", |
| "locked": true, |
| "original": "كثيرون", |
| "priority": 2, |
| "start": 22, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الجامعة كبيرة", |
| "end": 13, |
| "id": "0ba7580c-c4ee-4a58-abae-6227771bedd5", |
| "locked": true, |
| "original": "الجامعه كبيره", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 4969, |
| "verdict": "TP", |
| "detail": "2 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الجامعة كبيرة والطلاب كثيرون.", |
| "original": "الجامعه كبيره والطلاب كثيرون", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كثيرون.", |
| "end": 28, |
| "id": "28510b20-c6ea-456a-93fa-0a28463154a5", |
| "locked": true, |
| "original": "كثيرون", |
| "priority": 2, |
| "start": 22, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الجامعة كبيرة", |
| "end": 13, |
| "id": "0ba7580c-c4ee-4a58-abae-6227771bedd5", |
| "locked": true, |
| "original": "الجامعه كبيره", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 640, |
| "punctuation_ms": 606, |
| "spelling_ms": 2923, |
| "total_ms": 4171 |
| } |
| } |
| }, |
| { |
| "tc_id": "D007", |
| "phase": "D", |
| "category": "cross_conflict", |
| "input": "المدرسه جميله والمعلمون في الفصل", |
| "expected": "", |
| "actual_output": "المدرسة جميلة والمعلمون في الفصل.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الفصل.", |
| "end": 32, |
| "id": "ef257ca4-5dc3-4f11-97c9-2be069224681", |
| "locked": true, |
| "original": "الفصل", |
| "priority": 2, |
| "start": 27, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المدرسة جميلة", |
| "end": 13, |
| "id": "7ab6b541-7406-458d-95ea-fa12a03775a6", |
| "locked": true, |
| "original": "المدرسه جميله", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 7931, |
| "verdict": "TP", |
| "detail": "2 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "المدرسة جميلة والمعلمون في الفصل.", |
| "original": "المدرسه جميله والمعلمون في الفصل", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الفصل.", |
| "end": 32, |
| "id": "ef257ca4-5dc3-4f11-97c9-2be069224681", |
| "locked": true, |
| "original": "الفصل", |
| "priority": 2, |
| "start": 27, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "المدرسة جميلة", |
| "end": 13, |
| "id": "7ab6b541-7406-458d-95ea-fa12a03775a6", |
| "locked": true, |
| "original": "المدرسه جميله", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 685, |
| "punctuation_ms": 954, |
| "spelling_ms": 3694, |
| "total_ms": 5335 |
| } |
| } |
| }, |
| { |
| "tc_id": "D008", |
| "phase": "D", |
| "category": "span_align", |
| "input": "المدرسه كبيره جداً", |
| "expected": "", |
| "actual_output": "المدرسه كبيره جدا.ً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 17, |
| "id": "29e0ece0-c139-4b28-a005-92ef66e9865a", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4398, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['المدرسه', 'كبيره']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "المدرسه كبيره جدا.ً", |
| "original": "المدرسه كبيره جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "جدا.", |
| "end": 17, |
| "id": "29e0ece0-c139-4b28-a005-92ef66e9865a", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 14, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 636, |
| "punctuation_ms": 415, |
| "spelling_ms": 3037, |
| "total_ms": 4090 |
| } |
| } |
| }, |
| { |
| "tc_id": "D009", |
| "phase": "D", |
| "category": "span_align", |
| "input": "انا في المدرسه الكبيره", |
| "expected": "", |
| "actual_output": "أنا في المدرسه الكبيرة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الكبيرة.", |
| "end": 22, |
| "id": "f11a5c08-28d1-4cd0-93f9-5c6e5009268d", |
| "locked": true, |
| "original": "الكبيره", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أنا", |
| "end": 3, |
| "id": "d94b48ed-49e1-4918-8a26-13dca0374c65", |
| "locked": true, |
| "original": "انا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 4174, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['المدرسه']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أنا في المدرسه الكبيرة.", |
| "original": "انا في المدرسه الكبيره", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الكبيرة.", |
| "end": 22, |
| "id": "f11a5c08-28d1-4cd0-93f9-5c6e5009268d", |
| "locked": true, |
| "original": "الكبيره", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أنا", |
| "end": 3, |
| "id": "d94b48ed-49e1-4918-8a26-13dca0374c65", |
| "locked": true, |
| "original": "انا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 532, |
| "punctuation_ms": 502, |
| "spelling_ms": 2830, |
| "total_ms": 3866 |
| } |
| } |
| }, |
| { |
| "tc_id": "D010", |
| "phase": "D", |
| "category": "religious_pipeline", |
| "input": "بسم الله الرحمن الرحيم", |
| "expected": "", |
| "actual_output": "بسم الله الرحمن الرحيم.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الرحيم.", |
| "end": 22, |
| "id": "67d2ae83-7386-4841-bb7a-b1ab6976393f", |
| "locked": true, |
| "original": "الرحيم", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 1910, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الرحيم→الرحيم.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "بسم الله الرحمن الرحيم.", |
| "original": "بسم الله الرحمن الرحيم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الرحيم.", |
| "end": 22, |
| "id": "67d2ae83-7386-4841-bb7a-b1ab6976393f", |
| "locked": true, |
| "original": "الرحيم", |
| "priority": 2, |
| "start": 16, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 629, |
| "punctuation_ms": 404, |
| "spelling_ms": 531, |
| "total_ms": 1564 |
| } |
| } |
| }, |
| { |
| "tc_id": "D011", |
| "phase": "D", |
| "category": "religious_pipeline", |
| "input": "الحمد لله رب العالمين", |
| "expected": "", |
| "actual_output": "الحمد لله رب العالمين.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "العالمين.", |
| "end": 21, |
| "id": "03e1d8fd-e75b-4c64-870d-990c81860b58", |
| "locked": true, |
| "original": "العالمين", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2275, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['العالمين→العالمين.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "الحمد لله رب العالمين.", |
| "original": "الحمد لله رب العالمين", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "العالمين.", |
| "end": 21, |
| "id": "03e1d8fd-e75b-4c64-870d-990c81860b58", |
| "locked": true, |
| "original": "العالمين", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 536, |
| "punctuation_ms": 622, |
| "spelling_ms": 806, |
| "total_ms": 1966 |
| } |
| } |
| }, |
| { |
| "tc_id": "D012", |
| "phase": "D", |
| "category": "apply_all", |
| "input": "انا ذهبت الي المدرسه", |
| "expected": "", |
| "actual_output": "أنا ذهبت الي المدرسة.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 20, |
| "id": "bb14d118-fd3a-4b52-9cdb-1281637b369e", |
| "locked": true, |
| "original": "المدرسه", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أنا", |
| "end": 3, |
| "id": "0cbe9743-9ba1-4c90-94ca-f96d4341442f", |
| "locked": true, |
| "original": "انا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 4617, |
| "verdict": "FN", |
| "detail": "Errors NOT fixed: ['الي']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أنا ذهبت الي المدرسة.", |
| "original": "انا ذهبت الي المدرسه", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "المدرسة.", |
| "end": 20, |
| "id": "bb14d118-fd3a-4b52-9cdb-1281637b369e", |
| "locked": true, |
| "original": "المدرسه", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "أنا", |
| "end": 3, |
| "id": "0cbe9743-9ba1-4c90-94ca-f96d4341442f", |
| "locked": true, |
| "original": "انا", |
| "priority": 1, |
| "start": 0, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 538, |
| "punctuation_ms": 454, |
| "spelling_ms": 3404, |
| "total_ms": 4397 |
| } |
| } |
| }, |
| { |
| "tc_id": "D013", |
| "phase": "D", |
| "category": "apply_all", |
| "input": "النص الأول صحيح ولكن الجامعه خطأ", |
| "expected": "", |
| "actual_output": "النص الأول صحيح ولكن الجامعة خاطئة", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "خاطئة", |
| "end": 32, |
| "id": "446ff19d-2a97-4682-8004-0c373295c99d", |
| "locked": true, |
| "original": "خطأ", |
| "priority": 3, |
| "start": 29, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [ |
| "الجامعة", |
| "الجامعي", |
| "الجامع", |
| "الجامعه" |
| ], |
| "confidence": 0.9, |
| "correction": "الجامعة", |
| "end": 28, |
| "id": "69eaec33-72c1-4539-b404-e170e6816587", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 1, |
| "start": 21, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 9042, |
| "verdict": "TP", |
| "detail": "2 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "النص الأول صحيح ولكن الجامعة خاطئة", |
| "original": "النص الأول صحيح ولكن الجامعه خطأ", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "خاطئة", |
| "end": 32, |
| "id": "446ff19d-2a97-4682-8004-0c373295c99d", |
| "locked": true, |
| "original": "خطأ", |
| "priority": 3, |
| "start": 29, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [ |
| "الجامعة", |
| "الجامعي", |
| "الجامع", |
| "الجامعه" |
| ], |
| "confidence": 0.9, |
| "correction": "الجامعة", |
| "end": 28, |
| "id": "69eaec33-72c1-4539-b404-e170e6816587", |
| "locked": true, |
| "original": "الجامعه", |
| "priority": 1, |
| "start": 21, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 743, |
| "punctuation_ms": 742, |
| "spelling_ms": 7246, |
| "total_ms": 8734 |
| } |
| } |
| }, |
| { |
| "tc_id": "D014", |
| "phase": "D", |
| "category": "long_text", |
| "input": "هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً", |
| "expected": "", |
| "actual_output": "هذا النص طويل جدا هذا النص قصير جدا هذه النصطويل جداً هذا النص طويلة جدا هذا النص طويلا جداهذا النصطويل جدي هذا النص الطويل جدا هذ النصطويل بجد هذا النص كبير جدا لهذا النصطويل جداً هذا النص قديم جدا هنا النصطويل جداً هذا النص كثير جدا هؤلاء النصطويل جداً هذا النص دائم جدا هذا نصهطويل جدا هو هذا النص طويل جداً هذا النص طويل طويل،ً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "قصير جدا هذه النص", |
| "end": 28, |
| "id": "48142834-39be-4fae-8380-c7a12f90fb35", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 28, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "طويلة جدا", |
| "end": 56, |
| "id": "81b1787e-dab8-426d-8229-26766c3c0d7b", |
| "locked": true, |
| "original": "طويل جداً", |
| "priority": 3, |
| "start": 47, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "طويلا جداهذا النص", |
| "end": 66, |
| "id": "0b3717ee-84ce-4616-af91-2f2c4aecb177", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 66, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدي", |
| "end": 75, |
| "id": "ecd19c63-4d5b-4b68-807b-581cf05a92bd", |
| "locked": true, |
| "original": "جداً", |
| "priority": 3, |
| "start": 71, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الطويل جدا هذ النص", |
| "end": 85, |
| "id": "04274d43-92f7-459d-9548-07eb99a8de2b", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 85, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "بجد", |
| "end": 94, |
| "id": "0ff8b067-3643-4aea-8e40-7c1e1a5cb3c9", |
| "locked": true, |
| "original": "جداً", |
| "priority": 3, |
| "start": 90, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "كبير جدا لهذا النص", |
| "end": 104, |
| "id": "2a22091e-158d-4c72-8f21-81540ae8bc10", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 104, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "قديم جدا هنا النص", |
| "end": 123, |
| "id": "2355d5d2-3950-4f5f-ae86-a22811ea8a4c", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 123, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "كثير جدا هؤلاء النص", |
| "end": 142, |
| "id": "8cd92dc5-23ec-4b32-9064-b4827b407e54", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 142, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "دائم جدا هذا نصه", |
| "end": 161, |
| "id": "0b3b01d3-6cd5-42af-ad9e-90b718502ecd", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 161, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا هو", |
| "end": 170, |
| "id": "dca29339-178d-4dd1-8c3a-65eeb052e5c4", |
| "locked": true, |
| "original": "جداً", |
| "priority": 3, |
| "start": 166, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "طويل،", |
| "end": 207, |
| "id": "e4d3648f-9c42-4f08-ba39-04c407e91d37", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 204, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا", |
| "end": 18, |
| "id": "bb91cb06-2718-4d71-b6fc-a1f53b2c1216", |
| "locked": true, |
| "original": "جداً", |
| "priority": 1, |
| "start": 14, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 20813, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['→قصير جدا هذه النص', 'طويل جداً→طويلة جدا', '→طويلا جداهذا النص', 'جداً→جدي', '→الطويل جدا هذ النص']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "هذا النص طويل جدا هذا النص قصير جدا هذه النصطويل جداً هذا النص طويلة جدا هذا النص طويلا جداهذا النصطويل جدي هذا النص الطويل جدا هذ النصطويل بجد هذا النص كبير جدا لهذا النصطويل جداً هذا النص قديم جدا هنا النصطويل جداً هذا النص كثير جدا هؤلاء النصطويل جداً هذا النص دائم جدا هذا نصهطويل جدا هو هذا النص طويل جداً هذا النص طويل طويل،ً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً", |
| "original": "هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً هذا النص طويل جداً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "قصير جدا هذه النص", |
| "end": 28, |
| "id": "48142834-39be-4fae-8380-c7a12f90fb35", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 28, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "طويلة جدا", |
| "end": 56, |
| "id": "81b1787e-dab8-426d-8229-26766c3c0d7b", |
| "locked": true, |
| "original": "طويل جداً", |
| "priority": 3, |
| "start": 47, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "طويلا جداهذا النص", |
| "end": 66, |
| "id": "0b3717ee-84ce-4616-af91-2f2c4aecb177", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 66, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدي", |
| "end": 75, |
| "id": "ecd19c63-4d5b-4b68-807b-581cf05a92bd", |
| "locked": true, |
| "original": "جداً", |
| "priority": 3, |
| "start": 71, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "الطويل جدا هذ النص", |
| "end": 85, |
| "id": "04274d43-92f7-459d-9548-07eb99a8de2b", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 85, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "بجد", |
| "end": 94, |
| "id": "0ff8b067-3643-4aea-8e40-7c1e1a5cb3c9", |
| "locked": true, |
| "original": "جداً", |
| "priority": 3, |
| "start": 90, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "كبير جدا لهذا النص", |
| "end": 104, |
| "id": "2a22091e-158d-4c72-8f21-81540ae8bc10", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 104, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "قديم جدا هنا النص", |
| "end": 123, |
| "id": "2355d5d2-3950-4f5f-ae86-a22811ea8a4c", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 123, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "كثير جدا هؤلاء النص", |
| "end": 142, |
| "id": "8cd92dc5-23ec-4b32-9064-b4827b407e54", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 142, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "دائم جدا هذا نصه", |
| "end": 161, |
| "id": "0b3b01d3-6cd5-42af-ad9e-90b718502ecd", |
| "locked": true, |
| "original": "", |
| "priority": 3, |
| "start": 161, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا هو", |
| "end": 170, |
| "id": "dca29339-178d-4dd1-8c3a-65eeb052e5c4", |
| "locked": true, |
| "original": "جداً", |
| "priority": 3, |
| "start": 166, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "طويل،", |
| "end": 207, |
| "id": "e4d3648f-9c42-4f08-ba39-04c407e91d37", |
| "locked": true, |
| "original": "جدا", |
| "priority": 2, |
| "start": 204, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا", |
| "end": 18, |
| "id": "bb91cb06-2718-4d71-b6fc-a1f53b2c1216", |
| "locked": true, |
| "original": "جداً", |
| "priority": 1, |
| "start": 14, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 12456, |
| "punctuation_ms": 8048, |
| "spelling_ms": 0, |
| "total_ms": 20509 |
| } |
| } |
| }, |
| { |
| "tc_id": "D015", |
| "phase": "D", |
| "category": "edge_empty", |
| "input": "", |
| "expected": "", |
| "actual_output": "", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 223, |
| "verdict": "TN", |
| "detail": "Edge case handled: Text is required", |
| "api_status": 400, |
| "raw_response": { |
| "error": "Text is required", |
| "status": "error" |
| } |
| }, |
| { |
| "tc_id": "D016", |
| "phase": "D", |
| "category": "edge_short", |
| "input": "مرحبا", |
| "expected": "", |
| "actual_output": "مرحبا.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مرحبا.", |
| "end": 5, |
| "id": "c6d61452-f869-4bf5-b4a9-9314982f3de2", |
| "locked": true, |
| "original": "مرحبا", |
| "priority": 2, |
| "start": 0, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2155, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['مرحبا→مرحبا.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "مرحبا.", |
| "original": "مرحبا", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مرحبا.", |
| "end": 5, |
| "id": "c6d61452-f869-4bf5-b4a9-9314982f3de2", |
| "locked": true, |
| "original": "مرحبا", |
| "priority": 2, |
| "start": 0, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 374, |
| "punctuation_ms": 215, |
| "spelling_ms": 1255, |
| "total_ms": 1846 |
| } |
| } |
| }, |
| { |
| "tc_id": "D017", |
| "phase": "D", |
| "category": "edge_html", |
| "input": "<script>alert('xss')</script> مرحبا بكم في الموقع", |
| "expected": "", |
| "actual_output": "alert : ' xسs ' ' ، مرحبا بكم في الموقع", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "alert : ' xسs ' ' ،", |
| "end": 12, |
| "id": "eb6d17b0-a148-4dba-8cec-b3ab6a9f6dd6", |
| "locked": true, |
| "original": "alert('xss')", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 8923, |
| "verdict": "TP", |
| "detail": "1 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "alert : ' xسs ' ' ، مرحبا بكم في الموقع", |
| "original": "alert('xss') مرحبا بكم في الموقع", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "alert : ' xسs ' ' ،", |
| "end": 12, |
| "id": "eb6d17b0-a148-4dba-8cec-b3ab6a9f6dd6", |
| "locked": true, |
| "original": "alert('xss')", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1287, |
| "punctuation_ms": 377, |
| "spelling_ms": 6948, |
| "total_ms": 8614 |
| } |
| } |
| }, |
| { |
| "tc_id": "D018", |
| "phase": "D", |
| "category": "edge_english", |
| "input": "Hello world this is a test of English text only", |
| "expected": "", |
| "actual_output": "Hello world this is a test of English text only", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 221, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "Hello world this is a test of English text only", |
| "original": "Hello world this is a test of English text only", |
| "status": "success", |
| "suggestions": [], |
| "timing_ms": {} |
| } |
| }, |
| { |
| "tc_id": "E001", |
| "phase": "E", |
| "category": "dialect", |
| "input": "ازيك عامل ايه انهارده", |
| "expected": "", |
| "actual_output": "ازيك عامل ايه انهاردة", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "انهاردة", |
| "انهارده" |
| ], |
| "confidence": 0.9, |
| "correction": "انهاردة", |
| "end": 21, |
| "id": "cbb98f59-4cc3-4613-bca0-6cdeda2e7fca", |
| "locked": true, |
| "original": "انهارده", |
| "priority": 1, |
| "start": 14, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 4447, |
| "verdict": "TP", |
| "detail": "1 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ازيك عامل ايه انهاردة", |
| "original": "ازيك عامل ايه انهارده", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "انهاردة", |
| "انهارده" |
| ], |
| "confidence": 0.9, |
| "correction": "انهاردة", |
| "end": 21, |
| "id": "cbb98f59-4cc3-4613-bca0-6cdeda2e7fca", |
| "locked": true, |
| "original": "انهارده", |
| "priority": 1, |
| "start": 14, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 535, |
| "punctuation_ms": 522, |
| "spelling_ms": 3044, |
| "total_ms": 4103 |
| } |
| } |
| }, |
| { |
| "tc_id": "E002", |
| "phase": "E", |
| "category": "dialect", |
| "input": "كيفك شو اخبارك اليوم", |
| "expected": "", |
| "actual_output": "كيفك شو اخبارك اليوم؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "اليوم؟", |
| "end": 20, |
| "id": "3bd983ed-ccaa-487e-a092-984e3d8694a8", |
| "locked": true, |
| "original": "اليوم", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4452, |
| "verdict": "TP", |
| "detail": "1 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "كيفك شو اخبارك اليوم؟", |
| "original": "كيفك شو اخبارك اليوم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "اليوم؟", |
| "end": 20, |
| "id": "3bd983ed-ccaa-487e-a092-984e3d8694a8", |
| "locked": true, |
| "original": "اليوم", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 686, |
| "punctuation_ms": 517, |
| "spelling_ms": 2938, |
| "total_ms": 4143 |
| } |
| } |
| }, |
| { |
| "tc_id": "E003", |
| "phase": "E", |
| "category": "dialect", |
| "input": "شلونك وين رايح", |
| "expected": "", |
| "actual_output": "شلونك وين رايح؟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "رايح؟", |
| "end": 14, |
| "id": "1df224ee-85c3-4527-9f87-5395c689100a", |
| "locked": true, |
| "original": "رايح", |
| "priority": 2, |
| "start": 10, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3945, |
| "verdict": "TP", |
| "detail": "1 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "شلونك وين رايح؟", |
| "original": "شلونك وين رايح", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "رايح؟", |
| "end": 14, |
| "id": "1df224ee-85c3-4527-9f87-5395c689100a", |
| "locked": true, |
| "original": "رايح", |
| "priority": 2, |
| "start": 10, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 530, |
| "punctuation_ms": 374, |
| "spelling_ms": 2815, |
| "total_ms": 3721 |
| } |
| } |
| }, |
| { |
| "tc_id": "E004", |
| "phase": "E", |
| "category": "franco", |
| "input": "ana ray7 el gam3a", |
| "expected": "", |
| "actual_output": "ana ray7 el gam3a", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 224, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "ana ray7 el gam3a", |
| "original": "ana ray7 el gam3a", |
| "status": "success", |
| "suggestions": [], |
| "timing_ms": {} |
| } |
| }, |
| { |
| "tc_id": "E005", |
| "phase": "E", |
| "category": "franco", |
| "input": "3ayz atkalem ma3ak", |
| "expected": "", |
| "actual_output": "3ayz atkalem ma3ak", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 308, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "3ayz atkalem ma3ak", |
| "original": "3ayz atkalem ma3ak", |
| "status": "success", |
| "suggestions": [], |
| "timing_ms": {} |
| } |
| }, |
| { |
| "tc_id": "E006", |
| "phase": "E", |
| "category": "repetition", |
| "input": "هههههههههه مضحك جداااااا", |
| "expected": "", |
| "actual_output": "هههههاهههة مضحك جدا", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "هههههاهههة", |
| "end": 10, |
| "id": "0163a4b3-2045-49f2-a3ae-8d8be2045389", |
| "locked": true, |
| "original": "هههههههههه", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا", |
| "end": 24, |
| "id": "5b3858c0-96e2-4991-9612-dfce50c96179", |
| "locked": true, |
| "original": "جداااااا", |
| "priority": 3, |
| "start": 16, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 2736, |
| "verdict": "TP", |
| "detail": "2 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "هههههاهههة مضحك جدا", |
| "original": "هههههههههه مضحك جداااااا", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "هههههاهههة", |
| "end": 10, |
| "id": "0163a4b3-2045-49f2-a3ae-8d8be2045389", |
| "locked": true, |
| "original": "هههههههههه", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا", |
| "end": 24, |
| "id": "5b3858c0-96e2-4991-9612-dfce50c96179", |
| "locked": true, |
| "original": "جداااااا", |
| "priority": 3, |
| "start": 16, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1032, |
| "punctuation_ms": 628, |
| "spelling_ms": 819, |
| "total_ms": 2481 |
| } |
| } |
| }, |
| { |
| "tc_id": "E007", |
| "phase": "E", |
| "category": "repetition", |
| "input": "لاااااااا مش ممكن", |
| "expected": "", |
| "actual_output": "لا مش ممكن.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "لا", |
| "end": 9, |
| "id": "cae8b59d-7b57-439a-9916-31055dfa232f", |
| "locked": true, |
| "original": "لاااااااا", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "ممكن.", |
| "end": 17, |
| "id": "156c89d6-b17c-4355-90cf-10436746f3ec", |
| "locked": true, |
| "original": "ممكن", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 2860, |
| "verdict": "TP", |
| "detail": "2 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "لا مش ممكن.", |
| "original": "لاااااااا مش ممكن", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "لا", |
| "end": 9, |
| "id": "cae8b59d-7b57-439a-9916-31055dfa232f", |
| "locked": true, |
| "original": "لاااااااا", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "ممكن.", |
| "end": 17, |
| "id": "156c89d6-b17c-4355-90cf-10436746f3ec", |
| "locked": true, |
| "original": "ممكن", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 632, |
| "punctuation_ms": 324, |
| "spelling_ms": 1594, |
| "total_ms": 2552 |
| } |
| } |
| }, |
| { |
| "tc_id": "E008", |
| "phase": "E", |
| "category": "emoji", |
| "input": "😊😊😊 مرحبا 🎉🎉🎉 كيف حالك 🌟", |
| "expected": "", |
| "actual_output": "😊 😊 😊 مرحبا؟ 🎉 🎉 🎉 كيف حالك 🌟", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "😊 😊 😊", |
| "end": 3, |
| "id": "02e33816-1aeb-4b0c-89ea-61cd3f4cfc54", |
| "locked": true, |
| "original": "😊😊😊", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "🎉 🎉 🎉", |
| "end": 13, |
| "id": "be95e370-cf80-41fa-8a88-cdf44a160554", |
| "locked": true, |
| "original": "🎉🎉🎉", |
| "priority": 3, |
| "start": 10, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مرحبا؟", |
| "end": 9, |
| "id": "c236900e-0375-4df6-8067-4d6071f1be66", |
| "locked": true, |
| "original": "مرحبا", |
| "priority": 2, |
| "start": 4, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 5624, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['😊😊😊→😊 😊 😊', '🎉🎉🎉→🎉 🎉 🎉', 'مرحبا→مرحبا؟']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "😊 😊 😊 مرحبا؟ 🎉 🎉 🎉 كيف حالك 🌟", |
| "original": "😊😊😊 مرحبا 🎉🎉🎉 كيف حالك 🌟", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "😊 😊 😊", |
| "end": 3, |
| "id": "02e33816-1aeb-4b0c-89ea-61cd3f4cfc54", |
| "locked": true, |
| "original": "😊😊😊", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "🎉 🎉 🎉", |
| "end": 13, |
| "id": "be95e370-cf80-41fa-8a88-cdf44a160554", |
| "locked": true, |
| "original": "🎉🎉🎉", |
| "priority": 3, |
| "start": 10, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "مرحبا؟", |
| "end": 9, |
| "id": "c236900e-0375-4df6-8067-4d6071f1be66", |
| "locked": true, |
| "original": "مرحبا", |
| "priority": 2, |
| "start": 4, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 927, |
| "punctuation_ms": 718, |
| "spelling_ms": 3754, |
| "total_ms": 5400 |
| } |
| } |
| }, |
| { |
| "tc_id": "E009", |
| "phase": "E", |
| "category": "mixed_script", |
| "input": "I love القراءة and الكتابة", |
| "expected": "", |
| "actual_output": "I love القراءة والكتابة", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "والكتابة", |
| "end": 26, |
| "id": "65f59f8c-9edd-42aa-add8-2cd0c6aaa438", |
| "locked": true, |
| "original": "and الكتابة", |
| "priority": 3, |
| "start": 15, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 7565, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['and الكتابة→والكتابة']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "I love القراءة والكتابة", |
| "original": "I love القراءة and الكتابة", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "والكتابة", |
| "end": 26, |
| "id": "65f59f8c-9edd-42aa-add8-2cd0c6aaa438", |
| "locked": true, |
| "original": "and الكتابة", |
| "priority": 3, |
| "start": 15, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 643, |
| "punctuation_ms": 615, |
| "spelling_ms": 5962, |
| "total_ms": 7221 |
| } |
| } |
| }, |
| { |
| "tc_id": "E010", |
| "phase": "E", |
| "category": "mixed_script", |
| "input": "المشروع يستخدم React و Node.js", |
| "expected": "", |
| "actual_output": "المشروع يستخدم React، و Node. js", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "React،", |
| "end": 20, |
| "id": "5234408f-c6b3-48d9-9964-39b8621541b7", |
| "locked": true, |
| "original": "React", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "Node. js", |
| "Node.js" |
| ], |
| "confidence": 0.85, |
| "correction": "Node. js", |
| "end": 30, |
| "id": "240a32b5-aa23-493d-9512-891301e4a5c8", |
| "locked": true, |
| "original": "Node.js", |
| "priority": 1, |
| "start": 23, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 9052, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['React→React،', 'Node.js→Node. js']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "المشروع يستخدم React، و Node. js", |
| "original": "المشروع يستخدم React و Node.js", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "React،", |
| "end": 20, |
| "id": "5234408f-c6b3-48d9-9964-39b8621541b7", |
| "locked": true, |
| "original": "React", |
| "priority": 2, |
| "start": 15, |
| "type": "punctuation" |
| }, |
| { |
| "alternatives": [ |
| "Node. js", |
| "Node.js" |
| ], |
| "confidence": 0.85, |
| "correction": "Node. js", |
| "end": 30, |
| "id": "240a32b5-aa23-493d-9512-891301e4a5c8", |
| "locked": true, |
| "original": "Node.js", |
| "priority": 1, |
| "start": 23, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1082, |
| "punctuation_ms": 883, |
| "spelling_ms": 6861, |
| "total_ms": 8828 |
| } |
| } |
| }, |
| { |
| "tc_id": "E011", |
| "phase": "E", |
| "category": "code", |
| "input": "print('مرحبا بالعالم')", |
| "expected": "", |
| "actual_output": "printا : طباعة ، مُلَّدَة", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "printا : طباعة ، مُلَّدَة", |
| "end": 22, |
| "id": "b5c72b14-a86f-4454-9ffb-830cbd9792d1", |
| "locked": true, |
| "original": "print('مرحبا بالعالم')", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 7501, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: [\"print('مرحبا بالعالم')→printا : طباعة ، مُلَّدَة\"]", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "printا : طباعة ، مُلَّدَة", |
| "original": "print('مرحبا بالعالم')", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "printا : طباعة ، مُلَّدَة", |
| "end": 22, |
| "id": "b5c72b14-a86f-4454-9ffb-830cbd9792d1", |
| "locked": true, |
| "original": "print('مرحبا بالعالم')", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1729, |
| "punctuation_ms": 601, |
| "spelling_ms": 4946, |
| "total_ms": 7277 |
| } |
| } |
| }, |
| { |
| "tc_id": "E012", |
| "phase": "E", |
| "category": "code", |
| "input": "function test() { return 'مرحبا'; }", |
| "expected": "", |
| "actual_output": "function test() { return 'مرحبا'; }", |
| "changed": false, |
| "suggestions": [], |
| "latency_ms": 312, |
| "verdict": "TN", |
| "detail": "Correctly unchanged", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "function test() { return 'مرحبا'; }", |
| "original": "function test() { return 'مرحبا'; }", |
| "status": "success", |
| "suggestions": [], |
| "timing_ms": {} |
| } |
| }, |
| { |
| "tc_id": "E013", |
| "phase": "E", |
| "category": "url", |
| "input": "زر الموقع https://www.example.com/path?q=test للمزيد", |
| "expected": "", |
| "actual_output": "زر الموقع htps://w. example. com/path?q=test للمزيد", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "htps://w. example. com/path?q=test", |
| "https://www.example.com/path?q=test" |
| ], |
| "confidence": 0.85, |
| "correction": "htps://w. example. com/path?q=test", |
| "end": 45, |
| "id": "a274942f-bdb4-4562-b7ae-326af6bcf506", |
| "locked": true, |
| "original": "https://www.example.com/path?q=test", |
| "priority": 1, |
| "start": 10, |
| "type": "spelling" |
| } |
| ], |
| "latency_ms": 20189, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['https://www.example.com/path?q=test→htps://w. example. com/path?q=test']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "زر الموقع htps://w. example. com/path?q=test للمزيد", |
| "original": "زر الموقع https://www.example.com/path?q=test للمزيد", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [ |
| "htps://w. example. com/path?q=test", |
| "https://www.example.com/path?q=test" |
| ], |
| "confidence": 0.85, |
| "correction": "htps://w. example. com/path?q=test", |
| "end": 45, |
| "id": "a274942f-bdb4-4562-b7ae-326af6bcf506", |
| "locked": true, |
| "original": "https://www.example.com/path?q=test", |
| "priority": 1, |
| "start": 10, |
| "type": "spelling" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1642, |
| "punctuation_ms": 4757, |
| "spelling_ms": 13563, |
| "total_ms": 19965 |
| } |
| } |
| }, |
| { |
| "tc_id": "E014", |
| "phase": "E", |
| "category": "email", |
| "input": "أرسل لي على info@company.com رجاءً", |
| "expected": "", |
| "actual_output": "أرسل لي على info @ company ، com رجاء", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "info @ company ، com رجاء", |
| "end": 34, |
| "id": "300a56b0-f582-4218-a750-166c6a4009d7", |
| "locked": true, |
| "original": "info@company.com رجاءً", |
| "priority": 3, |
| "start": 12, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 10049, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['info@company.com رجاءً→info @ company ، com رجاء']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "أرسل لي على info @ company ، com رجاء", |
| "original": "أرسل لي على info@company.com رجاءً", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "info @ company ، com رجاء", |
| "end": 34, |
| "id": "300a56b0-f582-4218-a750-166c6a4009d7", |
| "locked": true, |
| "original": "info@company.com رجاءً", |
| "priority": 3, |
| "start": 12, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1138, |
| "punctuation_ms": 823, |
| "spelling_ms": 7777, |
| "total_ms": 9740 |
| } |
| } |
| }, |
| { |
| "tc_id": "E015", |
| "phase": "E", |
| "category": "numbers", |
| "input": "تاريخ اليوم 15/06/2026 والساعة 14:30", |
| "expected": "", |
| "actual_output": "تاريخ اليوم 15 / 06 / 2026 والساعة 14 : 30", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "15 / 06 / 2026", |
| "end": 22, |
| "id": "91efc137-4f41-4543-8c88-6296d003475b", |
| "locked": true, |
| "original": "15/06/2026", |
| "priority": 3, |
| "start": 12, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "14 : 30", |
| "end": 36, |
| "id": "96429a13-79cb-4a4c-9dcd-ba72523a00fb", |
| "locked": true, |
| "original": "14:30", |
| "priority": 3, |
| "start": 31, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 16521, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['15/06/2026→15 / 06 / 2026', '14:30→14 : 30']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "تاريخ اليوم 15 / 06 / 2026 والساعة 14 : 30", |
| "original": "تاريخ اليوم 15/06/2026 والساعة 14:30", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "15 / 06 / 2026", |
| "end": 22, |
| "id": "91efc137-4f41-4543-8c88-6296d003475b", |
| "locked": true, |
| "original": "15/06/2026", |
| "priority": 3, |
| "start": 12, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "14 : 30", |
| "end": 36, |
| "id": "96429a13-79cb-4a4c-9dcd-ba72523a00fb", |
| "locked": true, |
| "original": "14:30", |
| "priority": 3, |
| "start": 31, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1138, |
| "punctuation_ms": 805, |
| "spelling_ms": 14265, |
| "total_ms": 16210 |
| } |
| } |
| }, |
| { |
| "tc_id": "E016", |
| "phase": "E", |
| "category": "numbers", |
| "input": "المسافة 25.5 كم والحرارة 35°C", |
| "expected": "", |
| "actual_output": "المسافة 25 . 5 كم، والحرارة 35 ° C", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "25 . 5", |
| "end": 12, |
| "id": "06f095b0-d910-45e4-b7bd-f44ddfb8baf7", |
| "locked": true, |
| "original": "25.5", |
| "priority": 3, |
| "start": 8, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "35 ° C", |
| "end": 29, |
| "id": "59f1c659-569f-49a1-ae3a-31784ad40f1a", |
| "locked": true, |
| "original": "35°C", |
| "priority": 3, |
| "start": 25, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كم،", |
| "end": 15, |
| "id": "3f2b0e46-af6b-46ef-9cc5-54047cdd863e", |
| "locked": true, |
| "original": "كم", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 8479, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['25.5→25 . 5', '35°C→35 ° C', 'كم→كم،']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "المسافة 25 . 5 كم، والحرارة 35 ° C", |
| "original": "المسافة 25.5 كم والحرارة 35°C", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "25 . 5", |
| "end": 12, |
| "id": "06f095b0-d910-45e4-b7bd-f44ddfb8baf7", |
| "locked": true, |
| "original": "25.5", |
| "priority": 3, |
| "start": 8, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "35 ° C", |
| "end": 29, |
| "id": "59f1c659-569f-49a1-ae3a-31784ad40f1a", |
| "locked": true, |
| "original": "35°C", |
| "priority": 3, |
| "start": 25, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "كم،", |
| "end": 15, |
| "id": "3f2b0e46-af6b-46ef-9cc5-54047cdd863e", |
| "locked": true, |
| "original": "كم", |
| "priority": 2, |
| "start": 13, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 985, |
| "punctuation_ms": 767, |
| "spelling_ms": 6415, |
| "total_ms": 8169 |
| } |
| } |
| }, |
| { |
| "tc_id": "E017", |
| "phase": "E", |
| "category": "unicode", |
| "input": "بسمالله", |
| "expected": "", |
| "actual_output": "بسمالله.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الله.", |
| "end": 8, |
| "id": "04360815-7278-4b85-8fae-a77b93d014ba", |
| "locked": true, |
| "original": "الله", |
| "priority": 2, |
| "start": 4, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4990, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الله→الله.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "بسمالله.", |
| "original": "بسمالله", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الله.", |
| "end": 8, |
| "id": "04360815-7278-4b85-8fae-a77b93d014ba", |
| "locked": true, |
| "original": "الله", |
| "priority": 2, |
| "start": 4, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 327, |
| "punctuation_ms": 317, |
| "spelling_ms": 4035, |
| "total_ms": 4681 |
| } |
| } |
| }, |
| { |
| "tc_id": "E018", |
| "phase": "E", |
| "category": "unicode", |
| "input": "مرحبابكم", |
| "expected": "", |
| "actual_output": "مرحبابك.م", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بك.", |
| "end": 8, |
| "id": "52fb0e99-5481-49a3-b146-a19afe540a15", |
| "locked": true, |
| "original": "بك", |
| "priority": 2, |
| "start": 6, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 3173, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['بك→بك.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "مرحبابك.م", |
| "original": "مرحبابكم", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "بك.", |
| "end": 8, |
| "id": "52fb0e99-5481-49a3-b146-a19afe540a15", |
| "locked": true, |
| "original": "بك", |
| "priority": 2, |
| "start": 6, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 380, |
| "punctuation_ms": 305, |
| "spelling_ms": 2261, |
| "total_ms": 2947 |
| } |
| } |
| }, |
| { |
| "tc_id": "E019", |
| "phase": "E", |
| "category": "unicode", |
| "input": "كَتَبَ الطَّالِبُ الدَّرسَ", |
| "expected": "", |
| "actual_output": "كَتَبَ الطَّالِبُ الدَّرسَ.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الدَّرسَ.", |
| "end": 26, |
| "id": "2ebb478b-99cf-4733-89a1-66ae30953a07", |
| "locked": true, |
| "original": "الدَّرسَ", |
| "priority": 2, |
| "start": 18, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 4551, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الدَّرسَ→الدَّرسَ.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "كَتَبَ الطَّالِبُ الدَّرسَ.", |
| "original": "كَتَبَ الطَّالِبُ الدَّرسَ", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الدَّرسَ.", |
| "end": 26, |
| "id": "2ebb478b-99cf-4733-89a1-66ae30953a07", |
| "locked": true, |
| "original": "الدَّرسَ", |
| "priority": 2, |
| "start": 18, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1888, |
| "punctuation_ms": 493, |
| "spelling_ms": 1859, |
| "total_ms": 4242 |
| } |
| } |
| }, |
| { |
| "tc_id": "E020", |
| "phase": "E", |
| "category": "long_word", |
| "input": "واستغفروالذنوبهمجميعاًفإنهم محتاجون", |
| "expected": "", |
| "actual_output": "واستغفروالذنوبهم جميعا فإنهم محتاجون", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "واستغفروالذنوبهم جميعا فإنهم", |
| "end": 27, |
| "id": "58064e90-b6ec-4bd8-bc11-d6f9e515e093", |
| "locked": true, |
| "original": "واستغفروالذنوبهمجميعاًفإنهم", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 7372, |
| "verdict": "TP", |
| "detail": "1 fixes applied", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "واستغفروالذنوبهم جميعا فإنهم محتاجون", |
| "original": "واستغفروالذنوبهمجميعاًفإنهم محتاجون", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "واستغفروالذنوبهم جميعا فإنهم", |
| "end": 27, |
| "id": "58064e90-b6ec-4bd8-bc11-d6f9e515e093", |
| "locked": true, |
| "original": "واستغفروالذنوبهمجميعاًفإنهم", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1089, |
| "punctuation_ms": 834, |
| "spelling_ms": 5139, |
| "total_ms": 7063 |
| } |
| } |
| }, |
| { |
| "tc_id": "E021", |
| "phase": "E", |
| "category": "punct_spam", |
| "input": "!!!???...،،،؛؛؛:::...!!!", |
| "expected": "", |
| "actual_output": "! ! ! ? ? ? . . . ، ؛ ؛ ؛ : : : . . . ! ! !", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "! ! ! ? ? ? . . . ، ؛ ؛ ؛ : : : . . . ! ! !", |
| "end": 24, |
| "id": "f86d89d3-0190-4bdf-939f-1410130a3612", |
| "locked": true, |
| "original": "!!!???...،،،؛؛؛:::...!!!", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 14372, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['!!!???...،،،؛؛؛:::...!!!→! ! ! ? ? ? . . . ، ؛ ؛ ؛ : : : . . . ! ! !']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "! ! ! ? ? ? . . . ، ؛ ؛ ؛ : : : . . . ! ! !", |
| "original": "!!!???...،،،؛؛؛:::...!!!", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "! ! ! ? ? ? . . . ، ؛ ؛ ؛ : : : . . . ! ! !", |
| "end": 24, |
| "id": "f86d89d3-0190-4bdf-939f-1410130a3612", |
| "locked": true, |
| "original": "!!!???...،،،؛؛؛:::...!!!", |
| "priority": 3, |
| "start": 0, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1174, |
| "punctuation_ms": 6064, |
| "spelling_ms": 6877, |
| "total_ms": 14116 |
| } |
| } |
| }, |
| { |
| "tc_id": "E022", |
| "phase": "E", |
| "category": "newlines", |
| "input": "السطر الأول\nالسطر الثاني\nالسطر الثالث", |
| "expected": "", |
| "actual_output": "السطر الأول\nالسطر الثاني\nالسطر الثالث.", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الثالث.", |
| "end": 37, |
| "id": "bf85b4b2-5151-4069-bff3-463ab8bedf22", |
| "locked": true, |
| "original": "الثالث", |
| "priority": 2, |
| "start": 31, |
| "type": "punctuation" |
| } |
| ], |
| "latency_ms": 5487, |
| "verdict": "FP", |
| "detail": "Unnecessary changes: ['الثالث→الثالث.']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "السطر الأول\nالسطر الثاني\nالسطر الثالث.", |
| "original": "السطر الأول\nالسطر الثاني\nالسطر الثالث", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 0.8, |
| "correction": "الثالث.", |
| "end": 37, |
| "id": "bf85b4b2-5151-4069-bff3-463ab8bedf22", |
| "locked": true, |
| "original": "الثالث", |
| "priority": 2, |
| "start": 31, |
| "type": "punctuation" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 692, |
| "punctuation_ms": 1017, |
| "spelling_ms": 3466, |
| "total_ms": 5176 |
| } |
| } |
| }, |
| { |
| "tc_id": "E023", |
| "phase": "E", |
| "category": "hashtag", |
| "input": "مشروع #بيان رائع جداً @mohamedatef", |
| "expected": "", |
| "actual_output": "مشروع # بيان رائع جدا @ mohamedatef", |
| "changed": true, |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "# بيان", |
| "end": 11, |
| "id": "44c7e04a-ca3c-4839-b09d-3d8068340769", |
| "locked": true, |
| "original": "#بيان", |
| "priority": 3, |
| "start": 6, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا @ mohamedatef", |
| "end": 34, |
| "id": "c2f9cfee-e757-41d7-97ab-5260ddc92ead", |
| "locked": true, |
| "original": "جداً @mohamedatef", |
| "priority": 3, |
| "start": 17, |
| "type": "grammar" |
| } |
| ], |
| "latency_ms": 9636, |
| "verdict": "FP", |
| "detail": "OVERCORRECTION: corrupted: ['#بيان', '@mohamedatef']", |
| "api_status": 200, |
| "raw_response": { |
| "corrected": "مشروع # بيان رائع جدا @ mohamedatef", |
| "original": "مشروع #بيان رائع جداً @mohamedatef", |
| "status": "success", |
| "suggestions": [ |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "# بيان", |
| "end": 11, |
| "id": "44c7e04a-ca3c-4839-b09d-3d8068340769", |
| "locked": true, |
| "original": "#بيان", |
| "priority": 3, |
| "start": 6, |
| "type": "grammar" |
| }, |
| { |
| "alternatives": [], |
| "confidence": 1.0, |
| "correction": "جدا @ mohamedatef", |
| "end": 34, |
| "id": "c2f9cfee-e757-41d7-97ab-5260ddc92ead", |
| "locked": true, |
| "original": "جداً @mohamedatef", |
| "priority": 3, |
| "start": 17, |
| "type": "grammar" |
| } |
| ], |
| "timing_ms": { |
| "grammar_ms": 1136, |
| "punctuation_ms": 707, |
| "spelling_ms": 7566, |
| "total_ms": 9411 |
| } |
| } |
| } |
| ] |
| } |