Skip to content

Refactored "Cockburn Use Cases" to "Use Cases" #582

Closed
simasch wants to merge 1 commit into
LLM-Coding:mainfrom
simasch:main
Closed

Refactored "Cockburn Use Cases" to "Use Cases" #582
simasch wants to merge 1 commit into
LLM-Coding:mainfrom
simasch:main

Conversation

@simasch

@simasch simasch commented Jun 8, 2026

Copy link
Copy Markdown

Integrated Use Case version 3.0

Summary by CodeRabbit

  • Documentation
    • Use-Cases-Dokumentation erweitert und aktualisiert mit umfassenderer Abdeckung verschiedener Use-Case-Ansätze
    • Semantischer Anker-Katalog reorganisiert mit neuen Kategorisierungen
    • Workflow- und Spezifikationsdokumentationen entsprechend angepasst

….0/3.0 concepts, and updated associated references, anchors, and translations.
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Das PR migriert systematisch den spezifischen cockburn-use-cases-Anchor zu einem neuen, generalisierteren use-cases-Anchor, der Jacobson, Cockburn und Constantine berücksichtigt. Die Änderung umfasst neue Dokumentation, durchgehende Referenzaktualisierungen in Workflows und konsistente Datenbankaktualisierungen in der Website-Infrastruktur.

Changes

Use Cases Anchor Migration

Layer / File(s) Zusammenfassung
Generalisierter Use Cases Anchor
docs/anchors/use-cases.adoc, docs/anchors/use-cases.de.adoc, skill/semantic-anchor-translator/references/catalog.md
Neuer use-cases-Anchor ersetzt cockburn-use-cases mit breiterer Definiton (Jacobson Use-Case Slices, Cockburn formatiert, Constantine als Proponent), Metadaten und Referenzen auf verwandte Anchors (Gherkin, BDD Given/When/Then, EARS, arc42, ISO 25010).
Workflow-Dokumentation aktualisiert
docs/spec-driven-workflow.adoc, docs/spec-driven-workflow.de.adoc, docs/brownfield-workflow.adoc, docs/brownfield-workflow.de.adoc
Schritt 4a, 4b und Prompt-Cheat-Sheet-Verweise wechseln von cockburn-use-cases zu use-cases in allen Workflow-Dokumentationen (englisch und deutsch).
Website-Daten restrukturiert
website/public/data/anchors.json, website/public/data/categories.json, website/public/data/contracts.json, website/public/data/roles.json, website/public/data/metadata.json, website/public/sitemap.xml
JSON-Kataloge und Sitemap ersetzen cockburn-use-cases durch use-cases in Ankern, Kategorien (Requirements Engineering), Rollen (Business Analyst, Product Owner, Software Architect, Software Developer) und Verträgen; Zeitstempel aktualisiert.
Zentrale Anchor-Struktur erweitert
docs/all-anchors.adoc
cockburn-use-cases in Requirements Engineering entfernt, use-cases hinzugefügt; 16 neue/hinzugefügte Anchors in mehreren Kapiteln (Communication, Design Principles, Development, Meta, Problem Solving, Software Architecture, Strategic Planning) integriert und reorganisiert.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • LLM-Coding/Semantic-Anchors#572: Einführung des blooms-taxonomy-Anchors, der im Haupt-PR in docs/all-anchors.adoc neu hinzugefügt wird.
  • LLM-Coding/Semantic-Anchors#517: Einführung des systemic-consulting-Anchors, der im Haupt-PR in mehrere docs/all-anchors.adoc-Abschnitte neu integriert wird.
  • LLM-Coding/Semantic-Anchors#554: Einführung mehrerer neuer Anchors (cap-theorem, conways-law, fallacies-of-distributed-computing, law-of-demeter, postels-law, first-principles-thinking, goodharts-law), die im Haupt-PR in die zentrale docs/all-anchors.adoc-Struktur integriert werden.
