Skip to content

docs: add Lehman classification as LLM failure mode#21

Merged
rdmueller merged 2 commits into
LLM-Coding:mainfrom
raifdmueller:docs/lehman-classification
Apr 15, 2026
Merged

docs: add Lehman classification as LLM failure mode#21
rdmueller merged 2 commits into
LLM-Coding:mainfrom
raifdmueller:docs/lehman-classification

Conversation

@raifdmueller
Copy link
Copy Markdown
Contributor

@raifdmueller raifdmueller commented Apr 15, 2026

Summary

  • Adds a fourth failure mode to the "LLM-specific failure modes" documentation section
  • Introduces Lehman's S/P/E classification (1980) and the Laws of Software Evolution
  • Explains why E-type systems (embedded, evolving — banking, SaaS, agents) suffer from accelerated decay with LLM-generated code: LLMs have no persistent memory of project history
  • Provides a rule of thumb: the more E-type a system, the more review budget and refactoring capacity to plan for
  • Links to Lehman's laws (Wikipedia)

Test plan

  • Build passes (npm run build) ✅
  • Open the documentation sidebar in the app, navigate to "LLM-specific failure modes"
  • Verify the new paragraph renders with proper AsciiDoc formatting (italic title, link to Wikipedia)
  • Switch language DE/EN, verify both translations render

Closes #19

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Expanded documentation on LLM-specific failure modes with German and English translations
    • Introduced new section on Accelerated Lehman Decay, detailing how AI-generated code affects long-term system complexity and quality decline due to limited project history retention
    • Improved formatting consistency in failure mode descriptions

Extends the 'LLM-specific failure modes' section with Lehman's
S/P/E classification and the Laws of Software Evolution.
E-type systems (embedded in the world, must evolve) suffer from
accelerated Lehman decay when LLM-generated, because LLMs have
no persistent memory of project history.

Closes LLM-Coding#19

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 15, 2026

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2ca200d4-245b-4a44-9ba7-2eb8bab1727b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The change adds documentation about Lehman's software classification and laws of software evolution to the i18n file, specifically updating the "LLM-Specific Failure Modes" section in both German and English locales. A new bullet point addressing "Accelerated Lehman Decay" is introduced, explaining how AI-generated code may accelerate quality decline in E-type systems due to lack of persistent project-history memory.

Changes

Cohort / File(s) Summary
Localization Content Updates
src/i18n.js
Updated German and English "LLM-spezifische Fehlerarten" strings: removed trailing backtick from Automation Complacency bullet and appended new bullet on Accelerated Lehman Decay with explanatory text about E-/P-/S-type systems and software evolution laws.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Code decays, oh Lehman knew it true,
E-types struggle when AI's through,
No memory of yesterday's design,
Complexity grows, each rabbit line,
So plan your reviews—let quality shine! 🌙✨

🚥 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 The PR title 'docs: add Lehman classification as LLM failure mode' accurately and concisely summarizes the main change: adding Lehman's classification as documentation to the LLM failure modes section.
Linked Issues check ✅ Passed The PR fulfills all primary coding requirements from issue #19: introduces Lehman's classification in the LLM-specific failure modes section with DE/EN translations in src/i18n.js, explains E-type system risk from LLM code lacking persistent memory, and provides the core guidance.
Out of Scope Changes check ✅ Passed All changes are in-scope: only src/i18n.js is modified to add the Lehman classification content as required, with no extraneous modifications to other files or unrelated features.
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.

- picomatch: method injection + ReDoS
- vite: path traversal in optimized deps, arbitrary file read via WS
- yaml: stack overflow via deeply nested collections

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@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: 1

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

Inline comments:
In `@src/i18n.js`:
- Around line 307-308: Update the Lehman terminology capitalization in the
translation strings: change "*S-Type*", "*P-Type*", "*E-Type*" to "*S-type*",
"*P-type*", "*E-type*" and change "*Continuing Change*", "*Increasing
Complexity*", "*Declining Quality*" to lowercase "*continuing change*",
"*increasing complexity*", "*declining quality*" so German and English variants
use the same lowercase convention; locate and edit the German string starting
with "Beschleunigter Lehman-Decay" and the corresponding English translation
entries in the i18n strings (the Lehman-law sentence blocks) to make these
replacements consistently.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: f537214a-d747-4927-b5d1-b3834f3fa86a

