Skip to content

feat: add role descriptions for all 15 roles (EN + DE) - #691

Merged
rdmueller merged 2 commits into
LLM-Coding:mainfrom
JensGrote:feat/role-descriptions
Jul 9, 2026
Merged

feat: add role descriptions for all 15 roles (EN + DE)#691
rdmueller merged 2 commits into
LLM-Coding:mainfrom
JensGrote:feat/role-descriptions

Conversation

@JensGrote

@JensGrote JensGrote commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds docs/roles/<role-id>.adoc and docs/roles/<role-id>.de.adoc for all 15 roles in the :roles: vocabulary, and extends extract-metadata.js with a roleIdToNameDe() mapping.

Addresses open Question 5 from #542 and review feedback on #659 (point 4, @raifdmueller):

"confirm the role display names in extract-metadata.js show DE labels too (or note it as a follow-up), and decide whether they get docs/roles/.adoc files"*

Changes

  • 30 new files: docs/roles/<role-id>.adoc + docs/roles/<role-id>.de.adoc for all 15 roles
  • Each file contains: role title (localized), short description, sources (standards/frameworks/legal refs)
  • scripts/extract-metadata.js: added roleIdToNameDe() function + name_de field in generated role objects

Role overview

ID EN DE
software-developer Software Developer / Engineer Softwareentwickler
software-architect Software Architect Softwarearchitekt
qa-engineer QA Engineer / Tester QA-Engineer / Tester
devops-engineer DevOps Engineer DevOps-Engineer
product-owner Product Owner / Product Manager Product Owner / Produktmanager
business-analyst Business Analyst / Requirements Engineer Business Analyst / Anforderungsmanager
technical-writer Technical Writer / Documentation Specialist Technischer Redakteur
ux-designer UX Designer / Researcher UX-Designer / UX-Researcher
data-scientist Data Scientist / Statistician Datenanalyst / Statistiker / Datenarchitekt
consultant Consultant / Coach Berater / Coach
team-lead Team Lead / Engineering Manager Teamleiter / Engineering Manager
educator Educator / Trainer Dozent / Trainer
data-protection-officer Data Protection Officer Datenschutzbeauftragter
legal-compliance Legal / Compliance Counsel Syndikusanwalt / Unternehmensjurist / Compliance-Beauftragter
ethics-officer Ethics Officer / AI Ethics Board Ethikbeauftragter / KI-Ethikgremium

Alle Rollenbezeichnungen sind generisch zu verstehen und beinhalten keine Genderaussage.

Sources per role type

  • Technical roles (12): ISO/IEC standards, ITIL 4, Scrum Guide, SAFe, iSAQB, ISTQB, IREB, tekom, UXQB
  • Governance roles (3): GDPR Art. 37–39, EU AI Act Art. 9/43, ISO/IEC 42001, IEEE 7000, § 46 BRAO, BSI-Grundschutz, NIS2

Not included (follow-up)

  • Website integration (rendering role filter with name_de based on i18n.currentLang()) — separate PR

Related

Add docs/roles/<role-id>.adoc and docs/roles/<role-id>.de.adoc for all
15 roles in the :roles: vocabulary.

Each file contains:
- Role title (localized)
- Short description (2-3 sentences)
- Sources (standards, frameworks, legal references)

Governance roles (3) reference legal sources (GDPR, EU AI Act,
ISO/IEC 42001, IEEE 7000, BRAO). Technical roles (12) reference
industry standards (ISO/IEC, ITIL 4, Scrum Guide, SAFe, iSAQB,
ISTQB, IREB, tekom, UXQB).

All role titles are generic and do not imply gender.

Addresses Question 5 from LLM-Coding#542, review feedback on LLM-Coding#659 (point 4).
Refs: LLM-Coding#542, LLM-Coding#659
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Diese PR ergänzt neue Rollenbeschreibungen als AsciiDoc-Dateien in Englisch und Deutsch für 15 Rollen und erweitert den Rollenmetadaten-Export um den deutschen Rollennamen name_de.

Changes

Rollendokumentation

