QERRA-v2 Classical: Explainable Ethical Safety Gates & Behavior Tree Integration (v2.0.0-alpha)

Hello ROS Community,

I wanted to share a project update and invite feedback on QERRA-v2 Classical, an explainable, classical ethical evaluation engine designed for robotics decision support and humanoid safety.

The project is built upon the SEMEV-12 framework (12 human-centred ethical vectors) and is designed to act as an “ethical gate” in robotic task execution.

What’s New in the v2.0.0-alpha Release:

  • Hybrid Action Server Bridge (ros2_bridge.py): In high-stakes robotics, cloud latency is a safety risk. I have implemented a non-blocking ROS 2 Action Server (/qerra/evaluate) with a strict 800ms latency timeout. If a remote API call exceeds 800ms, the system automatically falls back to executing the check locally on the CPU (pre-encoding the SEMEV-12 descriptions using SentenceTransformers on CPU at startup, reducing local evaluation runtime to ~31ms).
  • Behavior Tree Integration (qerra_condition_node.py): Implemented a non-blocking PyTrees Behaviour condition node. This acts as an ethical safety gate before a robot commits to an action. The robot’s higher-level behavior tree ticks normally while the evaluation is running, preventing the system from freezing due to shaky Wi-Fi.

Current Project Status & Feedback

The core logic, Python engine, and PyTrees nodes are verified, and the API is live. However, because this is an independent, solo-developed research project operating under tight resource constraints, it is currently in its v2.0.0-alpha testing phase.

Specifically, I am working through some local colcon build compilation quirks with the custom action message packaging (qerra_msgs).

If you are a ROS 2 developer, behavior trees enthusiast, or researcher working in deliberative systems, I would welcome your thoughts on the project. If you have experience with ROS 2 Humble custom action message generation or are interested in classical ethical deliberative architectures, please feel free to check out the repository, share your feedback, or open an issue.

Best regards,
Marussa Metocharaki
Independent Researcher | Athens, Greece
marunigno@gmail.com

Here is the exact local CMake build error I am currently running into on WSL 2 while compiling the qerra_msgs package.

Any thoughts are welcome!

Environment & Problem

  • OS/WSL: Windows 11 + WSL 2 (Ubuntu 22.04 LTS)
  • ROS 2: Humble Hawksbill (Base)
  • Command: colcon build --packages-select qerra_msgs
  • Error: CMake line 93 asserts action/QerraEvaluate.action does not exist relative to CMAKE_CURRENT_SOURCE_DIR /home/marun/ros2_ws/src/qerra_msgs

Setup Verified

  • Action File: Physically exists at ~/ros2_ws/src/qerra_msgs/action/QerraEvaluate.action
  • CMakeLists.txt: Properly references “action/QerraEvaluate.action”

Suspected WSL 2 System Causes
Since file names match and clean builds do not fix this, we suspect a deeper environmental issue:

  1. WSL 2 NTFS Permissions: A Windows/Linux permissions lock blocking CMake from reading the file.
  2. Line Endings: Hidden carriage returns (\r) in the .action file or configuration.
  3. Colcon Cache: Cached paths remaining from previous directory cleanups.

Update: v1.9.0 – Full Semantic Detection for All 12 Vectors

Hello everyone,

Just wanted to share a step forward with QERRA-v2 Classical.

I have upgraded all 12 SEMEV-12 vectors to use semantic similarity detection with all-MiniLM-L6-v2. The five vectors that were previously regex-only (emotional_distress, family_severance, family_origin_chain, shallow_remorse, ethical_severance) are now fully semantic.

Key improvements:

  • Much better detection of nuanced and indirect expressions
  • Stronger performance on gaslighting / cognitive manipulation (v010)
  • All existing regression tests still pass 100%
  • No changes to weights, scoring logic, or core architecture

The system remains deterministic, fully explainable, and keeps the hybrid Action Server with local CPU fallback.

Repository: GitHub - marunigno-ship-it/QERRA-v2-classical: Classical explainable ethical evaluation engine for AI systems and humanoid robots — SEMEV-12 framework, 12 vectors, fully auditable. · GitHub
Release: v1.9.0I would really appreciate any feedback from people working with Behavior Trees, ROS 2 safety, or ethical systems — especially ideas for adversarial test cases or real-world integration experiences.

Thank you!