🚥 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 Titel beschreibt klar die Umbenennung von Cockburn Use Cases zu Use Cases.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@website/public/sitemap.xml`:
- Around line 1324-1330: ANCHOR_ALIASES in
website/src/components/contracts-page.js contains a stale mapping
'cockburn-use-cases' that no longer exists in website/public/data/anchors.json
and is missing an alias for 'use-cases'; remove the 'cockburn-use-cases' key
from ANCHOR_ALIASES and add an entry mapping 'use-cases' to the appropriate
anchor label (e.g., ['Cockburn']) so that anchor lookups align with anchors.json
and links resolve correctly.
🪄 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: 76850e30-2f09-458b-8092-7379e4333e7e

📥 Commits

Reviewing files that changed from the base of the PR and between 3b6992c and 96f51ac.

📒 Files selected for processing (17)
  • docs/all-anchors.adoc
  • docs/anchors/cockburn-use-cases.adoc
  • docs/anchors/cockburn-use-cases.de.adoc
  • docs/anchors/use-cases.adoc
  • docs/anchors/use-cases.de.adoc
  • docs/brownfield-workflow.adoc
  • docs/brownfield-workflow.de.adoc
  • docs/spec-driven-workflow.adoc
  • docs/spec-driven-workflow.de.adoc
  • skill/semantic-anchor-translator/references/catalog.md
  • website/public/data/anchors.json
  • website/public/data/categories.json
  • website/public/data/contracts.json
  • website/public/data/metadata.json
  • website/public/data/roles.json
  • website/public/llms.txt
  • website/public/sitemap.xml
💤 Files with no reviewable changes (2)
  • docs/anchors/cockburn-use-cases.adoc
  • docs/anchors/cockburn-use-cases.de.adoc

Comment on lines +1324 to 1330
<!-- Anchor: Use Cases -->
<url>
<loc>https://llm-coding.github.io/Semantic-Anchors/anchor/use-cases</loc>
<lastmod>2026-06-08</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>

Copy link
Copy Markdown
Contributor

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
# Prüfe, ob cockburn-use-cases noch in anchors.json existiert
echo "=== Suche nach cockburn-use-cases in anchors.json ==="
jq '.[] | select(.id == "cockburn-use-cases") | .id' website/public/data/anchors.json

echo ""
echo "=== Alias-Mapping in contracts-page.js ==="
rg -n "cockburn-use-cases" website/src/components/contracts-page.js

echo ""
echo "=== Prüfe, ob 'use-cases' bereits in ANCHOR_ALIASES enthalten ist ==="
rg -n "'use-cases'" website/src/components/contracts-page.js

Repository: LLM-Coding/Semantic-Anchors

Length of output: 281


Alias-Migration für contracts-page.js ergänzen/bereinigen: website/public/data/anchors.json enthält keinen Eintrag mehr für cockburn-use-cases, aber website/src/components/contracts-page.js hat noch immer 'cockburn-use-cases': ['Cockburn']. Gleichzeitig ist in contracts-page.js kein Alias für 'use-cases' vorhanden. ⇒ ANCHOR_ALIASES entsprechend an anchors.json anpassen (stale Alias-Zuordnungen entfernen und use-cases ergänzen), damit Links nicht ins Leere führen.

🤖 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 `@website/public/sitemap.xml` around lines 1324 - 1330, ANCHOR_ALIASES in
website/src/components/contracts-page.js contains a stale mapping
'cockburn-use-cases' that no longer exists in website/public/data/anchors.json
and is missing an alias for 'use-cases'; remove the 'cockburn-use-cases' key
from ANCHOR_ALIASES and add an entry mapping 'use-cases' to the appropriate
anchor label (e.g., ['Cockburn']) so that anchor lookups align with anchors.json
and links resolve correctly.

@JensGrote JensGrote left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Review: PR #582 – Refactored "Cockburn Use Cases" to "Use Cases"

(German version below)

Appreciation

Thank you @simasch for this contribution! The historical correction regarding Jacobson as the inventor of use cases and the integration of Use-Case 2.0/3.0 (especially slices) is a valuable improvement to the catalog. We appreciate you taking the time to research this properly and bring the anchor up to date with current literature.

That said, we have a few process and scope concerns that we'd like to address before merging.

Quality Criteria Assessment

Criterion Old (Cockburn Use Cases) New (Use Cases) Verdict
Precise ✅ Clear: Cockburn's template ✅ Broader but still well-bounded: Jacobson + Cockburn + UC 2.0/3.0 OK
Rich ✅ Goal Levels, Fully Dressed, Actor-Goal List ✅✅ Additionally: Use-Case Slices, Origin/Evolution, UC 2.0/3.0, agile scaling Improved
Consistent ✅ Clear attribution of who contributed what OK
Attributable ✅ Cockburn 2001 ✅✅ Jacobson 1987/1992, Cockburn 2001, Spence/Bittner 2011, de Mendonca 2024 Improved

Content Assessment

Strengths:

  1. Historical correction – Jacobson correctly identified as the inventor of use cases (OOPSLA 1987). Cockburn appropriately positioned as the one who codified the writing template. The old anchor was misleading by listing Cockburn as sole proponent.
  2. Use-Case Slices – The central concept from UC 2.0/3.0 was completely missing in the old anchor. For agile teams this is the crucial bridge (slices → backlog items).
  3. Direct reference – Link to Jacobson/Spence/de Mendonca 2024 PDF provided.
  4. Extended "When to Use" – New entry about slicing for incremental delivery is highly practice-relevant.

Issues:

  1. ⚠️ Breaking change without alias handling – The ID changes from cockburn-use-casesuse-cases. As CodeRabbit correctly identified: ANCHOR_ALIASES in contracts-page.js still contains the old key. This breaks existing links and references.

  2. ⚠️ Scope creep – The all-anchors.adoc diff includes ~15 new anchor includes (aida-model, blooms-taxonomy, inverted-pyramid-style, dry, law-of-demeter, postels-law, site-reliability-engineering, systemic-consulting, luhmann-system-theory, simon-constructivism, first-principles-thinking, event-storming, conways-law, fallacies-of-distributed-computing, quality-attribute-scenario, goodharts-law, meaningful-human-control) plus the removal of the entire "Workflow" section. This is significantly more than a single-anchor refactoring – it is a catalog restructure. The PR title suggests only the Use Case rename.

  3. ⚠️ Regenerated llms.txt (+1304 lines) – The file was obviously fully regenerated. Unclear whether the new anchors (from point 2) are included or whether this is a rebase artifact. Makes review difficult because you cannot separate the intentional content diff from generated noise.

  4. ❌ No LLM Activation Test – CONTRIBUTING.md explicitly requires one. The anchor name changes to a more generic term – "Use Cases" alone may trigger UML diagram thinking or generic requirements lists rather than the rich Cockburn/Jacobson framework. A quick test would clarify whether "Use Cases" is precise enough as a standalone trigger.

  5. ⚠️ Regenerated sitemap.xml (+287/-207) – Also fully regenerated, likely because the ~15 new anchors produce new URLs. Confirms scope creep.

Process Assessment

Criterion Met?
Issue discussed first? ❌ No prior issue found
Conventional Commits? Not verified
PR title accurate? ⚠️ Understates actual scope
LLM Activation Test? ❌ Missing
Single Responsibility (1 PR = 1 change)? ❌ At least 2 topics mixed

Regarding the missing issue: Per CONTRIBUTING.md, changes to existing anchors should be proposed via the "📝 Improve Existing Anchor" issue template first. A rename from "Cockburn Use Cases" to "Use Cases" with significant content restructuring and a reattribution of the concept's origin is exactly the kind of change that benefits from community discussion before implementation. The question of whether "Use Cases" is a sufficiently precise trigger name (vs. "Cockburn Use Cases" or "Use Cases (Jacobson/Cockburn)") deserves its own deliberation.

Recommendation

Request Changes:

  1. Open an issue first to discuss the rename rationale and the precision question (is "Use Cases" alone rich enough or too generic as a trigger?).
  2. Split the PR: Use-Case refactoring (content is good!) as its own PR. Catalog reorganization (new includes, Workflow section removal) as a separate PR.
  3. Fix alias/redirect: cockburn-use-casesuse-cases in contracts-page.js.
  4. Add LLM Activation Test: Brief comparison of "Use Cases" vs. "Cockburn Use Cases" as trigger.
  5. Adjust PR title if not split.

Deutsche Version

Anerkennung

Vielen Dank @simasch für diese Contribution! Die historische Korrektur bezüglich Jacobson als Erfinder der Use Cases und die Integration von Use-Case 2.0/3.0 (insbesondere Slices) ist eine wertvolle Verbesserung des Katalogs. Wir schätzen es, dass du dir die Zeit genommen hast, das sauber zu recherchieren und den Anker auf den aktuellen Stand der Literatur zu bringen.

Allerdings haben wir einige Prozess- und Scope-Anmerkungen, die wir vor dem Merge klären möchten.

Bewertung nach Qualitätskriterien

Kriterium Alt (Cockburn Use Cases) Neu (Use Cases) Bewertung
Precise ✅ Klar: Cockburns Template ✅ Breiter aber weiterhin klar abgegrenzt: Jacobson + Cockburn + UC 2.0/3.0 OK
Rich ✅ Goal Levels, Fully Dressed, Actor-Goal List ✅✅ Zusätzlich: Use-Case Slices, Entstehungsgeschichte, UC 2.0/3.0, agiles Scaling Verbessert
Consistent ✅ Klare Zuordnung wer was beigetragen hat OK
Attributable ✅ Cockburn 2001 ✅✅ Jacobson 1987/1992, Cockburn 2001, Spence/Bittner 2011, de Mendonca 2024 Verbessert

Inhaltliche Bewertung

Stärken:

  1. Historische Korrektur – Jacobson korrekt als Erfinder der Use Cases identifiziert (OOPSLA 1987). Cockburn angemessen als derjenige positioniert, der das Schreibtemplate kodifiziert hat. Der alte Anker war irreführend, weil er Cockburn als einzigen Urheber nannte.
  2. Use-Case Slices – Das zentrale Konzept aus UC 2.0/3.0 fehlte im alten Anker komplett. Für agile Teams ist das die entscheidende Brücke (Slices → Backlog Items).
  3. Direkte Referenz – Link zum Jacobson/Spence/de Mendonca 2024 PDF vorhanden.
  4. Erweitertes "When to Use" – Neuer Punkt zum Slicing für inkrementelle Lieferung ist hochgradig praxisrelevant.

Probleme:

  1. ⚠️ Breaking Change ohne Alias-Handling – Die ID ändert sich von cockburn-use-casesuse-cases. Wie CodeRabbit korrekt erkannt hat: ANCHOR_ALIASES in contracts-page.js enthält noch den alten Key. Das bricht bestehende Links und Referenzen.

  2. ⚠️ Scope Creep – Das Diff von all-anchors.adoc enthält ~15 neue Anker-Includes (aida-model, blooms-taxonomy, inverted-pyramid-style, dry, law-of-demeter, postels-law, site-reliability-engineering, systemic-consulting, luhmann-system-theory, simon-constructivism, first-principles-thinking, event-storming, conways-law, fallacies-of-distributed-computing, quality-attribute-scenario, goodharts-law, meaningful-human-control) plus die Entfernung der gesamten "Workflow"-Sektion. Das ist deutlich mehr als ein Einzel-Anker-Refactoring – es ist ein Katalog-Umbau. Der PR-Titel suggeriert nur die Use-Case-Umbenennung.

  3. ⚠️ Vollständig neu generierte llms.txt (+1304 Zeilen) – Die Datei wurde offensichtlich komplett neu erzeugt. Unklar ob die neuen Anker (aus Punkt 2) hier mit eingeflossen sind oder ob es ein Rebase-Artefakt ist. Macht das Review schwierig, weil man den inhaltlichen Diff nicht vom generierten Rauschen trennen kann.

  4. ❌ Kein LLM Activation Test – Die CONTRIBUTING.md fordert diesen explizit. Der Anker-Name wird generischer – "Use Cases" allein könnte bei LLMs eher UML-Diagramm-Assoziationen oder generische Anforderungslisten triggern statt das reiche Cockburn/Jacobson-Framework. Ein kurzer Test würde klären ob "Use Cases" als alleiniger Trigger präzise genug ist.

  5. ⚠️ Vollständig neu generierte sitemap.xml (+287/-207) – Auch hier wurde die Datei komplett neu erzeugt, wahrscheinlich weil die ~15 neuen Anker neue URLs produzieren. Bestätigt den Scope Creep.

Prozess-Bewertung

Kriterium Erfüllt?
Issue vorher diskutiert? ❌ Kein vorheriges Issue gefunden
Conventional Commits? Nicht verifiziert
PR-Titel korrekt? ⚠️ Untertreibt den tatsächlichen Umfang
LLM Activation Test? ❌ Fehlt
Single Responsibility (1 PR = 1 Änderung)? ❌ Mindestens 2 Themen vermischt

Zum fehlenden Issue: Gemäß CONTRIBUTING.md sollen Änderungen an bestehenden Ankern zuerst über das "📝 Improve Existing Anchor"-Issue-Template vorgeschlagen werden. Eine Umbenennung von "Cockburn Use Cases" zu "Use Cases" mit signifikanter inhaltlicher Umstrukturierung und Neuattribuierung des Konzeptursprungs ist genau die Art von Änderung, die von einer Community-Diskussion vor der Implementierung profitiert. Die Frage, ob "Use Cases" ein ausreichend präziser Trigger-Name ist (vs. "Cockburn Use Cases" oder "Use Cases (Jacobson/Cockburn)"), verdient eine eigene Diskussion.

Empfehlung

Request Changes:

  1. Zuerst ein Issue öffnen um die Umbenennung und die Präzisionsfrage zu diskutieren (ist "Use Cases" allein reichhaltig genug oder zu generisch als Trigger?).
  2. PR aufteilen: Use-Case-Refactoring (inhaltlich gut!) als eigenen PR. Katalog-Reorganisation (neue Includes, Workflow-Sektion-Entfernung) als separaten PR.
  3. Alias/Redirect fixen: cockburn-use-casesuse-cases in contracts-page.js.
  4. LLM Activation Test ergänzen: Kurzer Vergleich von "Use Cases" vs. "Cockburn Use Cases" als Trigger.
  5. PR-Titel anpassen falls nicht aufgeteilt.

@raifdmueller

Copy link
Copy Markdown
Contributor

Review of #582 — "Cockburn Use Cases" → "Use Cases"

Thanks a lot for this, @simasch — and especially for the historical correction. You're factually right: Ivar Jacobson invented use cases (OOPSLA 1987, OOSE 1992); Cockburn (2001) codified how to write them well. That correction is genuinely valuable and I want to keep it.

That said, after reviewing against our anchor-quality criteria I'd like to keep the correction but not take the rename. Here's the reasoning, because it's specific to what this catalog is.

Why the rename weakens the anchor

A Semantic Anchor only works if the term is already a dense, pre-computed prior in an LLM's training data — naming it activates rich, consistent knowledge without us supplying it. Our four criteria (CONTRIBUTING.adoc) are Precise, Rich, Consistent, Attributable. Measured against them:

Criterion Cockburn Use Cases (current) Use Cases (proposed)
Precise ✅ One bounded codification: fully-dressed template, goal levels, actor-goal list ⚠️ Generic umbrella — also triggers UML diagrams, the colloquial "what's the use case?", etc. Closer to the "Good design" anti-example
Rich ✅ Focused ➖ More text, but diffuse
Consistent ✅ Reliably activates Writing Effective Use Cases ⚠️ Different activation for different readers — the "Modern testing" anti-example
Attributable ✅ One crisp source (Cockburn, 2001) ➖ Spread across six names

The generic name scores worse on 3 of 4. Our own CONTRIBUTING example for Attributable is literally "Hexagonal Architecture (Cockburn, 2005)" — the precise, named form is the model we follow.

The two names activate different concept fields

Cockburn and Jacobson are not interchangeable — they summon different bodies of knowledge:

  • Cockburn Use Cases → the text artifact + writing craft: goal levels (sea level/kite/fish), fully-dressed template, extensions, stakeholders & interests, actor-goal list.
  • Jacobson Use Cases → the model + method: UML use-case diagrams, «include»/«extend», use-case-driven development, RUP, use-case realizations.

Our anchor's body, and the way it's consumed (the Specification contract and the spec-driven-workflow ask for "Cockburn's Fully Dressed format", "Actor-Goal List", goal levels), lives entirely in the Cockburn column. Renaming to the generic term — or to Jacobson — would make the trigger pull in diagrams/RUP that our content doesn't cover. That's a name↔content mismatch.

On Use-Case 2.0 / 3.0

This is the cleanest signal: to verify the 3.0 citation I had to look it up — the 2024 IJI eBook is real and good, but it is not strongly anchored in current training data (try "What concepts do you associate with 'Use-Case 3.0'?" — activation is thin). Use-Case 2.0/3.0 and "slices" also belong to Jacobson's lineage, i.e. the column our content doesn't use. Leaning the anchor on 2.0/3.0 puts its weight exactly where it fails our criteria.

Worth saying: 2.0/3.0 didn't replace Cockburn's craft — it added a delivery/scaling layer (slices) on top. So the right home for it isn't this anchor at all.

What I'd propose instead

  1. Keep Cockburn Use Cases as the anchor. It scores 4/4 and matches its content and its consumers.
  2. Fold your correction in as an "Origin" note in the existing anchor: Jacobson invented use cases (OOPSLA 1987 / OOSE 1992); Cockburn codified the writing craft (2001); Constantine's essential use cases (1990s). Same facts, no loss of precision.
  3. Capture Use-Case 2.0/3.0 as a separate, lean Contract, if we actually use slicing. A Contract supplies its own meaning, so it doesn't need a strong prior — which is exactly why it's the right tool for 2.0/3.0 where an anchor isn't. It can lean on the cockburn-use-cases and thin-vertical-slice anchors and add only the slice vocabulary.

Minor (only relevant if we did rename anyway)

For completeness, the current diff would also leave a few dangling references: the ANCHOR_ALIASES key in contracts-page.js (still 'cockburn-use-cases'), the catalog URL in the socratic skill's references/cockburn-use-cases.md, and the old anchor id /anchor/cockburn-use-cases would 404 with no redirect (an SEO concern given recent traffic). These are moot under the proposal above, but flagging them in case.


Would you be up for reshaping this into "Origin note on the Cockburn anchor + (optionally) a Use-Case 2.0/3.0 contract"? Happy to help draft either. Really do appreciate the attention to getting the attribution right — that part is going in. 🙏

@simasch

simasch commented Jun 8, 2026

Copy link
Copy Markdown
Author

As I'm using use cases day by day with my customers I wouldn't distinguish between Cockburn and Jacobson. The extensions Cockburn made are not used in practice.

But finally it's your decision.

@simasch

simasch commented Jun 8, 2026

Copy link
Copy Markdown
Author

Please read this paper by Jacobson and Cockburn. There is no more difference: https://www.ivarjacobson.com/publications/use-case-foundation

@raifdmueller

Copy link
Copy Markdown
Contributor

Your PR uncovered something important: how densely a concept sits in the LLM's training data — and, secondarily, the knowledge cutoff — decides how well we can communicate with it through a single term. That's a genuinely valuable insight.

You're right on the facts: the invention is Jacobson's, not Cockburn's, and the technique has since evolved into v2.0 (2011) and v3.0 (2024).

But those newer additions are barely represented in the training data. A semantic anchor is, by definition, a term that triggers a rich, already-present concept in the model. "Cockburn Use Cases" and "fully dressed use cases" do that reliably — and even a bare "use case" leans toward the Cockburn-style definition. v2.0 and v3.0 don't fire that way yet; ask an LLM "what do you associate with 'Use-Case 3.0'?" and you get very little. (Telling detail: v2.0 is from 2011, long before any cutoff, and is still thin — so it's density, more than recency, that drives this.)

That gap is exactly the interesting part — it's why real-world practice and the anchor have drifted apart. The literature the models trained on peaked in the Cockburn era; practice moved on, the training data hasn't caught up.

So the key distinction: the anchor popup describes the definition the term triggers in the LLM — it is not a state-of-the-art definition of the term. That's why I'll keep the anchor as "Cockburn Use Cases" (the most precise trigger, and our Specification contract already builds on it) and not fold the rename / v2.0 / v3.0 additions into it.

But your point is too good to lose — I'm turning it into a short article on the site about exactly this drift between training knowledge and practice, and linking it from the anchor. I'd like to credit you as the practitioner who prompted it, and I'll share the draft with you before it goes live.

Thanks for pushing on this — it sharpened the whole model. 🙏

rdmueller added a commit that referenced this pull request Jun 9, 2026
A website article on how a semantic anchor's strength depends on how densely
the concept sits in an LLM's training data, with a reproducible A-E experiment
across Claude Haiku 4.5, Sonnet 4.6 and Opus 4.8. Wired into render-docs, the
router and the main nav (EN), and linked from the Cockburn Use Cases anchor
popup (EN + DE). Prompted by the discussion in #582.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rdmueller added a commit that referenced this pull request Jun 9, 2026
…actice

docs: add "Anchors and Training Data" article (from #582 discussion)
@rdmueller

Copy link
Copy Markdown
Member

Danke für Deinen Input! Ich habe viel über den aktuellen Stand von Use Cases aber vor allem auch viel Details über die Wirkweise von Semantischen Ankern gelernt. Übrigens: selbst Fable-5 mit knowledge cutoff anfang des Jahres kennt nicht die V3.

@rdmueller rdmueller closed this Jun 11, 2026
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.

4 participants