From f881d4d99b8e39db2ddffcce079415e62fb404af Mon Sep 17 00:00:00 2001
From: Twirre Meulenbelt <43213592+TwirreM@users.noreply.github.com>
Date: Wed, 3 Dec 2025 16:01:52 +0100
Subject: [PATCH 1/3] chore: add default merge request template
---
.gitlab/merge_request_templates/default.md | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 .gitlab/merge_request_templates/default.md
diff --git a/.gitlab/merge_request_templates/default.md b/.gitlab/merge_request_templates/default.md
new file mode 100644
index 0000000..7a76ac5
--- /dev/null
+++ b/.gitlab/merge_request_templates/default.md
@@ -0,0 +1,9 @@
+%{first_multiline_commit_description}
+
+To verify:
+
+- [ ] Style checks pass
+- [ ] Pipeline (tests) pass
+- [ ] Documentation is up to date
+- [ ] Tests are up to date (new code is covered)
+- [ ] ...
From 35d99e539a5c3ce78f4f989cd8526107a8b8ee6c Mon Sep 17 00:00:00 2001
From: Pim Hutting
Date: Thu, 29 Jan 2026 15:36:28 +0100
Subject: [PATCH 2/3] chore: add copyright to all source file
---
src/control_backend/__init__.py | 5 +++++
src/control_backend/agents/__init__.py | 4 ++++
src/control_backend/agents/actuation/__init__.py | 4 ++++
.../agents/actuation/robot_gesture_agent.py | 6 ++++++
.../agents/actuation/robot_speech_agent.py | 6 ++++++
src/control_backend/agents/base.py | 6 ++++++
src/control_backend/agents/bdi/__init__.py | 4 ++++
src/control_backend/agents/bdi/agentspeak_ast.py | 6 ++++++
src/control_backend/agents/bdi/agentspeak_generator.py | 6 ++++++
src/control_backend/agents/bdi/bdi_core_agent.py | 6 ++++++
src/control_backend/agents/bdi/bdi_program_manager.py | 6 ++++++
src/control_backend/agents/bdi/default_behavior.asl | 4 ++++
.../agents/bdi/text_belief_extractor_agent.py | 6 ++++++
src/control_backend/agents/communication/__init__.py | 4 ++++
.../agents/communication/ri_communication_agent.py | 6 ++++++
src/control_backend/agents/llm/__init__.py | 4 ++++
src/control_backend/agents/llm/llm_agent.py | 6 ++++++
src/control_backend/agents/llm/llm_instructions.py | 7 +++++++
src/control_backend/agents/perception/__init__.py | 4 ++++
.../perception/transcription_agent/speech_recognizer.py | 6 ++++++
.../perception/transcription_agent/transcription_agent.py | 6 ++++++
src/control_backend/agents/perception/vad_agent.py | 6 ++++++
src/control_backend/agents/user_interrupt/__init__.py | 5 +++++
.../agents/user_interrupt/user_interrupt_agent.py | 6 ++++++
src/control_backend/api/__init__.py | 5 +++++
src/control_backend/api/v1/__init__.py | 5 +++++
src/control_backend/api/v1/endpoints/__init__.py | 5 +++++
src/control_backend/api/v1/endpoints/logs.py | 6 ++++++
src/control_backend/api/v1/endpoints/message.py | 6 ++++++
src/control_backend/api/v1/endpoints/program.py | 6 ++++++
src/control_backend/api/v1/endpoints/robot.py | 6 ++++++
src/control_backend/api/v1/endpoints/user_interact.py | 6 ++++++
src/control_backend/api/v1/router.py | 6 ++++++
src/control_backend/core/__init__.py | 5 +++++
src/control_backend/core/agent_system.py | 6 ++++++
src/control_backend/core/config.py | 4 ++++
src/control_backend/logging/__init__.py | 6 ++++++
src/control_backend/logging/dated_file_handler.py | 6 ++++++
src/control_backend/logging/optional_field_formatter.py | 6 ++++++
src/control_backend/logging/partial_filter.py | 6 ++++++
src/control_backend/logging/setup_logging.py | 6 ++++++
src/control_backend/main.py | 4 ++++
src/control_backend/schemas/__init__.py | 5 +++++
src/control_backend/schemas/belief_list.py | 6 ++++++
src/control_backend/schemas/belief_message.py | 6 ++++++
src/control_backend/schemas/chat_history.py | 6 ++++++
src/control_backend/schemas/events.py | 6 ++++++
src/control_backend/schemas/internal_message.py | 6 ++++++
src/control_backend/schemas/llm_prompt_message.py | 6 ++++++
src/control_backend/schemas/message.py | 6 ++++++
src/control_backend/schemas/program.py | 6 ++++++
src/control_backend/schemas/program_status.py | 6 ++++++
src/control_backend/schemas/ri_message.py | 6 ++++++
.../agents/perception/vad_agent/test_vad_agent.py | 6 ++++++
.../agents/perception/vad_agent/test_vad_with_audio.py | 6 ++++++
test/unit/agents/actuation/test_robot_gesture_agent.py | 6 ++++++
test/unit/agents/actuation/test_robot_speech_agent.py | 6 ++++++
test/unit/agents/bdi/test_agentspeak_ast.py | 6 ++++++
test/unit/agents/bdi/test_agentspeak_generator.py | 6 ++++++
test/unit/agents/bdi/test_bdi_core_agent.py | 6 ++++++
test/unit/agents/bdi/test_bdi_program_manager.py | 6 ++++++
test/unit/agents/bdi/test_text_belief_extractor.py | 6 ++++++
.../agents/communication/test_ri_communication_agent.py | 6 ++++++
test/unit/agents/llm/test_llm_agent.py | 8 +++++++-
.../transcription_agent/test_speech_recognizer.py | 6 ++++++
.../transcription_agent/test_transcription_agent.py | 6 ++++++
.../agents/perception/vad_agent/test_vad_agent_unit.py | 6 ++++++
.../agents/perception/vad_agent/test_vad_socket_poller.py | 6 ++++++
.../agents/perception/vad_agent/test_vad_streaming.py | 6 ++++++
test/unit/agents/test_base.py | 6 ++++++
test/unit/agents/user_interrupt/test_user_interrupt.py | 6 ++++++
test/unit/api/v1/endpoints/test_logs_endpoint.py | 6 ++++++
test/unit/api/v1/endpoints/test_message_endpoint.py | 6 ++++++
test/unit/api/v1/endpoints/test_program_endpoint.py | 6 ++++++
test/unit/api/v1/endpoints/test_robot_endpoint.py | 6 ++++++
test/unit/api/v1/endpoints/test_router.py | 6 ++++++
test/unit/api/v1/endpoints/test_user_interact.py | 6 ++++++
test/unit/conftest.py | 6 ++++++
test/unit/core/test_agent_system.py | 8 +++++++-
test/unit/core/test_config.py | 8 +++++++-
test/unit/core/test_logging.py | 6 ++++++
test/unit/logging/test_dated_file_handler.py | 6 ++++++
test/unit/logging/test_optional_field_formatter.py | 6 ++++++
test/unit/logging/test_partial_filter.py | 6 ++++++
test/unit/schemas/test_message.py | 6 ++++++
test/unit/schemas/test_ri_message.py | 6 ++++++
test/unit/schemas/test_ui_program_message.py | 6 ++++++
test/unit/test_main.py | 6 ++++++
test/unit/test_main_sockets.py | 6 ++++++
89 files changed, 513 insertions(+), 3 deletions(-)
diff --git a/src/control_backend/__init__.py b/src/control_backend/__init__.py
index e69de29..0422df7 100644
--- a/src/control_backend/__init__.py
+++ b/src/control_backend/__init__.py
@@ -0,0 +1,5 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
diff --git a/src/control_backend/agents/__init__.py b/src/control_backend/agents/__init__.py
index 85f4aad..e527666 100644
--- a/src/control_backend/agents/__init__.py
+++ b/src/control_backend/agents/__init__.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+-------------------------------------------------------------------------------
This package contains all agent implementations for the PepperPlus Control Backend.
"""
diff --git a/src/control_backend/agents/actuation/__init__.py b/src/control_backend/agents/actuation/__init__.py
index 9a8d81b..e8d567a 100644
--- a/src/control_backend/agents/actuation/__init__.py
+++ b/src/control_backend/agents/actuation/__init__.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
Agents responsible for controlling the robot's physical actions, such as speech and gestures.
"""
diff --git a/src/control_backend/agents/actuation/robot_gesture_agent.py b/src/control_backend/agents/actuation/robot_gesture_agent.py
index 9567940..da83602 100644
--- a/src/control_backend/agents/actuation/robot_gesture_agent.py
+++ b/src/control_backend/agents/actuation/robot_gesture_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
import logging
diff --git a/src/control_backend/agents/actuation/robot_speech_agent.py b/src/control_backend/agents/actuation/robot_speech_agent.py
index f8e3d4c..3d30a24 100644
--- a/src/control_backend/agents/actuation/robot_speech_agent.py
+++ b/src/control_backend/agents/actuation/robot_speech_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
import zmq
diff --git a/src/control_backend/agents/base.py b/src/control_backend/agents/base.py
index beccdaa..1f8921f 100644
--- a/src/control_backend/agents/base.py
+++ b/src/control_backend/agents/base.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
from abc import ABC
diff --git a/src/control_backend/agents/bdi/__init__.py b/src/control_backend/agents/bdi/__init__.py
index 2f7d976..beb5ad7 100644
--- a/src/control_backend/agents/bdi/__init__.py
+++ b/src/control_backend/agents/bdi/__init__.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
Agents and utilities for the BDI (Belief-Desire-Intention) reasoning system,
implementing AgentSpeak(L) logic.
"""
diff --git a/src/control_backend/agents/bdi/agentspeak_ast.py b/src/control_backend/agents/bdi/agentspeak_ast.py
index 12c7947..ef6011b 100644
--- a/src/control_backend/agents/bdi/agentspeak_ast.py
+++ b/src/control_backend/agents/bdi/agentspeak_ast.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from __future__ import annotations
from abc import ABC, abstractmethod
diff --git a/src/control_backend/agents/bdi/agentspeak_generator.py b/src/control_backend/agents/bdi/agentspeak_generator.py
index 7c9d8f0..042fad7 100644
--- a/src/control_backend/agents/bdi/agentspeak_generator.py
+++ b/src/control_backend/agents/bdi/agentspeak_generator.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from functools import singledispatchmethod
from slugify import slugify
diff --git a/src/control_backend/agents/bdi/bdi_core_agent.py b/src/control_backend/agents/bdi/bdi_core_agent.py
index 698bbc4..05b93b8 100644
--- a/src/control_backend/agents/bdi/bdi_core_agent.py
+++ b/src/control_backend/agents/bdi/bdi_core_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import copy
import json
diff --git a/src/control_backend/agents/bdi/bdi_program_manager.py b/src/control_backend/agents/bdi/bdi_program_manager.py
index 3ea6a62..7966336 100644
--- a/src/control_backend/agents/bdi/bdi_program_manager.py
+++ b/src/control_backend/agents/bdi/bdi_program_manager.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
import logging
diff --git a/src/control_backend/agents/bdi/default_behavior.asl b/src/control_backend/agents/bdi/default_behavior.asl
index b4d6682..18dcf8e 100644
--- a/src/control_backend/agents/bdi/default_behavior.asl
+++ b/src/control_backend/agents/bdi/default_behavior.asl
@@ -1,3 +1,7 @@
+//This program has been developed by students from the bachelor Computer Science at Utrecht
+//University within the Software Project course.
+//© Copyright Utrecht University (Department of Information and Computing Sciences)
+
phase("end").
keyword_said(Keyword) :- (user_said(Message) & .substring(Keyword, Message, Pos)) & (Pos >= 0).
diff --git a/src/control_backend/agents/bdi/text_belief_extractor_agent.py b/src/control_backend/agents/bdi/text_belief_extractor_agent.py
index 4aaaec8..f9c1883 100644
--- a/src/control_backend/agents/bdi/text_belief_extractor_agent.py
+++ b/src/control_backend/agents/bdi/text_belief_extractor_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
diff --git a/src/control_backend/agents/communication/__init__.py b/src/control_backend/agents/communication/__init__.py
index 3dde6cf..bbf8e48 100644
--- a/src/control_backend/agents/communication/__init__.py
+++ b/src/control_backend/agents/communication/__init__.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
Agents responsible for external communication and service discovery.
"""
diff --git a/src/control_backend/agents/communication/ri_communication_agent.py b/src/control_backend/agents/communication/ri_communication_agent.py
index 5df5a13..9460510 100644
--- a/src/control_backend/agents/communication/ri_communication_agent.py
+++ b/src/control_backend/agents/communication/ri_communication_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
diff --git a/src/control_backend/agents/llm/__init__.py b/src/control_backend/agents/llm/__init__.py
index 519812f..39042b0 100644
--- a/src/control_backend/agents/llm/__init__.py
+++ b/src/control_backend/agents/llm/__init__.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
Agents that interface with Large Language Models for natural language processing and generation.
"""
diff --git a/src/control_backend/agents/llm/llm_agent.py b/src/control_backend/agents/llm/llm_agent.py
index 08a77e3..49ca8bb 100644
--- a/src/control_backend/agents/llm/llm_agent.py
+++ b/src/control_backend/agents/llm/llm_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
import logging
diff --git a/src/control_backend/agents/llm/llm_instructions.py b/src/control_backend/agents/llm/llm_instructions.py
index 753fab2..32e4ff2 100644
--- a/src/control_backend/agents/llm/llm_instructions.py
+++ b/src/control_backend/agents/llm/llm_instructions.py
@@ -1,3 +1,10 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
+
class LLMInstructions:
"""
Helper class to construct the system instructions for the LLM.
diff --git a/src/control_backend/agents/perception/__init__.py b/src/control_backend/agents/perception/__init__.py
index 5a46671..431b89f 100644
--- a/src/control_backend/agents/perception/__init__.py
+++ b/src/control_backend/agents/perception/__init__.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
Agents responsible for processing sensory input, such as audio transcription and voice activity
detection.
"""
diff --git a/src/control_backend/agents/perception/transcription_agent/speech_recognizer.py b/src/control_backend/agents/perception/transcription_agent/speech_recognizer.py
index 1fe7e3f..657123e 100644
--- a/src/control_backend/agents/perception/transcription_agent/speech_recognizer.py
+++ b/src/control_backend/agents/perception/transcription_agent/speech_recognizer.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import abc
import sys
diff --git a/src/control_backend/agents/perception/transcription_agent/transcription_agent.py b/src/control_backend/agents/perception/transcription_agent/transcription_agent.py
index e69fea6..2b600f5 100644
--- a/src/control_backend/agents/perception/transcription_agent/transcription_agent.py
+++ b/src/control_backend/agents/perception/transcription_agent/transcription_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import logging
diff --git a/src/control_backend/agents/perception/vad_agent.py b/src/control_backend/agents/perception/vad_agent.py
index f397563..a6711dd 100644
--- a/src/control_backend/agents/perception/vad_agent.py
+++ b/src/control_backend/agents/perception/vad_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import logging
import uuid
diff --git a/src/control_backend/agents/user_interrupt/__init__.py b/src/control_backend/agents/user_interrupt/__init__.py
index e69de29..0422df7 100644
--- a/src/control_backend/agents/user_interrupt/__init__.py
+++ b/src/control_backend/agents/user_interrupt/__init__.py
@@ -0,0 +1,5 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
diff --git a/src/control_backend/agents/user_interrupt/user_interrupt_agent.py b/src/control_backend/agents/user_interrupt/user_interrupt_agent.py
index 7975aa6..ed38e8b 100644
--- a/src/control_backend/agents/user_interrupt/user_interrupt_agent.py
+++ b/src/control_backend/agents/user_interrupt/user_interrupt_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
import logging
diff --git a/src/control_backend/api/__init__.py b/src/control_backend/api/__init__.py
index e69de29..0422df7 100644
--- a/src/control_backend/api/__init__.py
+++ b/src/control_backend/api/__init__.py
@@ -0,0 +1,5 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
diff --git a/src/control_backend/api/v1/__init__.py b/src/control_backend/api/v1/__init__.py
index e69de29..0422df7 100644
--- a/src/control_backend/api/v1/__init__.py
+++ b/src/control_backend/api/v1/__init__.py
@@ -0,0 +1,5 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
diff --git a/src/control_backend/api/v1/endpoints/__init__.py b/src/control_backend/api/v1/endpoints/__init__.py
index e69de29..0422df7 100644
--- a/src/control_backend/api/v1/endpoints/__init__.py
+++ b/src/control_backend/api/v1/endpoints/__init__.py
@@ -0,0 +1,5 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
diff --git a/src/control_backend/api/v1/endpoints/logs.py b/src/control_backend/api/v1/endpoints/logs.py
index 0e2dff9..266a216 100644
--- a/src/control_backend/api/v1/endpoints/logs.py
+++ b/src/control_backend/api/v1/endpoints/logs.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
from pathlib import Path
diff --git a/src/control_backend/api/v1/endpoints/message.py b/src/control_backend/api/v1/endpoints/message.py
index c0a8715..69f8c3d 100644
--- a/src/control_backend/api/v1/endpoints/message.py
+++ b/src/control_backend/api/v1/endpoints/message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
from fastapi import APIRouter, Request
diff --git a/src/control_backend/api/v1/endpoints/program.py b/src/control_backend/api/v1/endpoints/program.py
index efb5ae9..8d35699 100644
--- a/src/control_backend/api/v1/endpoints/program.py
+++ b/src/control_backend/api/v1/endpoints/program.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
from fastapi import APIRouter, Request
diff --git a/src/control_backend/api/v1/endpoints/robot.py b/src/control_backend/api/v1/endpoints/robot.py
index 95a9c40..afe92f5 100644
--- a/src/control_backend/api/v1/endpoints/robot.py
+++ b/src/control_backend/api/v1/endpoints/robot.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
import logging
diff --git a/src/control_backend/api/v1/endpoints/user_interact.py b/src/control_backend/api/v1/endpoints/user_interact.py
index eb70f35..403a3e1 100644
--- a/src/control_backend/api/v1/endpoints/user_interact.py
+++ b/src/control_backend/api/v1/endpoints/user_interact.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import logging
diff --git a/src/control_backend/api/v1/router.py b/src/control_backend/api/v1/router.py
index b46df5f..9dc2405 100644
--- a/src/control_backend/api/v1/router.py
+++ b/src/control_backend/api/v1/router.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from fastapi.routing import APIRouter
from control_backend.api.v1.endpoints import logs, message, program, robot, user_interact
diff --git a/src/control_backend/core/__init__.py b/src/control_backend/core/__init__.py
index e69de29..0422df7 100644
--- a/src/control_backend/core/__init__.py
+++ b/src/control_backend/core/__init__.py
@@ -0,0 +1,5 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
diff --git a/src/control_backend/core/agent_system.py b/src/control_backend/core/agent_system.py
index 267f072..b107df2 100644
--- a/src/control_backend/core/agent_system.py
+++ b/src/control_backend/core/agent_system.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import logging
from abc import ABC, abstractmethod
diff --git a/src/control_backend/core/config.py b/src/control_backend/core/config.py
index 9ebf0e2..5165e65 100644
--- a/src/control_backend/core/config.py
+++ b/src/control_backend/core/config.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
An exhaustive overview of configurable options. All of these can be set using environment variables
by nesting with double underscores (__). Start from the ``Settings`` class.
diff --git a/src/control_backend/logging/__init__.py b/src/control_backend/logging/__init__.py
index a08e9b8..26d26ca 100644
--- a/src/control_backend/logging/__init__.py
+++ b/src/control_backend/logging/__init__.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from .dated_file_handler import DatedFileHandler as DatedFileHandler
from .optional_field_formatter import OptionalFieldFormatter as OptionalFieldFormatter
from .partial_filter import PartialFilter as PartialFilter
diff --git a/src/control_backend/logging/dated_file_handler.py b/src/control_backend/logging/dated_file_handler.py
index 3a405bb..c38ad5c 100644
--- a/src/control_backend/logging/dated_file_handler.py
+++ b/src/control_backend/logging/dated_file_handler.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from datetime import datetime
from logging import FileHandler
from pathlib import Path
diff --git a/src/control_backend/logging/optional_field_formatter.py b/src/control_backend/logging/optional_field_formatter.py
index 886e9a4..4d53db9 100644
--- a/src/control_backend/logging/optional_field_formatter.py
+++ b/src/control_backend/logging/optional_field_formatter.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
import re
diff --git a/src/control_backend/logging/partial_filter.py b/src/control_backend/logging/partial_filter.py
index 1b121cb..731f205 100644
--- a/src/control_backend/logging/partial_filter.py
+++ b/src/control_backend/logging/partial_filter.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
diff --git a/src/control_backend/logging/setup_logging.py b/src/control_backend/logging/setup_logging.py
index 7147dcc..628b112 100644
--- a/src/control_backend/logging/setup_logging.py
+++ b/src/control_backend/logging/setup_logging.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
import logging.config
import os
diff --git a/src/control_backend/main.py b/src/control_backend/main.py
index a0136bd..75eeead 100644
--- a/src/control_backend/main.py
+++ b/src/control_backend/main.py
@@ -1,4 +1,8 @@
"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
Control Backend Main Application.
This module defines the FastAPI application that serves as the entry point for the
diff --git a/src/control_backend/schemas/__init__.py b/src/control_backend/schemas/__init__.py
index e69de29..0422df7 100644
--- a/src/control_backend/schemas/__init__.py
+++ b/src/control_backend/schemas/__init__.py
@@ -0,0 +1,5 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
diff --git a/src/control_backend/schemas/belief_list.py b/src/control_backend/schemas/belief_list.py
index 841a4ed..a92df16 100644
--- a/src/control_backend/schemas/belief_list.py
+++ b/src/control_backend/schemas/belief_list.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from pydantic import BaseModel
from control_backend.schemas.program import BaseGoal
diff --git a/src/control_backend/schemas/belief_message.py b/src/control_backend/schemas/belief_message.py
index 226833e..cc5ecf3 100644
--- a/src/control_backend/schemas/belief_message.py
+++ b/src/control_backend/schemas/belief_message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from pydantic import BaseModel
diff --git a/src/control_backend/schemas/chat_history.py b/src/control_backend/schemas/chat_history.py
index 8fd1e72..74fa1c2 100644
--- a/src/control_backend/schemas/chat_history.py
+++ b/src/control_backend/schemas/chat_history.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from pydantic import BaseModel
diff --git a/src/control_backend/schemas/events.py b/src/control_backend/schemas/events.py
index a01b668..780c1f9 100644
--- a/src/control_backend/schemas/events.py
+++ b/src/control_backend/schemas/events.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from pydantic import BaseModel
diff --git a/src/control_backend/schemas/internal_message.py b/src/control_backend/schemas/internal_message.py
index afe2908..4d297e6 100644
--- a/src/control_backend/schemas/internal_message.py
+++ b/src/control_backend/schemas/internal_message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from collections.abc import Iterable
from pydantic import BaseModel
diff --git a/src/control_backend/schemas/llm_prompt_message.py b/src/control_backend/schemas/llm_prompt_message.py
index bab0579..bd0b3db 100644
--- a/src/control_backend/schemas/llm_prompt_message.py
+++ b/src/control_backend/schemas/llm_prompt_message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from pydantic import BaseModel
diff --git a/src/control_backend/schemas/message.py b/src/control_backend/schemas/message.py
index d26a18c..a9c82fd 100644
--- a/src/control_backend/schemas/message.py
+++ b/src/control_backend/schemas/message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from pydantic import BaseModel
diff --git a/src/control_backend/schemas/program.py b/src/control_backend/schemas/program.py
index 3fb0a19..f3d102a 100644
--- a/src/control_backend/schemas/program.py
+++ b/src/control_backend/schemas/program.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from enum import Enum
from typing import Literal
diff --git a/src/control_backend/schemas/program_status.py b/src/control_backend/schemas/program_status.py
index 342269e..c1d22a8 100644
--- a/src/control_backend/schemas/program_status.py
+++ b/src/control_backend/schemas/program_status.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from enum import Enum
PROGRAM_STATUS = b"internal/program_status"
diff --git a/src/control_backend/schemas/ri_message.py b/src/control_backend/schemas/ri_message.py
index e6eafa3..2ae5356 100644
--- a/src/control_backend/schemas/ri_message.py
+++ b/src/control_backend/schemas/ri_message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from enum import Enum
from typing import Any, Literal
diff --git a/test/integration/agents/perception/vad_agent/test_vad_agent.py b/test/integration/agents/perception/vad_agent/test_vad_agent.py
index 3cde755..0eeebb3 100644
--- a/test/integration/agents/perception/vad_agent/test_vad_agent.py
+++ b/test/integration/agents/perception/vad_agent/test_vad_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import random
from unittest.mock import AsyncMock, MagicMock
diff --git a/test/integration/agents/perception/vad_agent/test_vad_with_audio.py b/test/integration/agents/perception/vad_agent/test_vad_with_audio.py
index 32e2f3d..d47a43f 100644
--- a/test/integration/agents/perception/vad_agent/test_vad_with_audio.py
+++ b/test/integration/agents/perception/vad_agent/test_vad_with_audio.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import os
from unittest.mock import AsyncMock, MagicMock
diff --git a/test/unit/agents/actuation/test_robot_gesture_agent.py b/test/unit/agents/actuation/test_robot_gesture_agent.py
index 20d7d51..ee66569 100644
--- a/test/unit/agents/actuation/test_robot_gesture_agent.py
+++ b/test/unit/agents/actuation/test_robot_gesture_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
from unittest.mock import AsyncMock, MagicMock, patch
diff --git a/test/unit/agents/actuation/test_robot_speech_agent.py b/test/unit/agents/actuation/test_robot_speech_agent.py
index e5a664d..7821a3b 100644
--- a/test/unit/agents/actuation/test_robot_speech_agent.py
+++ b/test/unit/agents/actuation/test_robot_speech_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
from unittest.mock import AsyncMock, MagicMock
diff --git a/test/unit/agents/bdi/test_agentspeak_ast.py b/test/unit/agents/bdi/test_agentspeak_ast.py
index 8d3bdf0..6819f3d 100644
--- a/test/unit/agents/bdi/test_agentspeak_ast.py
+++ b/test/unit/agents/bdi/test_agentspeak_ast.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import pytest
from control_backend.agents.bdi.agentspeak_ast import (
diff --git a/test/unit/agents/bdi/test_agentspeak_generator.py b/test/unit/agents/bdi/test_agentspeak_generator.py
index 5a3a849..70f58f5 100644
--- a/test/unit/agents/bdi/test_agentspeak_generator.py
+++ b/test/unit/agents/bdi/test_agentspeak_generator.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import uuid
import pytest
diff --git a/test/unit/agents/bdi/test_bdi_core_agent.py b/test/unit/agents/bdi/test_bdi_core_agent.py
index 1bf0107..2462de9 100644
--- a/test/unit/agents/bdi/test_bdi_core_agent.py
+++ b/test/unit/agents/bdi/test_bdi_core_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
import time
diff --git a/test/unit/agents/bdi/test_bdi_program_manager.py b/test/unit/agents/bdi/test_bdi_program_manager.py
index 646075b..7ffbf61 100644
--- a/test/unit/agents/bdi/test_bdi_program_manager.py
+++ b/test/unit/agents/bdi/test_bdi_program_manager.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
import sys
diff --git a/test/unit/agents/bdi/test_text_belief_extractor.py b/test/unit/agents/bdi/test_text_belief_extractor.py
index 353b718..1f82eeb 100644
--- a/test/unit/agents/bdi/test_text_belief_extractor.py
+++ b/test/unit/agents/bdi/test_text_belief_extractor.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
import uuid
from unittest.mock import AsyncMock, MagicMock, patch
diff --git a/test/unit/agents/communication/test_ri_communication_agent.py b/test/unit/agents/communication/test_ri_communication_agent.py
index a678907..989cbd6 100644
--- a/test/unit/agents/communication/test_ri_communication_agent.py
+++ b/test/unit/agents/communication/test_ri_communication_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
from unittest.mock import ANY, AsyncMock, MagicMock, patch
diff --git a/test/unit/agents/llm/test_llm_agent.py b/test/unit/agents/llm/test_llm_agent.py
index bbd6e93..4292f4e 100644
--- a/test/unit/agents/llm/test_llm_agent.py
+++ b/test/unit/agents/llm/test_llm_agent.py
@@ -1,4 +1,10 @@
-"""Mocks `httpx` and tests chunking logic."""
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
+Mocks `httpx` and tests chunking logic.
+"""
from unittest.mock import AsyncMock, MagicMock, patch
diff --git a/test/unit/agents/perception/transcription_agent/test_speech_recognizer.py b/test/unit/agents/perception/transcription_agent/test_speech_recognizer.py
index 518d189..c5d93f6 100644
--- a/test/unit/agents/perception/transcription_agent/test_speech_recognizer.py
+++ b/test/unit/agents/perception/transcription_agent/test_speech_recognizer.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import numpy as np
import pytest
diff --git a/test/unit/agents/perception/transcription_agent/test_transcription_agent.py b/test/unit/agents/perception/transcription_agent/test_transcription_agent.py
index f5a4d1c..b98d1a1 100644
--- a/test/unit/agents/perception/transcription_agent/test_transcription_agent.py
+++ b/test/unit/agents/perception/transcription_agent/test_transcription_agent.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
from unittest.mock import AsyncMock, MagicMock, patch
diff --git a/test/unit/agents/perception/vad_agent/test_vad_agent_unit.py b/test/unit/agents/perception/vad_agent/test_vad_agent_unit.py
index 3e6b0ad..bd8c2d5 100644
--- a/test/unit/agents/perception/vad_agent/test_vad_agent_unit.py
+++ b/test/unit/agents/perception/vad_agent/test_vad_agent_unit.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import AsyncMock, MagicMock, patch
import pytest
diff --git a/test/unit/agents/perception/vad_agent/test_vad_socket_poller.py b/test/unit/agents/perception/vad_agent/test_vad_socket_poller.py
index 2a4ae62..573b1a5 100644
--- a/test/unit/agents/perception/vad_agent/test_vad_socket_poller.py
+++ b/test/unit/agents/perception/vad_agent/test_vad_socket_poller.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import AsyncMock, MagicMock
import pytest
diff --git a/test/unit/agents/perception/vad_agent/test_vad_streaming.py b/test/unit/agents/perception/vad_agent/test_vad_streaming.py
index b53f63d..4683ebc 100644
--- a/test/unit/agents/perception/vad_agent/test_vad_streaming.py
+++ b/test/unit/agents/perception/vad_agent/test_vad_streaming.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import AsyncMock, MagicMock, patch
import numpy as np
diff --git a/test/unit/agents/test_base.py b/test/unit/agents/test_base.py
index 0579ada..0909664 100644
--- a/test/unit/agents/test_base.py
+++ b/test/unit/agents/test_base.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
from control_backend.agents.base import BaseAgent
diff --git a/test/unit/agents/user_interrupt/test_user_interrupt.py b/test/unit/agents/user_interrupt/test_user_interrupt.py
index c41d79e..c678607 100644
--- a/test/unit/agents/user_interrupt/test_user_interrupt.py
+++ b/test/unit/agents/user_interrupt/test_user_interrupt.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import json
from unittest.mock import AsyncMock, MagicMock, patch
diff --git a/test/unit/api/v1/endpoints/test_logs_endpoint.py b/test/unit/api/v1/endpoints/test_logs_endpoint.py
index 4aaa90e..2aaf415 100644
--- a/test/unit/api/v1/endpoints/test_logs_endpoint.py
+++ b/test/unit/api/v1/endpoints/test_logs_endpoint.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import MagicMock, patch
import pytest
diff --git a/test/unit/api/v1/endpoints/test_message_endpoint.py b/test/unit/api/v1/endpoints/test_message_endpoint.py
index 458ded6..edeea84 100644
--- a/test/unit/api/v1/endpoints/test_message_endpoint.py
+++ b/test/unit/api/v1/endpoints/test_message_endpoint.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
import pytest
diff --git a/test/unit/api/v1/endpoints/test_program_endpoint.py b/test/unit/api/v1/endpoints/test_program_endpoint.py
index c1a3fd9..3426077 100644
--- a/test/unit/api/v1/endpoints/test_program_endpoint.py
+++ b/test/unit/api/v1/endpoints/test_program_endpoint.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import json
import uuid
from unittest.mock import AsyncMock
diff --git a/test/unit/api/v1/endpoints/test_robot_endpoint.py b/test/unit/api/v1/endpoints/test_robot_endpoint.py
index e9e637d..3f933af 100644
--- a/test/unit/api/v1/endpoints/test_robot_endpoint.py
+++ b/test/unit/api/v1/endpoints/test_robot_endpoint.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
# tests/test_robot_endpoints.py
import json
from unittest.mock import AsyncMock, MagicMock, patch
diff --git a/test/unit/api/v1/endpoints/test_router.py b/test/unit/api/v1/endpoints/test_router.py
index dd93d8d..157103f 100644
--- a/test/unit/api/v1/endpoints/test_router.py
+++ b/test/unit/api/v1/endpoints/test_router.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from fastapi.routing import APIRoute
from control_backend.api.v1.router import api_router # <--- corrected import
diff --git a/test/unit/api/v1/endpoints/test_user_interact.py b/test/unit/api/v1/endpoints/test_user_interact.py
index 9785eec..ce10e10 100644
--- a/test/unit/api/v1/endpoints/test_user_interact.py
+++ b/test/unit/api/v1/endpoints/test_user_interact.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import AsyncMock, MagicMock, patch
import pytest
diff --git a/test/unit/conftest.py b/test/unit/conftest.py
index 5e925d0..9e93bcd 100644
--- a/test/unit/conftest.py
+++ b/test/unit/conftest.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import MagicMock, patch
import pytest
diff --git a/test/unit/core/test_agent_system.py b/test/unit/core/test_agent_system.py
index 252cca1..26cd09e 100644
--- a/test/unit/core/test_agent_system.py
+++ b/test/unit/core/test_agent_system.py
@@ -1,4 +1,10 @@
-"""Test the base class logic, message passing and background task handling."""
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
+Test the base class logic, message passing and background task handling.
+"""
import asyncio
import logging
diff --git a/test/unit/core/test_config.py b/test/unit/core/test_config.py
index 1e23b03..2305e35 100644
--- a/test/unit/core/test_config.py
+++ b/test/unit/core/test_config.py
@@ -1,4 +1,10 @@
-"""Test if settings load correctly and environment variables override defaults."""
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+--------------------------------------------------------------------------------
+Test if settings load correctly and environment variables override defaults.
+"""
from control_backend.core.config import Settings
diff --git a/test/unit/core/test_logging.py b/test/unit/core/test_logging.py
index 79d72a9..f13a018 100644
--- a/test/unit/core/test_logging.py
+++ b/test/unit/core/test_logging.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
from unittest.mock import mock_open, patch
diff --git a/test/unit/logging/test_dated_file_handler.py b/test/unit/logging/test_dated_file_handler.py
index 14809fb..a60d32a 100644
--- a/test/unit/logging/test_dated_file_handler.py
+++ b/test/unit/logging/test_dated_file_handler.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import MagicMock, patch
import pytest
diff --git a/test/unit/logging/test_optional_field_formatter.py b/test/unit/logging/test_optional_field_formatter.py
index ae75bd9..6a8c66a 100644
--- a/test/unit/logging/test_optional_field_formatter.py
+++ b/test/unit/logging/test_optional_field_formatter.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
import pytest
diff --git a/test/unit/logging/test_partial_filter.py b/test/unit/logging/test_partial_filter.py
index bd5ef10..719d8ec 100644
--- a/test/unit/logging/test_partial_filter.py
+++ b/test/unit/logging/test_partial_filter.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import logging
import pytest
diff --git a/test/unit/schemas/test_message.py b/test/unit/schemas/test_message.py
index b544e22..d27e333 100644
--- a/test/unit/schemas/test_message.py
+++ b/test/unit/schemas/test_message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from control_backend.schemas.message import Message
diff --git a/test/unit/schemas/test_ri_message.py b/test/unit/schemas/test_ri_message.py
index 40601ec..21b3ccb 100644
--- a/test/unit/schemas/test_ri_message.py
+++ b/test/unit/schemas/test_ri_message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import pytest
from pydantic import ValidationError
diff --git a/test/unit/schemas/test_ui_program_message.py b/test/unit/schemas/test_ui_program_message.py
index 6f6d5fd..e71920d 100644
--- a/test/unit/schemas/test_ui_program_message.py
+++ b/test/unit/schemas/test_ui_program_message.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import uuid
import pytest
diff --git a/test/unit/test_main.py b/test/unit/test_main.py
index a423703..370dd39 100644
--- a/test/unit/test_main.py
+++ b/test/unit/test_main.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
import asyncio
import sys
from unittest.mock import AsyncMock, patch
diff --git a/test/unit/test_main_sockets.py b/test/unit/test_main_sockets.py
index 662147a..ebc31c8 100644
--- a/test/unit/test_main_sockets.py
+++ b/test/unit/test_main_sockets.py
@@ -1,3 +1,9 @@
+"""
+This program has been developed by students from the bachelor Computer Science at Utrecht
+University within the Software Project course.
+© Copyright Utrecht University (Department of Information and Computing Sciences)
+"""
+
from unittest.mock import MagicMock, patch
import zmq
From 516fda4694c5baba35b2e3a3306978ba4db78ed8 Mon Sep 17 00:00:00 2001
From: Kasper Marinus
Date: Fri, 30 Jan 2026 15:50:28 +0000
Subject: [PATCH 3/3] build: add cv2 dependencies to CI/CD
---
.gitlab-ci.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7573262..1a869e5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,4 +22,5 @@ test:
tags:
- test
script:
+ - apt-get update && apt-get install ffmpeg libsm6 libxext6 -y
- uv run --only-group test pytest test