Layer / File(s) Summary
Business Analyst & Consultant Rollen
docs/roles/business-analyst.adoc, docs/roles/business-analyst.de.adoc, docs/roles/consultant.adoc, docs/roles/consultant.de.adoc
Neue EN/DE-Seiten für Business Analyst/Requirements Engineer und Consultant/Coach mit Metadaten, Aufgabenbeschreibung und Quellenlisten.
Datenschutz, Ethik und Legal/Compliance Rollen
docs/roles/data-protection-officer.adoc, docs/roles/data-protection-officer.de.adoc, docs/roles/ethics-officer.adoc, docs/roles/ethics-officer.de.adoc, docs/roles/legal-compliance.adoc, docs/roles/legal-compliance.de.adoc
Neue EN/DE-Seiten für Data Protection Officer, Ethics Officer und Legal/Compliance Counsel mit Aufgabenlisten nach DSGVO Art. 39, EU AI Act, NIS2, BDSG § 38 und BRAO § 46 sowie zugehörigen Quellen.
Data, DevOps, Educator und QA Rollen
docs/roles/data-scientist.adoc, docs/roles/data-scientist.de.adoc, docs/roles/devops-engineer.adoc, docs/roles/devops-engineer.de.adoc, docs/roles/educator.adoc, docs/roles/educator.de.adoc, docs/roles/qa-engineer.adoc, docs/roles/qa-engineer.de.adoc
Neue EN/DE-Seiten für Data Scientist, DevOps Engineer, Educator/Trainer und QA Engineer/Tester mit Rollenbeschreibung und Quellenlisten.
Produkt-, Architektur-, Entwicklungs- und UX Rollen
docs/roles/product-owner.adoc, docs/roles/product-owner.de.adoc, docs/roles/software-architect.adoc, docs/roles/software-architect.de.adoc, docs/roles/software-developer.adoc, docs/roles/software-developer.de.adoc, docs/roles/team-lead.adoc, docs/roles/team-lead.de.adoc, docs/roles/technical-writer.adoc, docs/roles/technical-writer.de.adoc, docs/roles/ux-designer.adoc, docs/roles/ux-designer.de.adoc
Neue EN/DE-Seiten für Product Owner, Software Architect, Software Developer, Team Lead, Technical Writer und UX Designer/Researcher mit Metadaten, Rollenbeschreibung und Quellenabschnitten.
Deutsche Rollennamen im Export
scripts/extract-metadata.js
generateRolesData ergänzt name_de pro Rollenobjekt, und roleIdToNameDe(id) bildet bekannte Rollen-IDs auf deutsche Bezeichnungen mit Fallback-Abbildung ab.

Estimated code review effort: 2 (Simple) | ~12 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Der Titel beschreibt treffend die neuen Rollenbeschreibungen für alle 15 Rollen in Englisch und Deutsch.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Add German display name mapping for all 15 roles in the :roles:
vocabulary. The generated roles.json now includes a name_de field
for each role.

Refs: LLM-Coding#542, LLM-Coding#659
@JensGrote

Copy link
Copy Markdown
Collaborator Author

