# MCT Evaluation Classification v0.1

**Status:** Working Classification / Evaluation Baseline\
**Scope:** 100 Bauwerks-SourceValues, RxStore + Qdrant/Vector Search\
**Date:** 2026-09-11

## 1. Zweck

Diese Klassifikation dient als gemeinsames Beobachtungsraster für die
MCT-Evaluation. Sie ist **keine Ground Truth** und keine abschließende
MatchDecision. Sie soll zunächst sichtbar machen, welche wiederkehrenden
fachlichen und technischen Muster beim Abgleich von
`SourceValue + TEI Context` gegen MCT auftreten.

Die Kategorien dürfen in v0.1 **mehrfach pro SourceValue** vergeben
werden. Das ist beabsichtigt: Ein Fall kann beispielsweise zugleich ein
vorhandenes RxStore Mapping, einen sinnvollen Vector Candidate und einen
AdVoc-Hinweis enthalten.

## 2. Klassifikationskategorien

  -----------------------------------------------------------------------
  Code                    Bedeutung               Leitfrage
  ----------------------- ----------------------- -----------------------
  `KNOWN_MAPPING`         kontrolliertes Mapping  Gibt es bereits ein
                          aus RxStore             bekanntes Mapping für
                                                  den SourceValue?

  `OBJECT_TYPE`           Vector Candidate        Bezeichnet der
                          beschreibt den Typ/die  Candidate das
                          Funktion des            beschriebene Objekt
                          Hauptobjekts            selbst?

  `ARCHITECTURAL_TYPE`    Candidate erschließt    Liefert der Context
                          einen Bautyp aus dem    eine zusätzliche
                          TEI                     architektonische
                                                  Typisierung?

  `COMPONENT`             Candidate bezeichnet    Hat Qdrant relevante
                          einen Gebäudeteil/eine  Information gefunden,
                          Komponente              aber nicht den Typ des
                                                  Main Object?

  `CONTEXT_COMPETITION`   Context erzeugt eine    Wird ein anderer
                          konkurrierende          historischer Name, eine
                          Interpretation          Funktion, ein
                                                  Nachbarobjekt oder eine
                                                  andere semantische
                                                  Rolle dominant?

  `ADVOC_CANDIDATE`       wiederkehrender         Fehlt ein sinnvoller
                          SourceValue/Concept ist Concept im MCT bzw.
                          Kandidat für AdVoc      braucht es ein
                                                  kontrolliertes
                                                  ergänzendes Mapping?

  `WEAK_VECTOR`           Vector Search liefert   Sind selbst die Top
                          keine belastbare        Scores sehr niedrig
                          semantische Nähe        bzw. fachlich nicht
                                                  verwertbar?

  `NO_DECISION`           mit den vorliegenden    Reicht die Evidence
                          Candidates keine        noch nicht für Match,
                          belastbare Entscheidung AdVoc oder andere
                                                  Zuordnung?
  -----------------------------------------------------------------------

Zusätzlich verwenden wir vorläufig `ADVOC_OBSERVE` für wiederkehrende
Muster, die beobachtet, aber noch nicht als AdVoc Candidate bewertet
werden sollen.

## 3. Entscheidungsprinzipien

### 3.1 Vector Candidate ist noch kein Match

`candidate_item.score` aus Qdrant wird in dieser Evaluation als
**Provider Evidence** behandelt. Ein hoher Vector Score ist keine
automatische MatchDecision.

### 3.2 Context Mention ist nicht Object Classification

Ein Concept kann im TEI sehr ähnlich bzw. explizit genannt sein und
trotzdem eine andere semantische Rolle haben. Beispiel:
`Ehem. Abteigebäude → Abteikirche`. Deshalb müssen `OBJECT_TYPE`,
`COMPONENT` und `CONTEXT_COMPETITION` unterschieden werden.

### 3.3 Mehrere valide Interpretationen sind möglich

