{% extends "base.html" %}
{% block title %}{{ tr('پیشرفت من') }} - OSAFIS PromptLab - Prompt Injection Lab{% endblock %}
{% block body %}
{{ tr('خلاصهٔ محلی از پوشش سناریوها، سطحهای دفاع و امتیاز کسبشده. هیچ دادهای از دستگاه خارج نمیشود.') }}{{ tr('پیشرفت من') }}
{{ tr('پوشش سناریوها مستقل از درجه سختی است؛ جزئیات هر تلاش در جدول ثبت میشود') }}
| {{ tr('سناریو') }} | {{ tr('استاندارد') }} | {% for l in LEVELS %}{{ LEVEL_FA[l] }} | {% endfor %}{{ tr('امتیاز هر سطح') }} |
|---|---|---|---|
| {{ x.title }} | {{ x.curriculum.standards[0] }} | {% for l in LEVELS %}{{ '✓' if (x.id ~ ':' ~ l) in completed else '-' }} | {% endfor %}{{ x.curriculum.points }} |
| {{ tr('تاریخ') }} | {{ tr('سناریو') }} | {{ tr('سطح') }} | {{ tr('درجه سختی') }} | {{ tr('نتیجه') }} | {{ tr('زمان') }} | {{ tr('موتور') }} |
|---|---|---|---|---|---|---|
| {{ target.title if target else attempt.target }} | {{ attempt.level | upper }} | {{ DIFFICULTY_LABELS.get((attempt.telemetry or {}).get('difficulty'), '-') }} | {% if attempt.state == 'owned' %}{{ tr('سامانه تسخیر شد') }}{% elif attempt.state == 'blocked' %}{{ tr('اثر مهار شد') }}{% elif attempt.state == 'error' %}{{ tr('خطای موتور') }}{% else %}{{ tr('حمله ناموفق بود') }}{% endif %} | {{ attempt.elapsed_ms }} ms | {{ attempt.engine }}{% if attempt.telemetry and attempt.telemetry.subsystem %}{{ attempt.telemetry.subsystem.kind }} · {{ attempt.telemetry.subsystem.trace_id }}{% endif %} |
{{ tr('هنوز تلاشی ثبت نشده است.') }}
{% endif %}