Note: Website integration (role filter rendering with name_de based on i18n.currentLang()) is intentionally not part of this PR. It will follow as a separate change once the role descriptions and DE labels are approved.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/roles/legal-compliance.adoc`:
- Around line 5-23: The responsibilities section mentions GDPR, but the Sources
block is missing a matching reference, so the documentation trail is incomplete.
Update the legal-compliance.adoc content by either adding a GDPR/DSGVO source
entry in the Sources list or removing the GDPR mention from the Responsibilities
section, and keep the terminology consistent with the existing document symbols
such as the Responsibilities and Sources headings.

In `@docs/roles/legal-compliance.de.adoc`:
- Around line 5-23: The German role document mentions DSGVO in the Aufgaben
list, but the Quellen section in legal-compliance.de.adoc does not include a
matching source entry. Update the document so the reference chain is consistent
by either adding a DSGVO source in the Quellen block alongside the existing
standards or removing DSGVO from the Aufgaben bullet in the same file; keep the
terminology aligned with the other role docs.

In `@docs/roles/qa-engineer.adoc`:
- Line 13: The standard reference in the QA engineer role doc is incorrect:
ISO/IEC 12207 is not a software testing process. Update the entry in the
qa-engineer documentation to either use the correct title “Software Life Cycle
Processes” or replace it with a genuinely test-related standard, keeping the
surrounding role/standards list consistent.

In `@docs/roles/qa-engineer.de.adoc`:
- Around line 1-3: The German role heading is inconsistent with the canonical
label used elsewhere in the docs. Update the AsciiDoc title in the QA Engineer
role file so the heading matches “QA Engineer / Tester” exactly, and keep the
existing identity fields like :id: and :name-en: unchanged.

In `@docs/roles/ux-designer.de.adoc`:
- Line 5: Die deutsche Rollenbeschreibung enthält den englischen Begriff „User
Research“ und sollte in der Übersetzung von ux-designer.de.adoc konsistent
deutsch formuliert werden. Passe den Text in der Rollenbeschreibung so an, dass
der Begriff durch die im Repository verwendete deutsche Terminologie wie
„Nutzerforschung“ ersetzt wird, und prüfe die umliegende Beschreibung auf
weitere englische Begriffe, damit die Darstellung insgesamt einheitlich bleibt.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 4588b6dc-8573-48b9-af63-eaa368456278

📥 Commits

Reviewing files that changed from the base of the PR and between af00256 and 6885e9a.

📒 Files selected for processing (30)
  • docs/roles/business-analyst.adoc
  • docs/roles/business-analyst.de.adoc
  • docs/roles/consultant.adoc
  • docs/roles/consultant.de.adoc
  • docs/roles/data-protection-officer.adoc
  • docs/roles/data-protection-officer.de.adoc
  • docs/roles/data-scientist.adoc
  • docs/roles/data-scientist.de.adoc
  • docs/roles/devops-engineer.adoc
  • docs/roles/devops-engineer.de.adoc
  • docs/roles/educator.adoc
  • docs/roles/educator.de.adoc
  • docs/roles/ethics-officer.adoc
  • docs/roles/ethics-officer.de.adoc
  • docs/roles/legal-compliance.adoc
  • docs/roles/legal-compliance.de.adoc
  • docs/roles/product-owner.adoc
  • docs/roles/product-owner.de.adoc
  • docs/roles/qa-engineer.adoc
  • docs/roles/qa-engineer.de.adoc
  • docs/roles/software-architect.adoc
  • docs/roles/software-architect.de.adoc
  • docs/roles/software-developer.adoc
  • docs/roles/software-developer.de.adoc
  • docs/roles/team-lead.adoc
  • docs/roles/team-lead.de.adoc
  • docs/roles/technical-writer.adoc
  • docs/roles/technical-writer.de.adoc
  • docs/roles/ux-designer.adoc
  • docs/roles/ux-designer.de.adoc

Comment on lines +5 to +23
Ensures legal and regulatory compliance — from regulatory requirements (EU AI Act, NIS2) through management systems (ISO 9001, ISO 27001, ISO 20000) to sector-specific standards (BSI-Grundschutz, KRITIS). Assesses legal risk and is accountable for audit readiness.

== Responsibilities

* Legal assessment of IT systems and processes
* Compliance with regulatory frameworks (EU AI Act, NIS2, GDPR)
* Audit readiness for management system certifications
* Contract review and legal risk assessment
* Internal audit support and evidence management

== Sources

* EU AI Act — Conformity assessment, Art. 43
* ISO 27001 — Information Security Management Systems
* ISO 9001 — Quality Management Systems
* ISO 20000 — IT Service Management Systems
* BSI-Grundschutz Compendium — IT baseline protection (German federal standard)
* NIS2 Directive (EU 2022/2555) — Cybersecurity
* § 46 BRAO — In-house counsel (German Federal Lawyers Act)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

DSGVO/GDPR als Quelle ergänzen.

In der Aufgabenbeschreibung wird GDPR genannt, der Quellenblock führt dafür aber keinen Eintrag. Bitte ergänzt eine passende GDPR-Quelle oder streicht den Verweis aus den Aufgaben, damit die Referenzkette in der Doku geschlossen bleibt.

Vorgeschlagener Fix
 * NIS2 Directive (EU 2022/2555) — Cybersecurity
+* GDPR — General Data Protection Regulation
 * § 46 BRAO — In-house counsel (German Federal Lawyers Act)

As per coding guidelines: docs/**/*.{adoc,md} — Use the repository’s documented terminology and references consistently across documentation.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Ensures legal and regulatory compliance — from regulatory requirements (EU AI Act, NIS2) through management systems (ISO 9001, ISO 27001, ISO 20000) to sector-specific standards (BSI-Grundschutz, KRITIS). Assesses legal risk and is accountable for audit readiness.
== Responsibilities
* Legal assessment of IT systems and processes
* Compliance with regulatory frameworks (EU AI Act, NIS2, GDPR)
* Audit readiness for management system certifications
* Contract review and legal risk assessment
* Internal audit support and evidence management
== Sources
* EU AI Act — Conformity assessment, Art. 43
* ISO 27001 — Information Security Management Systems
* ISO 9001 — Quality Management Systems
* ISO 20000 — IT Service Management Systems
* BSI-Grundschutz Compendium — IT baseline protection (German federal standard)
* NIS2 Directive (EU 2022/2555) — Cybersecurity
* § 46 BRAO — In-house counsel (German Federal Lawyers Act)
Ensures legal and regulatory compliance — from regulatory requirements (EU AI Act, NIS2) through management systems (ISO 9001, ISO 27001, ISO 20000) to sector-specific standards (BSI-Grundschutz, KRITIS). Assesses legal risk and is accountable for audit readiness.
== Responsibilities
* Legal assessment of IT systems and processes
* Compliance with regulatory frameworks (EU AI Act, NIS2, GDPR)
* Audit readiness for management system certifications
* Contract review and legal risk assessment
* Internal audit support and evidence management
== Sources
* EU AI Act — Conformity assessment, Art. 43
* ISO 27001 — Information Security Management Systems
* ISO 9001 — Quality Management Systems
* ISO 20000 — IT Service Management Systems
* BSI-Grundschutz Compendium — IT baseline protection (German federal standard)
* NIS2 Directive (EU 2022/2555) — Cybersecurity
* GDPR — General Data Protection Regulation
* § 46 BRAO — In-house counsel (German Federal Lawyers Act)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/roles/legal-compliance.adoc` around lines 5 - 23, The responsibilities
section mentions GDPR, but the Sources block is missing a matching reference, so
the documentation trail is incomplete. Update the legal-compliance.adoc content
by either adding a GDPR/DSGVO source entry in the Sources list or removing the
GDPR mention from the Responsibilities section, and keep the terminology
consistent with the existing document symbols such as the Responsibilities and
Sources headings.