`Pfarrkirche` und `Hallenkirche` können dasselbe Bauwerk auf
unterschiedlichen semantischen Ebenen korrekt beschreiben. Die
Evaluation darf daher nicht vorschnell auf genau einen „Gewinner"
reduzieren.

### 3.4 AdVoc wird zunächst beobachtet, nicht automatisch geschrieben

Ein AdVoc-Eintrag entsteht erst nach fachlicher Bewertung. Zwei
relevante Varianten sind:

-   **A:** eigener AdVoc Concept, z. B. `Pfarrkirche`
-   **B:** ergänzender Concept mit Relation zum MCT, z. B.
    `Pfarrkirche hasBroadMatch Kirche`

Wiederholte AdVoc-Fälle können später als **Vocabulary Gap Evidence**
für eine Erweiterung des MCT dienen.

## 4. Baseline des 100er-Laufs

-   100 SourceValues
-   RxStore: 6 SourceValues mit Candidate
-   Qdrant: 10 Candidates je SourceValue
-   Qdrant Rank-1 Scores zeigen eine sehr breite Spannweite; niedrige
    Scores werden nicht als Match gewertet.
-   `Pfarrkirche` ist ein deutlich wiederkehrendes SourceValue-Muster
    und wird als erster systematischer `ADVOC_CANDIDATE`
    weiterbeobachtet.

## 5. Referenzfälle

### Positive Control: Marienkapelle

`Marienkapelle → Marienkapelle`

RxStore und Qdrant liefern denselben Concept. Der Fall eignet sich als
Regression Case für spätere Änderungen an Context, Discovery oder
Scoring.

### Vector Context Discovery: St. Donatus

`Kath. Pfarrkirche St. Donatus → Hallenkirche`

`Hallenkirche` wird aus dem TEI Context erschlossen. Der Candidate ist
nicht lexical aus dem SourceValue ableitbar.

### Context Competition: Ehem. Abteigebäude

`Ehem. Abteigebäude → Abteikirche`

Der Vector Candidate ist semantisch stark mit dem Context verbunden,
bezeichnet aber nicht automatisch das Main Object. Der Fall ist ein
Referenzfall für `CONTEXT_COMPETITION`.

### Vocabulary Gap / AdVoc: Pfarrkirche

Das wiederkehrende SourceValue-Muster `Kath. Pfarrkirche <Eigenname>`
wird unabhängig davon beobachtet, ob Qdrant im jeweiligen TEI
`Pfarrkirche`, `Hallenkirche`, `Basilika`, `Wandpfeilerkirche` oder
einen anderen Bautyp priorisiert.

## 6. Vorläufige Zuordnung der 100 SourceValues

**Korrigierte Darstellung:** Die Tabelle ist jetzt rein als Markdown-Tabelle erzeugt; `SourceValue` wird nicht mehr zerlegt.

Die Spalte `Working Labels` enthält in dieser Fassung nur Labels, die ohne zusätzliche fachliche TEI-Interpretation belastbar vergeben werden können:

- `KNOWN_MAPPING`: RxStore liefert einen vorhandenen Rank-1-Candidate.
- `WEAK_VECTOR`: Qdrant Rank-1-Score liegt unter 0,05; dies ist nur ein technischer Beobachtungsmarker, keine fachliche Ablehnung.
- `ADVOC_CANDIDATE`: vorläufig für das wiederkehrende Muster `Pfarrkirche`.
- `TO_CLASSIFY`: der Fall muss anhand von TEI + Candidate Set fachlich einer oder mehreren semantischen Kategorien zugeordnet werden.

`OBJECT_TYPE`, `ARCHITECTURAL_TYPE`, `COMPONENT` und `CONTEXT_COMPETITION` werden bewusst **nicht automatisch** vergeben.

