@dzhechkov/skills-academic 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: "answer-assessor"
3
+ description: "Assesses quality of student's answers to committee questions from live transcript — completeness, depth, and alignment with reviewer remarks."
4
+ trust_tier: 2
5
+ trust_tier_label: "Validated"
6
+ validation:
7
+ schema_path: schemas/output.json
8
+ validator_path: scripts/validate-config.json
9
+ ---
10
+
11
+ # Оценка ответов студента на вопросы (по транскрипту)
12
+
13
+ Skill для оценки ответов студента на вопросы членов ГЭК на основе транскрипта. Содержит только критерии оценки ответов. Персональные данные обрабатываются только в runtime.
14
+
15
+ ## Когда использовать
16
+ - Анализ качества ответов на вопросы комиссии
17
+ - Оценка ответов на замечания руководителя и рецензента (заключительное слово)
18
+ - Формирование итоговой оценки по третьей составляющей (ответы)
19
+
20
+ ## Когда НЕ использовать
21
+ - Для генерации вопросов — используйте question-generator
22
+ - Для оценки доклада — используйте defense-evaluator
23
+
24
+ ## Протокол
25
+
26
+ ### Шаг 1: Идентифицировать вопросы и ответы
27
+ Из транскрипта выделить:
28
+ - Кто задал вопрос (если указано)
29
+ - Формулировку вопроса
30
+ - Ответ студента
31
+ - Было ли заключительное слово
32
+
33
+ ### Шаг 2: Оценить каждый ответ
34
+
35
+ | Критерий | Полный ответ (3) | Частичный (2) | Нет ответа (1) |
36
+ |----------|:---:|:---:|:---:|
37
+ | Понимание вопроса | Отвечает точно по сути | Отвечает вокруг, но не в точку | Не понял вопрос |
38
+ | Глубина | Аргументы, примеры, данные | Общие фразы | "Не рассматривал" |
39
+ | Связь с ВКР | Ссылается на конкретные разделы | Говорит в общем | Никак не связывает |
40
+ | Уверенность | Отвечает без пауз, развёрнуто | Колеблется, переспрашивает | Теряется, молчит |
41
+ | Самокритичность | Признаёт ограничения честно | Отмахивается | Отрицает очевидное |
42
+
43
+ ### Шаг 3: Оценить заключительное слово
44
+ По регламенту ГЭК, в заключительном слове студент ДОЛЖЕН ответить на замечания руководителя и рецензента.
45
+
46
+ | Элемент | Что проверить |
47
+ |---------|---------------|
48
+ | Ответ на замечания руководителя | Прокомментировал ли каждое замечание? |
49
+ | Ответ на замечания рецензента | Прокомментировал ли каждое замечание? |
50
+ | Конструктивность | Принял замечания или спорит без аргументов? |
51
+ | Перспективы | Упомянул ли планы по развитию работы? |
52
+
53
+ ### Шаг 3.5: Сопоставить с подготовленными вопросами
54
+
55
+ Если до защиты были подготовлены вопросы (question-generator):
56
+ - Какие из подготовленных вопросов были заданы?
57
+ - Совпали ли ответы с ожидаемыми ключевыми словами?
58
+ - Какие вопросы не были заданы? (записать для протокола)
59
+
60
+ ### Шаг 4: Сформировать справку по ответам
61
+
62
+ Шаблон:
63
+ ```
64
+ ОЦЕНКА ОТВЕТОВ НА ВОПРОСЫ
65
+ ═══════════════════════════════
66
+ Количество вопросов: [N]
67
+ Длительность Q&A: [мин] из 10-15
68
+
69
+ ОТВЕТЫ:
70
+ № | Вопрос (кратко) | Полнота | Глубина | Связь с ВКР
71
+ 1 | ________________________ | ⬜3 ⬜2 ⬜1 | ⬜3 ⬜2 ⬜1 | ⬜3 ⬜2 ⬜1
72
+ 2 | ________________________ | ⬜3 ⬜2 ⬜1 | ⬜3 ⬜2 ⬜1 | ⬜3 ⬜2 ⬜1
73
+ ...
74
+
75
+ ЗАКЛЮЧИТЕЛЬНОЕ СЛОВО:
76
+ [✅/❌] Ответ на замечания руководителя
77
+ [✅/❌] Ответ на замечания рецензента
78
+ [✅/❌] Конструктивный подход
79
+ [✅/❌] Упомянуты перспективы
80
+
81
+ СРЕДНИЙ БАЛЛ ОТВЕТОВ: [X.X / 3.0]
82
+ ОБЩЕЕ ВПЕЧАТЛЕНИЕ: [уверенно / неуверенно / не владеет]
83
+
84
+ ВЛИЯНИЕ НА ИТОГОВУЮ ОЦЕНКУ:
85
+ [повышает / не влияет / понижает]
86
+ ═══════════════════════════════
87
+ ```
88
+
89
+ ## Рекомендуемый workflow
90
+ ```
91
+ 1-3. Подготовка (document-checker → dissertation-review → question-generator)
92
+ 4. defense-evaluator → оценка доклада
93
+ 5. answer-assessor → оценка ответов (ЭТОТ SKILL)
94
+ 6. Итоговая оценка = текст ВКР + доклад + ответы (все три равноценны)
95
+ ```
96
+
97
+ ## Антипаттерны
98
+ | Антипаттерн | Правильный подход |
99
+ |-------------|-------------------|
100
+ | Оценивать ответы отдельно от контекста ВКР | Учитывать, что есть в работе |
101
+ | Снижать за неуверенный тон | Оценивать содержание, не форму |
102
+ | Игнорировать заключительное слово | Это обязательный элемент по регламенту |
103
+ | Не сопоставлять ответы с подготовленными вопросами | Проверить, совпали ли ожидания |
104
+
105
+ ## Самопроверка
106
+ - [ ] Все вопросы и ответы идентифицированы в транскрипте?
107
+ - [ ] Каждый ответ оценён по 3 критериям?
108
+ - [ ] Заключительное слово оценено отдельно?
109
+ - [ ] Ответы на замечания руководителя проверены?
110
+ - [ ] Ответы на замечания рецензента проверены?
111
+ - [ ] Общее влияние на оценку определено?
112
+
113
+ ## Примеры
114
+ **В рамках задачи:**
115
+ - "Оцени ответы студента из транскрипта Q&A"
116
+ - "Прокомментировал ли студент замечания рецензента?"
117
+ - "Как ответы повлияли на общее впечатление?"
118
+
119
+ **Вне задачи:**
120
+ - "Подготовь вопросы" — question-generator
121
+ - "Оцени доклад" — defense-evaluator
@@ -0,0 +1,75 @@
1
+ # answer-assessor evaluation
2
+ # Run: aqe eval answer-assessor
3
+
4
+ test_cases:
5
+ - name: "basic invocation"
6
+ input: "Оцени ответы студента на вопросы комиссии"
7
+ expected:
8
+ status: success
9
+ summary_contains: "answer-assessor"
10
+
11
+ - name: "confident answers - full scores"
12
+ input: "Транскрипт Q&A: Вопрос 1 (председатель): Почему выбрана именно эта архитектура? Ответ: Мы сравнили три подхода — микросервисы, монолит и serverless. В главе 3 представлены результаты бенчмарков, микросервисы показали на 40% лучшую масштабируемость. Вопрос 2: Как валидировали модель? Ответ: Использовали кросс-валидацию на 5 фолдах, F1-мера составила 0.87, что описано в разделе 4.2."
13
+ expected:
14
+ status: success
15
+ question_count: 2
16
+ answers:
17
+ - completeness: 3
18
+ depth: 3
19
+ thesis_link: 3
20
+ overall_impression: confident
21
+ grade_impact: raises
22
+
23
+ - name: "weak answers - no substance"
24
+ input: "Транскрипт Q&A: Вопрос: Какие ограничения у вашего подхода? Ответ: Ну... я это не рассматривал в работе. Вопрос: Как соотносятся ваши результаты с аналогами? Ответ: В целом, наши результаты лучше. Вопрос: Можете конкретизировать? Ответ: [пауза] Точные цифры не помню."
25
+ expected:
26
+ status: success
27
+ question_count: 3
28
+ overall_impression: does_not_command
29
+ grade_impact: lowers
30
+
31
+ - name: "closing remarks - all addressed"
32
+ input: "Заключительное слово: Хочу прокомментировать замечания. Руководитель отметил недостаточный объём эксперимента — согласен, в будущем планирую расширить выборку до 1000 респондентов. Рецензент указал на отсутствие сравнения с методом X — это справедливо, я изучил метод X после завершения работы и вижу перспективы интеграции. Планирую продолжить исследование в аспирантуре."
33
+ expected:
34
+ status: success
35
+ closing_remarks:
36
+ present: true
37
+ supervisor_remarks_addressed: true
38
+ reviewer_remarks_addressed: true
39
+ constructive_approach: true
40
+ future_plans_mentioned: true
41
+
42
+ - name: "closing remarks - missing reviewer response"
43
+ input: "Заключительное слово студента: Спасибо за вопросы. По замечанию руководителя о формулировках — я их исправил в финальной версии. На этом всё."
44
+ expected:
45
+ status: success
46
+ closing_remarks:
47
+ present: true
48
+ supervisor_remarks_addressed: true
49
+ reviewer_remarks_addressed: false
50
+ future_plans_mentioned: false
51
+
52
+ - name: "mixed quality answers"
53
+ input: "Транскрипт: Вопрос 1: Обоснуйте выбор метрики. Ответ: Мы выбрали RMSE, потому что в разделе 2.3 показано, что для задач регрессии это стандартная метрика, значение составило 0.12. Вопрос 2: Почему не использовали deep learning? Ответ: Ну, в общем, данных было мало... наверное можно было попробовать. Вопрос 3: Какова практическая применимость? Ответ: Система уже внедрена в компании X, об этом есть акт внедрения в приложении Б."
54
+ expected:
55
+ status: success
56
+ question_count: 3
57
+ has_fields:
58
+ - answers
59
+ - average_score
60
+ - overall_impression
61
+ overall_impression: uncertain
62
+ grade_impact: neutral
63
+
64
+ - name: "full report generation"
65
+ input: "Сформируй полную справку по ответам студента на вопросы комиссии и заключительному слову из транскрипта"
66
+ expected:
67
+ status: success
68
+ has_fields:
69
+ - question_count
70
+ - answers
71
+ - closing_remarks
72
+ - average_score
73
+ - overall_impression
74
+ - grade_impact
75
+ - summary
@@ -0,0 +1,111 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "answer-assessor output",
4
+ "description": "Structured output from the answer-assessor skill",
5
+ "type": "object",
6
+ "required": ["status", "question_count", "answers", "overall_impression", "grade_impact"],
7
+ "properties": {
8
+ "status": {
9
+ "type": "string",
10
+ "enum": ["success", "error", "skipped"]
11
+ },
12
+ "question_count": {
13
+ "type": "integer",
14
+ "description": "Total number of questions asked by the committee"
15
+ },
16
+ "qa_duration_minutes": {
17
+ "type": "number",
18
+ "description": "Estimated duration of the Q&A session in minutes"
19
+ },
20
+ "answers": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "required": ["question_summary", "completeness", "depth", "thesis_link"],
25
+ "properties": {
26
+ "question_summary": {
27
+ "type": "string",
28
+ "description": "Brief summary of the question"
29
+ },
30
+ "asked_by": {
31
+ "type": "string",
32
+ "description": "Who asked the question (if identifiable from transcript)"
33
+ },
34
+ "completeness": {
35
+ "type": "integer",
36
+ "minimum": 1,
37
+ "maximum": 3,
38
+ "description": "Completeness score: 3=full, 2=partial, 1=no answer"
39
+ },
40
+ "depth": {
41
+ "type": "integer",
42
+ "minimum": 1,
43
+ "maximum": 3,
44
+ "description": "Depth score: 3=arguments+data, 2=general, 1=not considered"
45
+ },
46
+ "thesis_link": {
47
+ "type": "integer",
48
+ "minimum": 1,
49
+ "maximum": 3,
50
+ "description": "Link to thesis: 3=specific references, 2=general, 1=none"
51
+ },
52
+ "confidence": {
53
+ "type": "string",
54
+ "enum": ["confident", "hesitant", "lost"],
55
+ "description": "Student's confidence level in the answer"
56
+ },
57
+ "remarks": {
58
+ "type": "string",
59
+ "description": "Additional observations about this answer"
60
+ }
61
+ }
62
+ }
63
+ },
64
+ "closing_remarks": {
65
+ "type": "object",
66
+ "properties": {
67
+ "present": {
68
+ "type": "boolean",
69
+ "description": "Whether the student gave a closing statement"
70
+ },
71
+ "supervisor_remarks_addressed": {
72
+ "type": "boolean",
73
+ "description": "Whether supervisor's remarks were addressed"
74
+ },
75
+ "reviewer_remarks_addressed": {
76
+ "type": "boolean",
77
+ "description": "Whether external reviewer's remarks were addressed"
78
+ },
79
+ "constructive_approach": {
80
+ "type": "boolean",
81
+ "description": "Whether the student was constructive about remarks"
82
+ },
83
+ "future_plans_mentioned": {
84
+ "type": "boolean",
85
+ "description": "Whether the student mentioned future development plans"
86
+ }
87
+ },
88
+ "description": "Assessment of the student's closing remarks / final word"
89
+ },
90
+ "average_score": {
91
+ "type": "number",
92
+ "minimum": 1.0,
93
+ "maximum": 3.0,
94
+ "description": "Average score across all answers (scale 1-3)"
95
+ },
96
+ "overall_impression": {
97
+ "type": "string",
98
+ "enum": ["confident", "uncertain", "does_not_command"],
99
+ "description": "Overall impression of the student's answers"
100
+ },
101
+ "grade_impact": {
102
+ "type": "string",
103
+ "enum": ["raises", "neutral", "lowers"],
104
+ "description": "Impact of Q&A performance on the final grade"
105
+ },
106
+ "summary": {
107
+ "type": "string",
108
+ "description": "Free-text summary of the Q&A assessment"
109
+ }
110
+ }
111
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "answer-assessor config validator",
4
+ "description": "Validates configuration inputs for the answer-assessor skill",
5
+ "type": "object",
6
+ "properties": {
7
+ "transcript_path": {
8
+ "type": "string",
9
+ "description": "Path to the Q&A transcript file"
10
+ },
11
+ "thesis_path": {
12
+ "type": "string",
13
+ "description": "Path to the thesis document for cross-referencing answers"
14
+ },
15
+ "supervisor_review_path": {
16
+ "type": "string",
17
+ "description": "Path to the supervisor review (to check if remarks were addressed)"
18
+ },
19
+ "external_review_path": {
20
+ "type": "string",
21
+ "description": "Path to the external reviewer report (to check if remarks were addressed)"
22
+ },
23
+ "prepared_questions_path": {
24
+ "type": "string",
25
+ "description": "Path to previously generated questions (from question-generator) for comparison"
26
+ },
27
+ "realtime": {
28
+ "type": "boolean",
29
+ "default": false,
30
+ "description": "Whether the transcript is being updated in real-time"
31
+ }
32
+ },
33
+ "required": ["transcript_path"]
34
+ }
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: "defense-evaluator"
3
+ description: "Evaluates thesis defense presentation from live transcript — structure, topic coverage, confidence, alignment with thesis."
4
+ trust_tier: 2
5
+ trust_tier_label: "Validated"
6
+ validation:
7
+ schema_path: schemas/output.json
8
+ validator_path: scripts/validate-config.json
9
+ ---
10
+
11
+ # Оценка доклада студента (по транскрипту)
12
+
13
+ Skill для оценки устного доклада студента на защите ВКР на основе транскрипта речи. Анализирует транскрипт в реальном времени или после завершения доклада. Содержит только критерии оценки доклада. Персональные данные обрабатываются только в runtime.
14
+
15
+ ## Когда использовать
16
+ - Анализ транскрипта доклада студента (файл transcript.txt)
17
+ - Оценка качества устной презентации по критериям ГЭК
18
+ - Сопоставление содержания доклада с текстом ВКР
19
+ - Формирование дополнительных вопросов на основе доклада
20
+
21
+ ## Когда НЕ использовать
22
+ - Для анализа текста ВКР — используйте dissertation-review
23
+ - Для генерации вопросов до защиты — используйте question-generator
24
+
25
+ ## Протокол
26
+
27
+ ### Шаг 1: Получить транскрипт
28
+ Прочитать файл транскрипта (transcript.txt или указанный файл). Транскрипт может обновляться в реальном времени.
29
+
30
+ ### Шаг 2: Оценить структуру доклада
31
+ Проверить наличие обязательных элементов:
32
+
33
+ | Элемент | Что искать в транскрипте | Сигналы проблем |
34
+ |---------|------------------------|-----------------|
35
+ | Представление | ФИО, тема работы | Не назвал тему или назвал неточно |
36
+ | Актуальность | Почему тема важна, контекст | Перескочил сразу к результатам |
37
+ | Цель и задачи | Чётко сформулированы | Размытые формулировки |
38
+ | Методология | Какие методы использовались | Не упомянул методы вообще |
39
+ | Результаты | Конкретные выводы, цифры, графики | Общие фразы без конкретики |
40
+ | Заключение | Итоги, практическая значимость | Оборвал доклад без выводов |
41
+
42
+ ### Шаг 3: Оценить раскрытие темы
43
+ - Соответствует ли содержание доклада заявленной теме?
44
+ - Все ли ключевые результаты ВКР озвучены?
45
+ - Нет ли существенных пропусков?
46
+ - Добавлены ли результаты, которых нет в ВКР? (это и плюс, и минус)
47
+
48
+ ### Шаг 4: Оценить качество подачи (по транскрипту)
49
+
50
+ | Критерий | Хорошо | Плохо |
51
+ |----------|--------|-------|
52
+ | Логика изложения | Последовательный рассказ, связки между разделами | Перескакивание, повторы |
53
+ | Владение материалом | Свободная речь, развёрнутые объяснения | Чтение текста, заученные фразы |
54
+ | Терминология | Корректное использование терминов | Путает или избегает терминов |
55
+ | Конкретика | Цифры, факты, примеры | "В целом", "примерно", "около" |
56
+ | Тайминг | Уложился в 20 минут | Значительно меньше или больше |
57
+
58
+ ### Шаг 5: Сопоставить с материалами ВКР
59
+ - Есть ли противоречия между докладом и текстом ВКР?
60
+ - Упомянуты ли замечания руководителя/рецензента в докладе?
61
+ - Соответствуют ли озвученные цифры данным в работе?
62
+
63
+ ### Шаг 5.5: Для командных проектов
64
+
65
+ Если ВКР выполнена в команде, в докладе обратить внимание:
66
+ - Разделяет ли студент "мы сделали" и "я сделал"?
67
+ - Упоминает ли свой личный вклад отдельно?
68
+ - Корректно ли ссылается на работы коллег?
69
+
70
+ ### Шаг 6: Сформировать справку по докладу
71
+
72
+ Шаблон:
73
+ ```
74
+ ОЦЕНКА ДОКЛАДА
75
+ ═══════════════════════════════
76
+ Длительность: [мин] из 20
77
+
78
+ СТРУКТУРА ДОКЛАДА:
79
+ [✅/❌] Представление (ФИО, тема)
80
+ [✅/❌] Актуальность
81
+ [✅/❌] Цель и задачи
82
+ [✅/❌] Методология
83
+ [✅/❌] Результаты
84
+ [✅/❌] Заключение
85
+
86
+ КАЧЕСТВО ПОДАЧИ:
87
+ Логика: [высокая / средняя / низкая]
88
+ Владение материалом: [свободное / частичное / чтение]
89
+ Конкретика: [цифры и факты / общие фразы]
90
+
91
+ СОПОСТАВЛЕНИЕ С ВКР:
92
+ Противоречия: [есть / нет]
93
+ Пропущенные результаты: [список]
94
+
95
+ ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ (из доклада):
96
+ 1. [...]
97
+ 2. [...]
98
+
99
+ ОБЩЕЕ ВПЕЧАТЛЕНИЕ: [сильный / средний / слабый]
100
+ ═══════════════════════════════
101
+ ```
102
+
103
+ ## Рекомендуемый workflow
104
+ ```
105
+ 1. document-checker → комплектность
106
+ 2. dissertation-review → анализ ВКР
107
+ 3. question-generator → вопросы до защиты
108
+ 4. defense-evaluator → оценка доклада (ЭТОТ SKILL)
109
+ 5. answer-assessor → оценка ответов
110
+ ```
111
+
112
+ ## Антипаттерны
113
+ | Антипаттерн | Правильный подход |
114
+ |-------------|-------------------|
115
+ | Оценивать только по транскрипту, игнорируя ВКР | Сопоставлять доклад с текстом работы |
116
+ | Придираться к оговоркам в речи | Транскрипт не передаёт интонацию, оценивать содержание |
117
+ | Не учитывать тайминг | Очень короткий доклад (<10 мин) — сигнал поверхностности |
118
+ | Формировать оценку до завершения доклада | Дождаться полного транскрипта |
119
+
120
+ ## Самопроверка
121
+ - [ ] Транскрипт прочитан полностью?
122
+ - [ ] Все 6 элементов структуры проверены?
123
+ - [ ] Доклад сопоставлен с текстом ВКР?
124
+ - [ ] Выявлены ли противоречия?
125
+ - [ ] Сформулированы ли дополнительные вопросы из доклада?
126
+ - [ ] Общее впечатление обосновано?
127
+
128
+ ## Примеры
129
+ **В рамках задачи:**
130
+ - "Проанализируй транскрипт доклада из файла transcript.txt"
131
+ - "Сопоставь доклад с ВКР — есть ли противоречия?"
132
+ - "Какие дополнительные вопросы возникли из доклада?"
133
+
134
+ **Вне задачи:**
135
+ - "Оцени текст ВКР" — используй dissertation-review
136
+ - "Подготовь вопросы заранее" — используй question-generator
@@ -0,0 +1,77 @@
1
+ # defense-evaluator evaluation
2
+ # Run: aqe eval defense-evaluator
3
+
4
+ test_cases:
5
+ - name: "basic invocation"
6
+ input: "Оцени доклад студента из транскрипта"
7
+ expected:
8
+ status: success
9
+ summary_contains: "defense-evaluator"
10
+
11
+ - name: "strong presentation - all elements present"
12
+ input: "Транскрипт: студент представился, назвал тему, обосновал актуальность, чётко сформулировал цель и 4 задачи, описал методологию (анализ, эксперимент, моделирование), представил конкретные результаты с цифрами и графиками, подвёл итоги и указал практическую значимость. Длительность 18 минут."
13
+ expected:
14
+ status: success
15
+ structure:
16
+ introduction: true
17
+ relevance: true
18
+ goals_and_tasks: true
19
+ methodology: true
20
+ results: true
21
+ conclusion: true
22
+ delivery_quality:
23
+ logic: high
24
+ specificity: data_and_facts
25
+ overall_impression: strong
26
+
27
+ - name: "weak presentation - missing structure elements"
28
+ input: "Транскрипт: студент сразу перешёл к результатам, не назвал тему, не объяснил актуальность, не упомянул методологию. Говорил общими фразами без цифр. Доклад занял 8 минут."
29
+ expected:
30
+ status: success
31
+ structure:
32
+ introduction: false
33
+ relevance: false
34
+ methodology: false
35
+ delivery_quality:
36
+ specificity: general_phrases
37
+ overall_impression: weak
38
+
39
+ - name: "thesis alignment - contradictions detected"
40
+ input: "Сопоставь доклад с ВКР. В докладе студент заявил рост показателя на 45%, а в ВКР указано 23%. Также в работе 5 задач, а в докладе упомянуты только 3."
41
+ expected:
42
+ status: success
43
+ thesis_alignment:
44
+ contradictions_found: true
45
+ has_fields:
46
+ - thesis_alignment
47
+ - additional_questions
48
+
49
+ - name: "question generation from presentation"
50
+ input: "Проанализируй транскрипт доклада и сформулируй дополнительные вопросы. Студент упомянул нейросетевую модель, но не назвал архитектуру и не привёл метрики качества."
51
+ expected:
52
+ status: success
53
+ has_fields:
54
+ - additional_questions
55
+ min_additional_questions: 1
56
+
57
+ - name: "partial delivery quality"
58
+ input: "Транскрипт: студент представил все разделы, но часто переспрашивал, путал термины, несколько раз повторялся. Перескакивал между введением и результатами. Уложился в 20 минут."
59
+ expected:
60
+ status: success
61
+ delivery_quality:
62
+ logic: low
63
+ terminology: inconsistent
64
+ material_command: partial
65
+ overall_impression: average
66
+
67
+ - name: "full report generation"
68
+ input: "Сформируй полную справку по докладу студента из файла transcript.txt с сопоставлением с ВКР"
69
+ expected:
70
+ status: success
71
+ has_fields:
72
+ - structure
73
+ - delivery_quality
74
+ - thesis_alignment
75
+ - additional_questions
76
+ - overall_impression
77
+ - summary