{% extends "base.html" %} {% block title %}Pseudo {{ p.participant_id }}{% endblock %} {% block content %}
← Back

Pseudo: {{ p.participant_id }}

Group {{ p.study_group }}
Session started: {{ p.created_at[:16] | replace('T',' ') }} UTC
{% for task_id in task_order %} {% set task_events = events | selectattr('task_id', 'equalto', task_id) | list %} {% set copies = task_events | selectattr('event_type','equalto','copy') | list | length %} {% set pastes = task_events | selectattr('event_type','equalto','paste') | list | length %}
{{ copies }} / {{ pastes }} {{ tasks[task_id].name }}
copy / paste
{% endfor %}
{% for task_id in task_order %} {% set task = tasks[task_id] %}

{{ task.name }}

{% if chat_by_task[task_id] %}
{% for msg in chat_by_task[task_id] %}
{{ msg.role }}
{{ msg.content }}
{{ msg.timestamp[:19] | replace('T',' ') }}
{% endfor %}
{% else %}

No messages recorded.

{% endif %} {% if submissions.get(task_id) %}
{{ submissions[task_id].submitted_code }}

Submitted at {{ submissions[task_id].submitted_at[:19] | replace('T',' ') }} UTC

{% else %}

Not submitted.

{% endif %} {% if task.has_survey and surveys.get(task_id) %} {% set sv = surveys[task_id] %}

Comprehension

{% for q in task.comprehension %}

{{ q }}

{{ sv.get('comprehension_' ~ loop.index0, '—') or '—' }}

{% endfor %}

Likert responses

{% for key, label in likert_items %}
{{ label }} {{ sv.get(key, '—') }}
{% endfor %}

AI usage description

{{ sv.get('ai_description', '—') or '—' }}

{% endif %}
{% endfor %} {% if final %}

Final Questionnaire

{% for key, label in final_likert %}
{{ label }} {{ final.get(key, '—') }}
{% endfor %}
{% for key, question in final_open %}

{{ question }}

{{ final.get(key, '—') or '—' }}

{% endfor %}
{% else %}

Final survey not yet submitted.

{% endif %}
{% endblock %}