| SourceValue | RxStore Rank 1 | Qdrant Rank 1 | Qdrant Score | Working Labels |
|---|---|---|---:|---|
| Kath. Pfarrkirche St. Donatus | – | Hallenkirche | 0.383 | `ADVOC_CANDIDATE` |
| Ehem. Pfarrhaus | – | Pfarrkirche | 0.332 | `TO_CLASSIFY` |
| Neuenhof | – | Vorlaubenhaus | 0.027 | `WEAK_VECTOR` |
| Kath. Pfarrkirche St. Johann Bapt. | – | Abteikirche | 0.556 | `ADVOC_CANDIDATE` |
| Ehem. Abteigebäude | – | Abteikirche | 0.580 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Gregorius | – | Kreuzkuppelkirche | 0.166 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Michael | – | Westbau | 0.172 | `ADVOC_CANDIDATE` |
| Marienkapelle | – | Marienkapelle | 0.993 | `TO_CLASSIFY` |
| Ehem. Haus der Jugend | – | Hallenhaus | 0.124 | `TO_CLASSIFY` |
| Ehem. Rathaus | – | Stadthaus | 0.120 | `TO_CLASSIFY` |
| Fürstenbad | – | Badezimmer | 0.011 | `WEAK_VECTOR` |
| Soziale Frauenschule | – | Internat | 0.109 | `TO_CLASSIFY` |
| ehem. Färbervilla | – | Mansardwalmdach | 0.021 | `WEAK_VECTOR` |
| Michaelsbergstr. 30–34, Dreihäuserblock | – | Mietshaus | 0.293 | `TO_CLASSIFY` |
| Mühlradstr. 5, sog. Verkensloch | – | Mühlstein | 0.008 | `WEAK_VECTOR` |
| Waldfriedhof mit Bismarckturm | – | Soldatenfriedhof | 0.855 | `TO_CLASSIFY` |
| Couven-Pavillon | – | Mansardgiebeldach | 0.302 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Severin | – | Pfarrkirche | 0.722 | `ADVOC_CANDIDATE` |
| Pannhaus | – | Giebelhaus | 0.094 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Bonifatius | – | Quersaalkirche | 0.555 | `ADVOC_CANDIDATE` |
| Ehem. Hauptverwaltung der Hütte Rothe Erde | – | Verwalterhaus | 0.456 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Heinrich | – | Wandpfeilerkirche | 0.256 | `ADVOC_CANDIDATE` |
| Haus Heyden | – | Giebelhaus | 0.589 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Kornelius | – | Pandora | 0.154 | `ADVOC_CANDIDATE` |
| Friedhofskirche St. Stephanus | – | Doppelkirche | 0.342 | `TO_CLASSIFY` |
| Klause Maria im Schnee | – | Marienkapelle | 0.595 | `TO_CLASSIFY` |
| Am Berg 26–28 | – | Kirchenburg | 0.106 | `TO_CLASSIFY` |
| Benediktusplatz 2/Korneliusmarkt 56 | – | Baustein | 0.151 | `TO_CLASSIFY` |
| Nr.4 | – | Gebäude | 0.051 | `TO_CLASSIFY` |
| Nr.5 | – | Fassade | 0.102 | `TO_CLASSIFY` |
| Nr.17 | – | Nebengebäude | 0.037 | `WEAK_VECTOR` |
| Nr.19 | – | Bruchstein | 0.063 | `TO_CLASSIFY` |
| Korneliusmarkt 12 | – | Basilika | 0.057 | `TO_CLASSIFY` |
| Nr.52 | – | Dreiständerbau | 0.181 | `TO_CLASSIFY` |
| Kunst aus Nordrhein-Westfalen | – | Kunstkammerobjekt | 0.134 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Laurentius | – | Westbau | 0.338 | `ADVOC_CANDIDATE` |
| Ehem. Zollhaus Barrière | – | Giebelhaus | 0.046 | `WEAK_VECTOR` |
| Berger Hochkirchen | – | Vierflügelanlage | 0.585 | `TO_CLASSIFY` |
| Haus Hirsch | – | Wohnturm | 0.385 | `TO_CLASSIFY` |
| Haus Linde | – | Stadthaus | 0.093 | `TO_CLASSIFY` |
| Klinikum | – | Universitätskrankenhaus | 0.324 | `TO_CLASSIFY` |
| Schloss Rahe | – | Rahsegler | 0.001 | `WEAK_VECTOR` |
| Hebscheider Hof | – | Hof | 0.170 | `TO_CLASSIFY` |
| Kath. Pfarrkirche SS. Peter und Paul | – | Pfarrkirche | 0.700 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Martin | – | Kuppelkapelle | 0.114 | `ADVOC_CANDIDATE` |
| Schloss Schönau | – | Vorlaubenhaus | 0.330 | `TO_CLASSIFY` |
| Hausen | – | Wohnbau | 0.010 | `WEAK_VECTOR` |
| Soerser Hochkirchen | – | Stabkirche | 0.588 | `TO_CLASSIFY` |
| Soerser Haus | – | Wohnturm | 0.420 | `TO_CLASSIFY` |
| Kath. Pfarrkirche zur hl. Mutter Anna | – | Pfarrkirche | 0.457 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Jakobus | – | Westbau | 0.276 | `ADVOC_CANDIDATE` |
| Kath. Filialkirche St. Mariae Verkündigung | – | Filialkirche | 0.603 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Georg | – | Pfarrkirche | 0.495 | `ADVOC_CANDIDATE` |
| Ehem. Kellnerei | – | Rundbogen | 0.202 | `TO_CLASSIFY` |
| Kirchstr.35 | – | Giebelhaus | 0.027 | `WEAK_VECTOR` |
| Nr.25 | – | Zweiständerbau | 0.113 | `TO_CLASSIFY` |
| Hauptstr.7 | – | Hauptstraße | 0.029 | `WEAK_VECTOR` |
| 10 | – | zehnjochig | 0.001 | `WEAK_VECTOR` |
| 28 | – | Platte | 0.002 | `WEAK_VECTOR` |
| Kirchstr.38 | – | Treppengasse | 0.020 | `WEAK_VECTOR` |
| Kath. Pfarrkirche St. Ursula | – | Doppelkirche | 0.298 | `ADVOC_CANDIDATE` |
| Gut Etgendorf | – | Verwalterhaus | 0.035 | `WEAK_VECTOR` |
| Kath. Pfarrkirche SS. Cosmas und Damian | – | Pfarrkirche | 0.408 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Pankratius | – | Hallenkirche | 0.326 | `ADVOC_CANDIDATE` |
| Schloss Paffendorf | – | Ehrenbogen | 0.084 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Clemens | – | Wandpfeilerkirche | 0.279 | `ADVOC_CANDIDATE` |
| Haus Blegge | – | Hallenhaus | 0.024 | `WEAK_VECTOR` |
| Schloss Lerbach | – | Hallenhaus | 0.085 | `TO_CLASSIFY` |
| Papiermühle Alte Dombach | – | Holländer | 0.748 | `TO_CLASSIFY` |
| Ev. Kreuzkirche | – | Filialkirche | 0.582 | `TO_CLASSIFY` |
| Ehem. Pfarrhof | – | Krüppelwalmdach | 0.084 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Marien | – | Pfarrkirche | 0.497 | `ADVOC_CANDIDATE` |
| Ev. Christuskirche | – | Ostbau | 0.660 | `TO_CLASSIFY` |
| Ev. Erlöserkirche | – | Kreuzkuppelkirche | 0.300 | `TO_CLASSIFY` |
| Ev. Rigal’sche Kapelle | – | Hofkapelle | 0.597 | `TO_CLASSIFY` |
| Turmder abgebrochenen alten Andreaskirche | – | Chorturmkirche | 0.272 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Evergislus | – | Pfarrkirche | 0.250 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Hildegard | – | Hallenkirche | 0.163 | `ADVOC_CANDIDATE` |
| Kapelle der Sieben Schmerzen Mariens | – | Marienkapelle | 0.576 | `TO_CLASSIFY` |
| Kath. Kirche Alt St. Martin | – | Abteikirche | 0.032 | `WEAK_VECTOR` |
| Kath. Pfarrkirche St. Martin | – | Kuppelkapelle | 0.114 | `ADVOC_CANDIDATE` |
| Godesburg | – | Tympanon | 0.162 | `TO_CLASSIFY` |
| Ehem. Hoftheater | – | Bühne | 0.045 | `WEAK_VECTOR` |
| Villa Cahn | – | Hütte (Holzbau) | 0.184 | `TO_CLASSIFY` |
| Villa Carstanjen | – | Residenz | 0.185 | `TO_CLASSIFY` |
| Villa Grosser-Genienau | – | Wohnbau | 0.291 | `TO_CLASSIFY` |
| Villa Schnitzler | – | Wohnbau | 0.212 | `TO_CLASSIFY` |
| Alte ev. Kirche | – | Saalkirche | 0.509 | `TO_CLASSIFY` |
| Kath. Pfarrkirche Hl. Kreuz | – | Kreuzkuppelkirche | 0.543 | `ADVOC_CANDIDATE` |
| Neue ev. Kirche | – | Chorturmkirche | 0.246 | `TO_CLASSIFY` |
| Kath. Pfarrkirche St. Adelheid | – | Pfarrkirche | 0.703 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Cäcilia | – | Wallfahrtskirche | 0.392 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Gallus | – | Kreuzkuppelkirche | 0.062 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Maria und St. Clemens | – | Doppelkirche | 0.335 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Peter | – | Pfarrkirche | 0.455 | `ADVOC_CANDIDATE` |
| Ehem. Stiftsimmunität | – | Schutzbau | 0.036 | `WEAK_VECTOR` |
| Ehem. Deutschordenskommende Ramersdorf | – | Giebelhaus | 0.110 | `TO_CLASSIFY` |
| Lippe’sches Landhaus | – | Umgebindehaus | 0.072 | `TO_CLASSIFY` |
| Ehem. kath. Pfarrkirche St. Ägidius | – | Pfarrkirche | 0.363 | `ADVOC_CANDIDATE` |
| Kath. Pfarrkirche St. Markus | – | Doppelkapelle | 0.125 | `ADVOC_CANDIDATE` |