Source: Coding guidelines

Comment on lines +5 to +23
Stellt Rechtskonformität sicher — von regulatorischen Anforderungen (KI-Verordnung, NIS2) über Managementsysteme (ISO 9001, ISO 27001, ISO 20000) bis zu branchenspezifischen Standards (BSI-Grundschutz, KRITIS). Bewertet rechtliche Risiken und verantwortet die Auditfähigkeit.

== Aufgaben

* Rechtliche Bewertung von IT-Systemen und Prozessen
* Compliance mit regulatorischen Rahmenwerken (KI-Verordnung, NIS2, DSGVO)
* Auditfähigkeit für Managementsystem-Zertifizierungen
* Vertragsreview und rechtliche Risikobewertung
* Unterstützung der internen Revision und Nachweisverwaltung

== Quellen

* KI-Verordnung (EU AI Act) — Konformitätsbewertung, Art. 43
* ISO 27001 — Informationssicherheits-Managementsysteme
* ISO 9001 — Qualitätsmanagementsysteme
* ISO 20000 — IT-Service-Managementsysteme
* BSI-Grundschutz-Kompendium — IT-Grundschutz
* NIS2-Richtlinie (EU 2022/2555) — Cybersicherheit
* § 46 BRAO — Syndikusrechtsanwalt

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

DSGVO als Quelle ergänzen.

In der deutschen Fassung wird DSGVO in der Aufgabenliste genannt, der Quellenblock führt dafür aber keinen Eintrag. Bitte ergänzt eine passende DSGVO-Quelle oder streicht den Verweis aus den Aufgaben, damit die Referenzkette in beiden Sprachfassungen identisch bleibt.

Vorgeschlagener Fix
 * NIS2-Richtlinie (EU 2022/2555) — Cybersicherheit
+* DSGVO — Datenschutz-Grundverordnung
 * § 46 BRAO — Syndikusrechtsanwalt

