Skip to content

feat: assign tiers to new anchors and regenerate all metadata#209

Merged
rdmueller merged 1 commit intoLLM-Coding:mainfrom
raifdmueller:feat/tier-assignments-and-metadata
Mar 17, 2026
Merged

feat: assign tiers to new anchors and regenerate all metadata#209
rdmueller merged 1 commit intoLLM-Coding:mainfrom
raifdmueller:feat/tier-assignments-and-metadata

Conversation

@raifdmueller
Copy link
Contributor

@raifdmueller raifdmueller commented Mar 17, 2026

Summary

Assigns tiers to all newly added anchors and regenerates stale metadata files.

Tier assignments

Anchor Tier Rationale
Definition of Done ★★☆ Well-known Scrum concept, consistent activation, but essentially a checklist
Fagan Inspection ★★☆ Formal methodology with phases, roles, metrics — solid depth but specialized
INVEST ★★☆ Well-known mnemonic with clear criteria, but straightforward checklist
PRD ★★☆ Established document format with clear structure, but template-level depth
GitHub Flow ★☆☆ Simple workflow (branch, PR, merge, deploy) — shallow activation

STRIDE and LINDDUN already have :tier: 3 — may warrant reconsideration in a separate PR.

Regenerated files

File Before After
metadata.json 98 anchors 104 anchors
categories.json 100 anchors 104 anchors
sitemap.xml 55 anchors 104 anchors
llms.txt 74 anchors 105 anchors
all-anchors.adoc stale current

Test plan

  • All anchor cards show correct tier badges
  • sitemap.xml lists all 104 anchors
  • llms.txt contains all anchors

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • Documentation

    • Neue Dokumentationsinhalte hinzugefügt: Definition of Done, Fagan-Inspektion, GitHub Flow, Requirements Engineering (INVEST, PRD), Design Patterns und Sicherheitsmuster.
    • Dokumentation strukturiert und reorganisiert für verbesserte Navigation.
    • Kategorisierung und Metadaten optimiert.
  • Chores

    • Interne Datenstrukturen und Verzeichnis aktualisiert.

@coderabbitai
Copy link

coderabbitai bot commented Mar 17, 2026

Warning

Rate limit exceeded

@raifdmueller has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 19 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 1093c226-dc67-4612-a327-890758152bd6

📥 Commits

Reviewing files that changed from the base of the PR and between b0fd102 and 76283b6.

📒 Files selected for processing (16)
  • docs/all-anchors.adoc
  • docs/anchors/definition-of-done.adoc
  • docs/anchors/definition-of-done.de.adoc
  • docs/anchors/fagan-inspection.adoc
  • docs/anchors/fagan-inspection.de.adoc
  • docs/anchors/github-flow.adoc
  • docs/anchors/github-flow.de.adoc
  • docs/anchors/invest.adoc
  • docs/anchors/prd.adoc
  • docs/anchors/prd.de.adoc
  • website/public/data/anchors.json
  • website/public/data/categories.json
  • website/public/data/metadata.json
  • website/public/data/roles.json
  • website/public/llms.txt
  • website/public/sitemap.xml

Überblick

Das Pull Request reorganisiert die Dokumentationsanker umfassend, fügt neue Anker in mehreren Kategorien hinzu (z. B. GoF-Muster, SOLID-Prinzipien, Test-Doubles), aktualisiert Metadaten mit Tier-Feldern und synchronisiert alle generierten Website-Dateien (JSON und Sitemap).

Änderungen

