Skip to content

fix(contracts): specify the bundled <C4/...> stdlib include for C4 diagrams#501

Merged
rdmueller merged 1 commit into
LLM-Coding:mainfrom
raifdmueller:fix/architecture-c4-stdlib-include-500
May 17, 2026
Merged

fix(contracts): specify the bundled <C4/...> stdlib include for C4 diagrams#501
rdmueller merged 1 commit into
LLM-Coding:mainfrom
raifdmueller:fix/architecture-c4-stdlib-include-500

Conversation

@raifdmueller

@raifdmueller raifdmueller commented May 17, 2026

Copy link
Copy Markdown
Contributor

Closes #500.

Problem

The architecture-documentation contract said building blocks use C4 "with the C4-PlantUML standard library (local include …)". "Local include" was ambiguous — in the Contracts5 experiment run a recovery agent read it as vendor the C4-PlantUML files into the repo and emitted !include c4/C4_Container.puml pointing at copies it never committed, leaving unresolvable includes.

Three include forms exist; only one is intended:

Form Behaviour
!include https://.../C4_Container.puml remote fetch — Kroki cannot resolve, breaks offline
!include c4/C4_Container.puml vendored copies in the repo
!include <C4/C4_Container> PlantUML's bundled stdlib — no repo files, no network

Fix

The contract now names the !include <C4/...> stdlib form (angle brackets) explicitly and rules out both the remote URL and vendored copies. template + templateDe updated; llms.txt regenerated.

Test plan

  • npm run build succeeds; /contracts renders the updated card
  • llms.txt shows the new C4 wording

🤖 Generated with Claude Code

Summary by CodeRabbit

Releasenotes

  • Documentation
    • Verbesserte und präzisierte Dokumentationsrichtlinien für Architektur-Diagramme eingeführt
    • Klarere Anforderungen und Best-Practice-Vorgaben für die technische Dokumentationserstellung aktualisiert

Review Change Stack

…agrams

Closes LLM-Coding#500.

The architecture-documentation contract said building blocks use C4
"with the C4-PlantUML standard library (local include …)". "Local
include" was ambiguous: a recovery run read it as "vendor the
C4-PlantUML files into the repo" and emitted !include c4/C4_Container.puml
pointing at copies it never committed — unresolvable includes.

There are three include forms; only one is intended:
- !include https://...      — remote fetch, Kroki cannot resolve it
- !include c4/C4_Container.puml — vendored copies in the repo
- !include <C4/C4_Container> — PlantUML's bundled stdlib, no repo
  files, no network — this is the one

Contract now names the `!include <C4/...>` stdlib form (angle brackets)
explicitly and rules out both the remote URL and vendored copies.
template + templateDe updated; llms.txt regenerated.

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

coderabbitai Bot commented May 17, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: e2ebcbab-a88e-43a1-93f4-8eedb1b89329

📥 Commits

Reviewing files that changed from the base of the PR and between f328fc4 and 047914b.

📒 Files selected for processing (2)
  • website/public/data/contracts.json
  • website/public/llms.txt

Walkthrough

Die PR präzisiert die Architecture-Documentation-Anforderungen für PlantUML C4-Diagramme. Die bisherige Formulierung "local include" wird durch die explizite Spezifikation des bundled-stdlib-Formats !include <C4/...> mit Spitzenklammern ersetzt und es wird unmissverständlich klargemacht, dass weder Remote-URLs noch vendored Dateien verwendet werden dürfen.

Changes

Architecture Documentation Präzisierung

Layer / File(s) Zusammenfassung
C4-PlantUML bundled stdlib Include-Format
website/public/data/contracts.json, website/public/llms.txt
Die Anforderung zum C4-PlantUML-Include-Format wird von der ambigen "local include"-Formulierung zur expliziten Spezifikation !include <C4/...> (mit Spitzenklammern) geschärft; gleichzeitig werden Remote-URLs und vendored File Copies ausdrücklich ausgeschlossen. Die Änderung erfolgt konsistent in beiden dem Contract entsprechenden Dokumenten (JSON-Template und LLM-Richtlinien).

Geschätzter Aufwand

🎯 1 (Trivial) | ⏱️ ~3 Minuten

Möglicherweise verwandte PRs

  • LLM-Coding/Semantic-Anchors#488: Gleiche Präzisierung der C4-PlantUML bundled-stdlib-Anforderung mit explizitem !include <C4/...> Format in Architecture Documentation Contract und LLM-Text.
  • LLM-Coding/Semantic-Anchors#487: Umfassendere Überarbeitung des Architecture-Documentation-Contracts mit PlantUML/C4-Diagramm-Regeln in contracts.json und llms.txt.
  • LLM-Coding/Semantic-Anchors#485: Aktualisierung der Architecture-Documentation-Contract-Anforderungen für Diagramme und arc42/ADR-Struktur in beiden Dateien.
✨ 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 4368f7d into LLM-Coding:main May 17, 2026
5 of 6 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.

Architecture Documentation contract: "local include" for C4 is ambiguous — specify the bundled <C4/...> stdlib form

2 participants