Skip to content

feat: add Lehman's Software Classification anchor (#436)#437

Merged
rdmueller merged 1 commit into
LLM-Coding:mainfrom
raifdmueller:add-lehmans-classification
Apr 15, 2026
Merged

feat: add Lehman's Software Classification anchor (#436)#437
rdmueller merged 1 commit into
LLM-Coding:mainfrom
raifdmueller:add-lehmans-classification

Conversation

@raifdmueller

@raifdmueller raifdmueller commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Closes #436

Summary

Adds Lehman's Software Classification (S-/P-/E-type) as a new semantic anchor in software-architecture.

Lehman's 1980 classification distinguishes three software types by their relationship to the real world:

  • S-type — formally specifiable, provable against spec (e.g. sorting)
  • P-type — approximates a real problem, must be validated against reality (e.g. chess engine)
  • E-type — embedded in the world, changes the world through use, requirements drift by nature (most business software)

From this Lehman derived his Laws of Software Evolution (Continuing Change, Increasing Complexity, etc.), which explain why "finished" E-type software still requires continuous maintenance.

Proposed by Ralf D. Müller.

Changes

  • docs/anchors/lehmans-classification.adoc + .de.adoc
  • docs/changelog.adoc — new 2026-04-15 entry
  • skill/semantic-anchor-translator/references/catalog.md — AgentSkill catalog entry under Software Architecture
  • website/public/data/*.json — regenerated metadata (136 anchors total)

Test plan

  • AsciiDoc linter passes
  • Metadata extraction succeeds
  • CI green (lint + E2E + Lighthouse)

Summary by CodeRabbit

  • Dokumentation
    • Neue Dokumentation zu Lehmans Software-Klassifikation hinzugefügt, die S-Type-, P-Type- und E-Type-Software sowie Lehmans Gesetze der Softwareevolution beschreibt.
    • Neue Rolle „Requirements Engineer" eingeführt und mehrere bestehende Rollen aktualisiert.
    • Katalog und Metadaten aktualisiert, um die neue Klassifikation zu reflektieren.

S-/P-/E-type taxonomy and Laws of Software Evolution —
established academic framework for reasoning about software's
relationship to the real world and why E-type systems require
continuous maintenance.

Proposed by Ralf D. Müller.
@coderabbitai

coderabbitai Bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: c076b658-eacc-43ac-88b2-896ad82e025c

📥 Commits

Reviewing files that changed from the base of the PR and between e4aa952 and d96a997.

📒 Files selected for processing (8)
  • docs/anchors/lehmans-classification.adoc
  • docs/anchors/lehmans-classification.de.adoc
  • docs/changelog.adoc
  • skill/semantic-anchor-translator/references/catalog.md
  • website/public/data/anchors.json
  • website/public/data/categories.json
  • website/public/data/metadata.json
  • website/public/data/roles.json

Walkthrough

Dieses PR führt einen neuen semantischen Anker „Lehman's Software Classification" ein, der Meir M. Lehmans Klassifizierung von Software in S-Type, P-Type und E-Type sowie seine Gesetze der Softwareevolution dokumentiert. Die Änderungen umfassen neue AsciiDoc-Dokumentationen, Katalogeinträge und Updates der Metadaten-Infrastruktur.

Changes

Cohort / File(s) Zusammenfassung
Dokumentations-Anker
docs/anchors/lehmans-classification.adoc, docs/anchors/lehmans-classification.de.adoc
Neue AsciiDoc-Dokumentationen für Lehman's Software-Klassifizierung mit Definitionen der S-/P-/E-Type-Kategorien, den acht Gesetzen der Softwareevolution und Verweisen auf verwandte Anker (arc42, Cohesion Criteria) in englischer und deutscher Sprache.
Changelog und Katalog
docs/changelog.adoc, skill/semantic-anchor-translator/references/catalog.md
Changelog-Eintrag für die neue Lehman's Classification und Katalogbeschreibung mit Aliassen, Proponent und Überblick über die SPE-Taxonomie und deren Beziehung zu Software-Evolution.
Metadaten-Registrierung
website/public/data/anchors.json, website/public/data/categories.json
Registrierung des neuen Ankers mit Metadaten (Titel, Kategorien, Rollen, verwandte Anker, Proponenten, Tags, Tier) und Hinzufügung zu der Kategorie „software-architecture".
Rollen- und Statistik-Updates
website/public/data/roles.json, website/public/data/metadata.json
Neue Rolle „Requirements Engineer" eingeführt und lehmans-classification zu bestehenden Rollen (Consultant/Coach, Educator/Trainer, Software Architect, Team Lead) hinzugefügt; Metadaten-Statistiken aktualisiert (Ankeranzahl: 130→131, Rollen: 12→13).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • PR #209: Modifiziert die gleichen Metadaten-Infrastrukturdateien (anchors.json, categories.json, metadata.json, roles.json) zum Hinzufügen neuer Anker-Einträge.
  • PR #408: Aktualisiert die semantische Anker-Katalogdatei (skill/semantic-anchor-translator/references/catalog.md) durch neue Anker-Einträge.
  • PR #137: Fügt ebenfalls neue semantische Anker hinzu und modifiziert die gleiche Katalogdatei.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Der PR-Titel ist präzise und beschreibt die Hauptänderung deutlich: Hinzufügung von Lehmans Software-Klassifikation als neuer semantischer Anker mit Referenz zur Issue #436.
Linked Issues check ✅ Passed Alle Anforderungen aus Issue #436 sind vollständig implementiert: Die drei Softwaretypen (S-, P-, E-type) sind dokumentiert, Lehmans Gesetze der Softwareevolution sind aufgeführt, und alle geforderten Metadaten (Kategorie, Rollen, Tags, Proponent) sind korrekt gesetzt.
Out of Scope Changes check ✅ Passed Alle Änderungen sind direkt auf die Anforderung aus Issue #436 bezogen. Die Hinzufügung einer neuen Rolle (requirements-engineer) ist eine notwendige Ergänzung zur vollständigen Metadatenverwaltung und nicht out-of-scope.
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

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.

@rdmueller rdmueller merged commit 10d889e into LLM-Coding:main Apr 15, 2026
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.

New anchor proposal: Lehman's Software Classification (S-/P-/E-type)

2 participants