## 7. Anwendung auf den nächsten Lauf

Für den nächsten Lauf werden dieselben Kategorien wiederverwendet. Zuvor sollte die fachliche Klassifikation der 100 Baseline-Fälle anhand des jeweiligen TEI und des vollständigen Qdrant Candidate Sets abgeschlossen werden.

Besonders zu beobachten sind:

- Häufigkeit und Varianten von `ADVOC_CANDIDATE`
- Verhältnis von `OBJECT_TYPE` zu `ARCHITECTURAL_TYPE`
- Fälle von `COMPONENT` und `CONTEXT_COMPETITION`
- Score-Bereiche von `WEAK_VECTOR`
- neue kontrollierbare Mappings für RxStore
- wiederkehrende AdVoc Concepts als mögliche `Vocabulary Gap Evidence` für MCT

## 8. Offene Punkte für v0.2

1. Fachliche Bestätigung der semantischen Kategorien anhand des TEI.
2. Festlegung, wann aus `ADVOC_CANDIDATE` tatsächlich ein AdVoc-Eintrag wird.
3. Entscheidung über die Modellierung von AdVoc Variante A/B.
4. Prüfung, ob die Kategorien später als Evaluation Vocabulary bzw. MatchDecision Evidence formalisiert werden sollen.
5. Noch **keine** Änderung der Runtime-/Domain-Architektur allein aufgrund dieser explorativen Klassifikation.