Kohort / Datei(en) Zusammenfassung
Dokumentationsanker-Reorganisation
docs/all-anchors.adoc
Umfassende Neuorganisation mit Austausch von Referenzen (z. B. chatham-house-rule → gutes-deutsch-wolf-schneider), Hinzufügen mehrerer neuer Anker (GOF-Muster, SOLID-Prinzipien, Test-Doubles, github-flow, definition-of-done) und Entfernen veralteter Einträge (dry-principle, rubber-duck-debugging).
Neue Tier-Metadaten
docs/anchors/definition-of-done.adoc, docs/anchors/definition-of-done.de.adoc, docs/anchors/fagan-inspection.adoc, docs/anchors/fagan-inspection.de.adoc, docs/anchors/github-flow.adoc, docs/anchors/github-flow.de.adoc, docs/anchors/invest.adoc, docs/anchors/prd.adoc, docs/anchors/prd.de.adoc
Konsistente Ergänzung um Tier-Metadatenfeld (tier: 2 oder 3) in Dokumentkopfzeilen ohne Inhaltsänderungen.
Website-Datengenerierung
website/public/data/anchors.json
Ergänzung von Tier-Feldern zu zahlreichen Einträgen, Korrektur von Diakritika und Typografie in Titeln, Neuanordnung von Einträgen und Aktualisierung von Proponentennamen-Schreibweisen.
Website-Kategorie-Updates
website/public/data/categories.json
Hinzufügen von vier neuen Anker-Referenzen: definition-of-done und github-flow zu Development Workflow, fagan-inspection und stride zu Testing & Quality Practices.
Website-Metadaten und Rollen
website/public/data/metadata.json, website/public/data/roles.json
Aktualisierung von Generierungszeitstempel und Statistiken (98 → 104 Anker); Einfügen von Anker-Assoziationen in mehreren Rollen (Business Analyst, Product Owner, QA Engineer, etc.).
Sitemap-Aktualisierung
website/public/sitemap.xml
Änderung von lastmod-Zeitstempeln und großflächiges Hinzufügen neuer Anker-Einträge mit korrigierten Anker-IDs und aktualisierten Metadaten.

Geschätzter Code-Review-Aufwand

🎯 3 (Moderat) | ⏱️ ~25 Minuten

Möglicherweise verwandte Pull Requests

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Der Titel beschreibt genau die Hauptveränderungen des Pull Request: Zuweisung von Tiers zu neuen Anchors und Regenerierung aller Metadaten-Dateien.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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 and usage tips.

Tier assignments (all ★★★ self-standing):
- Definition of Done: tier 3 — "apply a Definition of Done" works standalone
- Fagan Inspection: tier 3 — "conduct a Fagan Inspection" works standalone
- INVEST: tier 3 — "follow INVEST criteria" works standalone
- PRD: tier 3 — "write a PRD" works standalone
- GitHub Flow: tier 3 — "use GitHub Flow" works standalone