📥 Commits

Reviewing files that changed from the base of the PR and between b5fd91d and 72568e7.

📒 Files selected for processing (1)
  • src/i18n.js

Comment thread src/i18n.js
Comment on lines +307 to 308
*Beschleunigter Lehman-Decay* — https://en.wikipedia.org/wiki/Lehman%27s_laws_of_software_evolution[Lehmans Gesetze (1980)] unterscheiden *S-Type* (formal spezifiziert, geschlossen), *P-Type* (Problemlösung mit Näherungs-Spec) und *E-Type* (in die Welt eingebettet, muss mitevolvieren — Banking, SaaS, Agenten). E-Type-Systeme unterliegen *Continuing Change*, *Increasing Complexity* und *Declining Quality*. AI-generierter Code beschleunigt diese Zerfallsdynamik, weil LLMs kein persistentes Gedächtnis der Projekthistorie haben — sie können nicht "mit dem Code altern". Bei S-Type-Code (Algorithmen, reine Utility-Funktionen) ist das Risiko gering. Faustregel: Je E-typischer das System, desto mehr Review-Budget und Refactoring-Kapazität einplanen.`,
},
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify if German Wikipedia page exists for Lehman's laws

echo "Checking if German Wikipedia article exists for Lehman's laws..."
curl -s -o /dev/null -w "%{http_code}" "https://de.wikipedia.org/wiki/Lehmans_Gesetze_der_Softwareentwicklung"
echo ""
curl -s -o /dev/null -w "%{http_code}" "https://de.wikipedia.org/wiki/Lehman-Gesetze"
echo ""

echo "Checking English Wikipedia article (currently linked)..."
curl -s -o /dev/null -w "%{http_code}" "https://en.wikipedia.org/wiki/Lehman%27s_laws_of_software_evolution"

Repository: LLM-Coding/vibe-coding-risk-radar

Length of output: 210


🏁 Script executed:

#!/bin/bash
# Check the actual content at lines 307-308 and 671-672 in src/i18n.js

echo "=== German version (lines 307-308) ==="
sed -n '305,310p' src/i18n.js

echo ""
echo "=== English version (lines 671-672) ==="
sed -n '669,674p' src/i18n.js

Repository: LLM-Coding/vibe-coding-risk-radar

Length of output: 2408


Fix capitalization inconsistencies between German and English versions

The German and English translations use inconsistent capitalization for Lehman's law terminology:

  1. Type terminology: German uses "S-Type", "P-Type", "E-Type" (uppercase 'T') while English uses "S-type", "P-type", "E-type" (lowercase 't').

  2. Law names: German uses "Continuing Change", "Increasing Complexity", "Declining Quality" (title case) while English uses "continuing change", "increasing complexity", "declining quality" (lowercase).

Align both versions to lowercase convention ("S-type", "continuing change", etc.) to match standard software engineering literature and Lehman's original terminology.

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

In `@src/i18n.js` around lines 307 - 308, Update the Lehman terminology
capitalization in the translation strings: change "*S-Type*", "*P-Type*",
"*E-Type*" to "*S-type*", "*P-type*", "*E-type*" and change "*Continuing
Change*", "*Increasing Complexity*", "*Declining Quality*" to lowercase
"*continuing change*", "*increasing complexity*", "*declining quality*" so
German and English variants use the same lowercase convention; locate and edit
the German string starting with "Beschleunigter Lehman-Decay" and the
corresponding English translation entries in the i18n strings (the Lehman-law
sentence blocks) to make these replacements consistently.

@rdmueller rdmueller merged commit bc76722 into LLM-Coding:main Apr 15, 2026
4 of 5 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.

Docs: Lehmans Klassifikation als konzeptionelle Linse ergänzen

2 participants