As per coding guidelines: docs/**/*.{adoc,md} — Use the repository’s documented terminology and references consistently across documentation.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Stellt Rechtskonformität sicher — von regulatorischen Anforderungen (KI-Verordnung, NIS2) über Managementsysteme (ISO 9001, ISO 27001, ISO 20000) bis zu branchenspezifischen Standards (BSI-Grundschutz, KRITIS). Bewertet rechtliche Risiken und verantwortet die Auditfähigkeit.
== Aufgaben
* Rechtliche Bewertung von IT-Systemen und Prozessen
* Compliance mit regulatorischen Rahmenwerken (KI-Verordnung, NIS2, DSGVO)
* Auditfähigkeit für Managementsystem-Zertifizierungen
* Vertragsreview und rechtliche Risikobewertung
* Unterstützung der internen Revision und Nachweisverwaltung
== Quellen
* KI-Verordnung (EU AI Act) — Konformitätsbewertung, Art. 43
* ISO 27001 — Informationssicherheits-Managementsysteme
* ISO 9001 — Qualitätsmanagementsysteme
* ISO 20000 — IT-Service-Managementsysteme
* BSI-Grundschutz-Kompendium — IT-Grundschutz
* NIS2-Richtlinie (EU 2022/2555) — Cybersicherheit
* § 46 BRAO — Syndikusrechtsanwalt
Stellt Rechtskonformität sicher — von regulatorischen Anforderungen (KI-Verordnung, NIS2) über Managementsysteme (ISO 9001, ISO 27001, ISO 20000) bis zu branchenspezifischen Standards (BSI-Grundschutz, KRITIS). Bewertet rechtliche Risiken und verantwortet die Auditfähigkeit.
== Aufgaben
* Rechtliche Bewertung von IT-Systemen und Prozessen
* Compliance mit regulatorischen Rahmenwerken (KI-Verordnung, NIS2, DSGVO)
* Auditfähigkeit für Managementsystem-Zertifizierungen
* Vertragsreview und rechtliche Risikobewertung
* Unterstützung der internen Revision und Nachweisverwaltung
== Quellen
* KI-Verordnung (EU AI Act) — Konformitätsbewertung, Art. 43
* ISO 27001 — Informationssicherheits-Managementsysteme
* ISO 9001 — Qualitätsmanagementsysteme
* ISO 20000 — IT-Service-Managementsysteme
* BSI-Grundschutz-Kompendium — IT-Grundschutz
* NIS2-Richtlinie (EU 2022/2555) — Cybersicherheit
* DSGVO — Datenschutz-Grundverordnung
* § 46 BRAO — Syndikusrechtsanwalt
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/roles/legal-compliance.de.adoc` around lines 5 - 23, The German role
document mentions DSGVO in the Aufgaben list, but the Quellen section in
legal-compliance.de.adoc does not include a matching source entry. Update the
document so the reference chain is consistent by either adding a DSGVO source in
the Quellen block alongside the existing standards or removing DSGVO from the
Aufgaben bullet in the same file; keep the terminology aligned with the other
role docs.

Source: Coding guidelines

* ISO/IEC 25010 — Systems and Software Quality Models
* ISO 9001 — Quality Management Systems (verification & validation)
* ITIL 4 — Service Validation and Testing practice
* ISO/IEC 12207 — Software Testing Process

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n## file list\n'
git ls-files 'docs/**/*' | sed -n '1,120p'

printf '\n## target file with line numbers\n'
if [ -f docs/roles/qa-engineer.adoc ]; then
  cat -n docs/roles/qa-engineer.adoc | sed -n '1,120p'
else
  echo "docs/roles/qa-engineer.adoc not found"
fi

printf '\n## related references to ISO/IEC 12207\n'
rg -n "ISO/IEC 12207|Software Testing Process|Software life cycle processes|Testing Process" docs || true

Repository: LLM-Coding/Semantic-Anchors

Length of output: 5481


Quelle korrigieren oder ersetzen.
ISO/IEC 12207 heißt hier nicht „Software Testing Process“, sondern „Software Life Cycle Processes“. Den Eintrag in docs/roles/qa-engineer.adoc:13 entsprechend anpassen oder durch eine wirklich testbezogene Norm ersetzen.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/roles/qa-engineer.adoc` at line 13, The standard reference in the QA
engineer role doc is incorrect: ISO/IEC 12207 is not a software testing process.
Update the entry in the qa-engineer documentation to either use the correct
title “Software Life Cycle Processes” or replace it with a genuinely
test-related standard, keeping the surrounding role/standards list consistent.

Source: MCP tools

Comment on lines +1 to +3
= QA-Engineer / Tester
:id: qa-engineer
:name-en: QA Engineer / Tester

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n## Relevant files\n'
git ls-files 'docs/**/*' | sed -n '1,200p'

printf '\n## Search for role terminology\n'
rg -n --hidden --glob 'docs/**/*' 'QA[- ]Engineer|QA Engineer / Tester|Tester' docs || true

printf '\n## Specifically inspect the mentioned file\n'
cat -n docs/roles/qa-engineer.de.adoc