Regenerated files:
- metadata.json (98 → 104 anchors)
- categories.json (100 → 104 anchors)
- sitemap.xml (55 → 104 anchors)
- llms.txt (74 → 105 anchors)
- all-anchors.adoc

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@raifdmueller raifdmueller force-pushed the feat/tier-assignments-and-metadata branch from b0fd102 to 76283b6 Compare March 17, 2026 19:54
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/all-anchors.adoc`:
- Around line 104-107: Die neuen Anchors definition-of-done, fagan-inspection,
github-flow, invest und prd wurden in docs/all-anchors.adoc aufgenommen but are
missing from the AgentSkill catalog; update
skill/semantic-anchor-translator/references/catalog.md by adding entries for
each of these anchors following the existing catalog entry format (same
heading/ID, anchor name, short description and any tags/aliases used elsewhere)
so the semantic-anchor-translator can recognize and suggest them (verify
formatting matches other entries in catalog.md).

In `@docs/anchors/github-flow.de.adoc`:
- Line 7: The document shows a mismatch between the PR description "GitHub Flow
— ★☆☆ — Simple workflow (branch, PR, merge, deploy); shallow activation" and the
front-matter setting :tier: 3; update the front-matter to match the description
by changing the token ":tier: 3" to ":tier: 1" (or alternatively, if you intend
a Tier 3 workflow, adjust the PR description/stars to ★★★ and the accompanying
rationale); ensure the change is applied to the line containing the :tier: value
so the star-rating and tier are consistent.

In `@docs/anchors/prd.de.adoc`:
- Line 7: Das Skript scripts/extract-metadata.js parst das :tier:-Attribut ohne
Validierung; fügen Sie unmittelbar nach der Stelle, an der der raw tier-Wert
geparst wird (die Variable/Bezeichnung "tier" bzw. "parsedTier" im Skript) eine
Prüfung ein, die sicherstellt, dass der Wert eine ganze Zahl und einer der
erlaubten Werte 1, 2 oder 3 ist; bei ungültigem Wert werfen Sie eine klare
Error-Exception oder loggen mit processLogger/error und brechen den Lauf (oder
lassen den PR-Fail sichtbar), damit fehlerhafte tier-Angaben (z. B. 0, -1, 99,
non-int) nicht stillschweigend akzeptiert werden.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 6e73f062-dbeb-4f89-a985-6d6c4742d9f3

📥 Commits

Reviewing files that changed from the base of the PR and between d1b5d81 and b0fd102.

📒 Files selected for processing (16)
  • docs/all-anchors.adoc
  • docs/anchors/definition-of-done.adoc
  • docs/anchors/definition-of-done.de.adoc
  • docs/anchors/fagan-inspection.adoc
  • docs/anchors/fagan-inspection.de.adoc
  • docs/anchors/github-flow.adoc
  • docs/anchors/github-flow.de.adoc
  • docs/anchors/invest.adoc
  • docs/anchors/prd.adoc
  • docs/anchors/prd.de.adoc
  • website/public/data/anchors.json
  • website/public/data/categories.json
  • website/public/data/metadata.json
  • website/public/data/roles.json
  • website/public/llms.txt
  • website/public/sitemap.xml

Comment on lines +104 to +107
include::anchors/definition-of-done.adoc[leveloffset=+2]

include::anchors/github-flow.adoc[leveloffset=+2]

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

CATALOG="skill/semantic-anchor-translator/references/catalog.md"

if [ ! -f "$CATALOG" ]; then
  echo "Datei fehlt: $CATALOG"
  exit 1
fi

missing=0
for id in definition-of-done fagan-inspection github-flow invest prd; do
  if ! rg -n --fixed-strings "$id" "$CATALOG" >/dev/null; then
    echo "Fehlt im Katalog: $id"
    missing=1
  fi
done

if [ "$missing" -eq 0 ]; then
  echo "Alle erwarteten Anchors sind im Katalog vorhanden."
fi

Repository: LLM-Coding/Semantic-Anchors

Length of output: 219


Semantic-Anchor-Katalog für neue Anchors aktualisieren erforderlich.

Die neuen Anchors (definition-of-done, fagan-inspection, github-flow, invest, prd) wurden in docs/all-anchors.adoc erfasst, sind aber nicht in der AgentSkill-Katalogdatei skill/semantic-anchor-translator/references/catalog.md enthalten. Dies verhindert, dass AI-Agenten diese Anchors zuverlässig erkennen und vorschlagen können. Bitte aktualisieren Sie den Katalog entsprechend.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/all-anchors.adoc` around lines 104 - 107, Die neuen Anchors
definition-of-done, fagan-inspection, github-flow, invest und prd wurden in
docs/all-anchors.adoc aufgenommen but are missing from the AgentSkill catalog;
update skill/semantic-anchor-translator/references/catalog.md by adding entries
for each of these anchors following the existing catalog entry format (same
heading/ID, anchor name, short description and any tags/aliases used elsewhere)
so the semantic-anchor-translator can recognize and suggest them (verify
formatting matches other entries in catalog.md).

:related: conventional-commits, semantic-versioning
:proponents: Scott Chacon
:tags: git, branching, pull-request, continuous-delivery, workflow, feature-branch, code-review, main-branch
:tier: 3
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Inkonsistenz zwischen PR-Beschreibung und Code!

Die PR-Beschreibung gibt "GitHub Flow — ★☆☆ — Simple workflow (branch, PR, merge, deploy); shallow activation" an, was auf Tier 1 hindeutet, aber der Code implementiert :tier: 3.

Sternbewertung vs. Tier:

  • ★☆☆ (1 Stern) = Tier 1 (flach/einfach)
  • ★★☆ (2 Sterne) = Tier 2 (moderat)
  • ★★★ (3 Sterne) = Tier 3 (tief/komplex)

Die Begründung "shallow activation" und "simple workflow" sprechen klar für Tier 1, nicht Tier 3.

