feat: add role descriptions for all 15 roles (EN + DE) - #691
Conversation
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
WalkthroughDiese 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 ChangesRollendokumentation
Estimated code review effort: 2 (Simple) | ~12 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
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
|
Note: Website integration (role filter rendering with |
There was a problem hiding this comment.
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
📒 Files selected for processing (30)
docs/roles/business-analyst.adocdocs/roles/business-analyst.de.adocdocs/roles/consultant.adocdocs/roles/consultant.de.adocdocs/roles/data-protection-officer.adocdocs/roles/data-protection-officer.de.adocdocs/roles/data-scientist.adocdocs/roles/data-scientist.de.adocdocs/roles/devops-engineer.adocdocs/roles/devops-engineer.de.adocdocs/roles/educator.adocdocs/roles/educator.de.adocdocs/roles/ethics-officer.adocdocs/roles/ethics-officer.de.adocdocs/roles/legal-compliance.adocdocs/roles/legal-compliance.de.adocdocs/roles/product-owner.adocdocs/roles/product-owner.de.adocdocs/roles/qa-engineer.adocdocs/roles/qa-engineer.de.adocdocs/roles/software-architect.adocdocs/roles/software-architect.de.adocdocs/roles/software-developer.adocdocs/roles/software-developer.de.adocdocs/roles/team-lead.adocdocs/roles/team-lead.de.adocdocs/roles/technical-writer.adocdocs/roles/technical-writer.de.adocdocs/roles/ux-designer.adocdocs/roles/ux-designer.de.adoc
| 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) |
There was a problem hiding this comment.
📐 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.
| 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
| 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 |
There was a problem hiding this comment.
📐 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 — SyndikusrechtsanwaltAs 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.
| 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 |
There was a problem hiding this comment.
📐 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 || trueRepository: 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
| = QA-Engineer / Tester | ||
| :id: qa-engineer | ||
| :name-en: QA Engineer / Tester |
There was a problem hiding this comment.
📐 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.adocRepository: 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 || trueRepository: 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"
doneRepository: 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. |
There was a problem hiding this comment.
📐 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
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
scripts/extract-metadata.js (1)
270-299: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winDRY-Verletzung: Fallback-Logik dupliziert mit
roleIdToName.Die Fallback-Logik (
id.split('-').map(...)) ist identisch mitroleIdToName(Zeilen 261-267). Extrahieren Sie eine gemeinsame Hilfsfunktion, um Wartbarkeit zu verbessern und künftige Abweichungen zu vermeiden.Zusätzlich:
roleIdToNameDeenthält 15 Rollen,roleIdToNamejedoch 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
📒 Files selected for processing (1)
scripts/extract-metadata.js
| roleMap.set(roleId, { | ||
| id: roleId, | ||
| name: roleIdToName(roleId), | ||
| name_de: roleIdToNameDe(roleId), |
There was a problem hiding this comment.
🗄️ 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.
| 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.
|
thanx! |
Summary
Adds
docs/roles/<role-id>.adocanddocs/roles/<role-id>.de.adocfor all 15 roles in the:roles:vocabulary, and extendsextract-metadata.jswith aroleIdToNameDe()mapping.Addresses open Question 5 from #542 and review feedback on #659 (point 4, @raifdmueller):
Changes
docs/roles/<role-id>.adoc+docs/roles/<role-id>.de.adocfor all 15 rolesscripts/extract-metadata.js: addedroleIdToNameDe()function +name_defield in generated role objectsRole overview
software-developersoftware-architectqa-engineerdevops-engineerproduct-ownerbusiness-analysttechnical-writerux-designerdata-scientistconsultantteam-leadeducatordata-protection-officerlegal-complianceethics-officerSources per role type
Not included (follow-up)
name_debased oni18n.currentLang()) — separate PRRelated