Repository: LLM-Coding/Semantic-Anchors

Length of output: 9804


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n## Search for role mapping references\n'
rg -n --hidden --glob 'docs/**/*' 'about[- ]?filter|role.*map|roles.*filter|qa-engineer|qa engineer' docs || true

printf '\n## Files that mention qa-engineer explicitly\n'
rg -n --hidden --glob 'docs/**/*' 'qa-engineer' docs || true

Repository: LLM-Coding/Semantic-Anchors

Length of output: 15548


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n## Locate English role file\n'
fd -a 'qa-engineer.*adoc' docs || true

printf '\n## Read matching role files if present\n'
for f in $(fd -a 'qa-engineer.*adoc' docs); do
  echo "--- $f"
  cat -n "$f"
done

Repository: LLM-Coding/Semantic-Anchors

Length of output: 1700


Rollenlabel angleichen. Die deutsche Überschrift sollte ebenfalls QA Engineer / Tester heißen; aktuell weicht QA-Engineer / Tester von der kanonischen Bezeichnung in der restlichen Doku ab.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/roles/qa-engineer.de.adoc` around lines 1 - 3, The German role heading
is inconsistent with the canonical label used elsewhere in the docs. Update the
AsciiDoc title in the QA Engineer role file so the heading matches “QA Engineer
/ Tester” exactly, and keep the existing identity fields like :id: and :name-en:
unchanged.

Source: Coding guidelines

:id: ux-designer
:name-en: UX Designer / Researcher

Gestaltet Benutzerinteraktionen und führt User Research durch um Usability sicherzustellen. Übersetzt Nutzerbedürfnisse in Interaktionsmuster und validiert durch Usability-Tests. Vertritt den Endnutzer bei Produktentscheidungen.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Begriff in der DE-Beschreibung lokalisieren.

„User Research“ bleibt hier auf Englisch stehen. Bitte in der deutschen Seite auf „Nutzerforschung“ o. ä. angleichen, damit die Rollenbeschreibung durchgängig deutsch ist.

As per coding guidelines: Use the repository’s documented terminology and references consistently across documentation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/roles/ux-designer.de.adoc` at line 5, Die deutsche Rollenbeschreibung
enthält den englischen Begriff „User Research“ und sollte in der Übersetzung von
ux-designer.de.adoc konsistent deutsch formuliert werden. Passe den Text in der
Rollenbeschreibung so an, dass der Begriff durch die im Repository verwendete
deutsche Terminologie wie „Nutzerforschung“ ersetzt wird, und prüfe die
umliegende Beschreibung auf weitere englische Begriffe, damit die Darstellung
insgesamt einheitlich bleibt.

Source: Coding guidelines

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
scripts/extract-metadata.js (1)

270-299: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

DRY-Verletzung: Fallback-Logik dupliziert mit roleIdToName.

Die Fallback-Logik (id.split('-').map(...)) ist identisch mit roleIdToName (Zeilen 261-267). Extrahieren Sie eine gemeinsame Hilfsfunktion, um Wartbarkeit zu verbessern und künftige Abweichungen zu vermeiden.

Zusätzlich: roleIdToNameDe enthält 15 Rollen, roleIdToName jedoch nur 12. Die drei neuen Rollen (data-protection-officer, legal-compliance, ethics-officer) fehlen im englischen Mapping und fallen dort auf generische Kapitalisierung zurück. Für Konsistenz sollten beide Funktionen dieselben Rollen abdecken.