🔧 Vorgeschlagene Korrektur
-:tier: 3
+:tier: 1
📝 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
:tier: 3
:tier: 1
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/anchors/github-flow.de.adoc` at line 7, The document shows a mismatch
between the PR description "GitHub Flow — ★☆☆ — Simple workflow (branch, PR,
merge, deploy); shallow activation" and the front-matter setting :tier: 3;
update the front-matter to match the description by changing the token ":tier:
3" to ":tier: 1" (or alternatively, if you intend a Tier 3 workflow, adjust the
PR description/stars to ★★★ and the accompanying rationale); ensure the change
is applied to the line containing the :tier: value so the star-rating and tier
are consistent.

:related: moscow, user-story-mapping, impact-mapping, ears-requirements
:proponents: Marty Cagan, Roman Pichler
:tags: product, requirements, specification, planning, stakeholders
:tier: 2
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Beschreibung: Überprüfe die Tier-Validierung im Extraktionsskript.

echo "=== Aktueller Extraktionscode für tier ==="
rg -A 20 "tierAttr" scripts/extract-metadata.js

echo -e "\n=== Suche nach Validierung oder Constraints ==="
rg -i "tier.*valid|tier.*range|tier.*enum|tier.*1.*3" scripts/extract-metadata.js

echo -e "\n=== Alle aktuellen Tier-Werte in Anchors ==="
fd -e adoc -x rg "^:tier:" {} \; docs/anchors/

Repository: LLM-Coding/Semantic-Anchors

Length of output: 1169


🏁 Script executed:

#!/bin/bash
echo "=== Alle aktuellen Tier-Werte in Anchors ==="
find docs/anchors -name "*.adoc" -exec grep -H "^:tier:" {} \;

echo -e "\n=== Häufigkeitsverteilung der Tier-Werte ==="
find docs/anchors -name "*.adoc" -exec grep "^:tier:" {} \; | sort | uniq -c

echo -e "\n=== Nächster Kontext nach :tier: in allen Dateien ==="
find docs/anchors -name "*.adoc" -exec grep -A 1 "^:tier:" {} + | head -40

Repository: LLM-Coding/Semantic-Anchors

Length of output: 7555


🏁 Script executed:

#!/bin/bash
echo "=== Template für Tier-Definition ==="
cat -n docs/anchors/_template.adoc | head -30

echo -e "\n=== Suche nach Tier-Dokumentation ==="
rg -i "tier.*1.*2.*3|tier.*simple|tier.*moderate|tier.*complex|tier.*\*" docs/ --type adoc -B 2 -A 2

echo -e "\n=== README oder Dokumentation zu Tiers ==="
find docs -name "README*" -o -name "*tier*" -o -name "*guide*" | head -10
cat -n README.md 2>/dev/null | head -50

Repository: LLM-Coding/Semantic-Anchors

Length of output: 3645


🏁 Script executed:

#!/bin/bash
echo "=== Gesamte Validierungssektion in extract-metadata.js ==="
rg -B 30 -A 5 "const errors = \[\]" scripts/extract-metadata.js

echo -e "\n=== Dateistruktur extract-metadata.js ==="
wc -l scripts/extract-metadata.js

Repository: LLM-Coding/Semantic-Anchors

Length of output: 2221


Tier-Validierung im Extraktionsskript hinzufügen

Das Skript scripts/extract-metadata.js parst den :tier:-Attributwert ohne Validierung. Jeder ganzzahlige Wert wird akzeptiert. Ungültige Tier-Werte (z.B. tier: 99, tier: -1, tier: 0) würden ohne Fehlermeldung durchgelassen.

Die Codebase verwendet konsistent Tier-Werte zwischen 1 und 3 (Häufigkeitsverteilung: 21× tier:1, 11× tier:2, 105× tier:3). Dies zeigt eine etablierte Constraint, die technisch aber nicht erzwungen wird.

Fügen Sie nach Zeile 91 in scripts/extract-metadata.js Validierung hinzu:

Validierungscode
 const tierAttr = attributes.tier
-  if (tierAttr) anchor.tier = parseInt(tierAttr, 10)
+  if (tierAttr) {
+    const tier = parseInt(tierAttr, 10)
+    if (tier < 1 || tier > 3) {
+      errors.push(`Invalid :tier: value ${tier}. Must be 1, 2, or 3`)
+    } else {
+      anchor.tier = tier
+    }
+  }

Hinweis: Die Semantik der Tier-Werte (1, 2, 3) ist nicht dokumentiert. Diese sollte im Template (docs/anchors/_template.adoc) oder in der README.md definiert werden.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/anchors/prd.de.adoc` at line 7, Das Skript scripts/extract-metadata.js
parst das :tier:-Attribut ohne Validierung; fügen Sie unmittelbar nach der
Stelle, an der der raw tier-Wert geparst wird (die Variable/Bezeichnung "tier"
bzw. "parsedTier" im Skript) eine Prüfung ein, die sicherstellt, dass der Wert
eine ganze Zahl und einer der erlaubten Werte 1, 2 oder 3 ist; bei ungültigem
Wert werfen Sie eine klare Error-Exception oder loggen mit processLogger/error
und brechen den Lauf (oder lassen den PR-Fail sichtbar), damit fehlerhafte
tier-Angaben (z. B. 0, -1, 99, non-int) nicht stillschweigend akzeptiert werden.

@rdmueller rdmueller merged commit f8029c0 into LLM-Coding:main Mar 17, 2026
7 of 8 checks passed
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