♻️ Vorgeschlagene Extraktion einer gemeinsamen Hilfsfunktion
+function capitalizeRoleId(id) {
+  return id
+    .split('-')
+    .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
+    .join(' ')
+}
+
 function roleIdToName(id) {
   const names = {
     'software-developer': 'Software Developer / Engineer',
     'software-architect': 'Software Architect',
     'qa-engineer': 'QA Engineer / Tester',
     'devops-engineer': 'DevOps Engineer',
     'product-owner': 'Product Owner / Product Manager',
     'business-analyst': 'Business Analyst / Requirements Engineer',
     'technical-writer': 'Technical Writer / Documentation Specialist',
     'ux-designer': 'UX Designer / Researcher',
     'data-scientist': 'Data Scientist / Statistician',
     consultant: 'Consultant / Coach',
     'team-lead': 'Team Lead / Engineering Manager',
+    'data-protection-officer': 'Data Protection Officer',
+    'legal-compliance': 'Legal / Compliance Counsel',
+    'ethics-officer': 'Ethics Officer',
     educator: 'Educator / Trainer',
   }
-  return (
-    names[id] ||
-    id
-      .split('-')
-      .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
-      .join(' ')
-  )
+  return names[id] || capitalizeRoleId(id)
 }

 function roleIdToNameDe(id) {
   const names = {
     'software-developer': 'Softwareentwickler',
     'software-architect': 'Softwarearchitekt',
     'qa-engineer': 'QA-Engineer / Tester',
     'devops-engineer': 'DevOps-Engineer',
     'product-owner': 'Product Owner / Produktmanager',
     'business-analyst': 'Business Analyst / Anforderungsmanager',
     'technical-writer': 'Technischer Redakteur',
     'ux-designer': 'UX-Designer / UX-Researcher',
     'data-scientist': 'Datenanalyst / Statistiker / Datenarchitekt',
     consultant: 'Berater / Coach',
     'team-lead': 'Teamleiter / Engineering Manager',
     educator: 'Dozent / Trainer',
     'data-protection-officer': 'Datenschutzbeauftragter',
     'legal-compliance': 'Syndikusanwalt / Unternehmensjurist / Compliance-Beauftragter',
     'ethics-officer': 'Ethikbeauftragter / KI-Ethikgremium',
   }
-  return (
-    names[id] ||
-    id
-      .split('-')
-      .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
-      .join(' ')
-  )
+  return names[id] || capitalizeRoleId(id)
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/extract-metadata.js` around lines 270 - 299, The fallback
capitalization logic is duplicated between roleIdToNameDe and roleIdToName, so
extract it into a shared helper and have both functions call it instead of
repeating the split/map/join behavior. Also update roleIdToName to include the
same role keys already present in roleIdToNameDe (data-protection-officer,
legal-compliance, ethics-officer) so both mappings cover the same set of roles
and only differ in localized labels.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/extract-metadata.js`:
- Line 206: The exported metadata key for the German role name is using the
wrong naming convention, causing a mismatch with the documented API contract.
Update the field in the exporter logic around roleIdToNameDe so it emits the
camelCase key nameDE instead of name_de, and keep the rest of the role metadata
shape unchanged to match the API specification and downstream consumers.

---

Nitpick comments:
In `@scripts/extract-metadata.js`:
- Around line 270-299: The fallback capitalization logic is duplicated between
roleIdToNameDe and roleIdToName, so extract it into a shared helper and have
both functions call it instead of repeating the split/map/join behavior. Also
update roleIdToName to include the same role keys already present in
roleIdToNameDe (data-protection-officer, legal-compliance, ethics-officer) so
both mappings cover the same set of roles and only differ in localized labels.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: f0eaf8da-cd79-41cd-bd10-4503869e5bd3

📥 Commits

Reviewing files that changed from the base of the PR and between 6885e9a and 55153ae.

📒 Files selected for processing (1)
  • scripts/extract-metadata.js

roleMap.set(roleId, {
id: roleId,
name: roleIdToName(roleId),
name_de: roleIdToNameDe(roleId),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Schlüsselfeld name_de weicht von der API-Spezifikation ab.

Die API-Spezifikation in docs/specs/02_api_specification.adoc:224-242 dokumentiert das Feld als nameDE (camelCase). Der Exporter gibt jedoch name_de (snake_case) aus. Dies bricht den dokumentierten Vertrag und führt zu Problemen, sobald die Website-Integration (laut PR-Zielen als Follow-up geplant) nameDE erwartet.

🔧 Vorgeschlagene Anpassung an die API-Spezifikation
-        name_de: roleIdToNameDe(roleId),
+        nameDE: roleIdToNameDe(roleId),
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
name_de: roleIdToNameDe(roleId),
nameDE: roleIdToNameDe(roleId),
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/extract-metadata.js` at line 206, The exported metadata key for the
German role name is using the wrong naming convention, causing a mismatch with
the documented API contract. Update the field in the exporter logic around
roleIdToNameDe so it emits the camelCase key nameDE instead of name_de, and keep
the rest of the role metadata shape unchanged to match the API specification and
downstream consumers.

@rdmueller
rdmueller merged commit a50c446 into LLM-Coding:main Jul 9, 2026
8 checks passed
@rdmueller

Copy link
Copy Markdown
Member

thanx!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants