Recherche-Regeln — verbindliche Prüfordnung
Stand: 30.07.2026 · Fassung: 1.0 Gilt für jeden Recherchelauf, Haupt- wie Unteragent. Wer hiervon abweicht, dokumentiert die Abweichung in der Paketnotiz. Diese Ordnung ist so geschrieben, dass Thomas sie lesen und ändern kann, ohne eine Zeile Code zu verstehen.
0. Die drei Sätze, auf die es ankommt
- Nichts wird gespeichert, was nicht wörtlich in einer archivierten Quelle steht.
- Wer nichts findet, trägt „nicht auffindbar" ein und beschreibt, was er versucht hat.
- Im Zweifel niedrigere Konfidenz statt schöneres Ergebnis.
Eine ehrliche Lücke ist für dieses Projekt wertvoller als ein plausibler Fehler. Die Lücke ist teilweise das politische Ergebnis.
1. Was gesucht wird
Die örtliche Betreuungsbehörde nach § 1 BtOG — eine kommunale Behörde beim Landratsamt oder der Stadtverwaltung.
Übliche Bezeichnungen, alle als Suchbegriff geeignet:
Betreuungsstelle · Betreuungsbehörde · Betreuungsstelle des Landkreises · Fachstelle Betreuung · Amt für Betreuungsangelegenheiten · Sachgebiet Betreuung · Rechtliche Betreuung · Behördenbetreuung · Betreuungswesen
Häufig angesiedelt beim Sozialamt, Amt für Soziales, Kreissozialamt, Amt für Soziales und Senioren, Fachbereich Soziales, Gesundheitsamt (seltener).
2. Was ausdrücklich nicht gesucht wird
Diese Verwechslungen sind die größte Fehlerquelle des Projekts:
| Nicht erfassen | Warum |
|---|---|
| Betreuungsverein (Caritas, Diakonie, SkF, AWO, „Betreuungsverein e. V.") | freier Träger, keine Behörde |
| Betreuungsgericht / Amtsgericht, Abteilung Betreuung | Justiz, nicht Verwaltung |
| Berufsbetreuer, Betreuerverbände, Betreuervereine | private Personen/Verbände |
| Überörtliche Betreuungsbehörde (Landesebene) | falsche Ebene — nur als Quelle nutzen |
| Kita, Kinderbetreuung, Ganztagsbetreuung, Seniorenbetreuung, Pflegestützpunkt | Wortgleichheit, völlig anderes Thema |
| Betreuungsstelle im Sinne von Bürgerbüro/Servicestelle | Bezeichnung prüfen, nicht raten |
Bei Unsicherheit: die Seite muss erkennbar auf rechtliche Betreuung / Betreuungsrecht / BtOG / Vorsorgevollmacht und Betreuungsverfügung Bezug nehmen und Teil der Kreis-/Stadtverwaltung sein (Domain und Impressum prüfen). Sonst → unklar, nicht erfassen.
3. Ablauf je Gebiet
Schritt 1 — Paket ziehen. bs paket-naechstes --runde erstrecherche [--bundesland XX]. Damit ist das Gebiet für andere Läufe gesperrt.
Schritt 2 — Seite finden. Zuerst Websuche, nicht Herumklicken. Bewährte Anfragen:
Betreuungsstelle <Kreisname>
Betreuungsbehörde <Kreisname> rechtliche Betreuung
site:<amtliche-domain> Betreuungsstelle
Amtliche Domain erkennen: *.de der Kreis-/Stadtverwaltung, Impressum nennt die Gebietskörperschaft. Kein Ergebnis über die Suche → Startseite des Kreises holen und der Navigation folgen (Soziales → Betreuung), notfalls die Suchfunktion der Website nutzen.
Schritt 3 — Belegholer. bs beleg-hole <url> lädt roh, archiviert, gibt die Kandidatenliste aus (mailto:- und tel:-Links, Nummernmuster, Anschriftsblock, jeweils mit Textumfeld). Der Agent liest die Kandidatenliste, nicht die ganze Seite.
Schritt 4 — Beurteilen. Aus der Kandidatenliste:
- Welcher Kontakt ist Funktionspostfach der Betreuungsstelle, welcher Sekretariat, Leitung, Person, Zentrale, Poststelle? (→ Rangtabelle in
DATENMODELL.md) - Was ist Seitenfuß-Boilerplate? Der Belegholer meldet, auf wie vielen Seiten der Domain ein Wert vorkommt — hohe Zahl = Boilerplate, meist
poststelle@oder Zentrale. - Gehört eine Person zu einer Adresse? Nur wenn Name und Adresse im selben Umfeld stehen. Reihenfolge-Zufall reicht nicht.
Schritt 5 — Notausgang, wenn nötig. Kandidatenliste leer, widersprüchlich oder verdächtig dünn → archivierte Seite komplett lesen. Adressen offensichtlich per JavaScript zusammengesetzt oder als Bild hinterlegt → Browser-Werkzeug einsetzen und Ergebnis mit gefunden_als = 'sichtbarer_text' und Konfidenz mittel erfassen.
Schritt 6 — Erfassen. Über bs erfasse …, nie per SQL. Jede Ablehnung des Eingangstors wird behoben, nicht umgangen.
Schritt 7 — Paket abschließen. bs paket-fertig <id> --notiz "…". Die Notiz beschreibt knapp, was gefunden wurde und was offenblieb.
4. Belegqualität
| Quellklasse | Beispiel | Stufe |
|---|---|---|
offizielle_website | Kontaktseite des Landratsamts | A/B |
amtliches_portal | Zuständigkeitsfinder des Landes, Behördenwegweiser | A/B |
amtliche_datei | PDF-Verzeichnis eines Ministeriums/Landesamts | A/B |
verbandsliste | Liste eines Berufsverbands | C |
sonstige_web | Branchenverzeichnis, Presseartikel, Wikipedia | C |
telefonat / mail_antwort / ruecklauf | direkte Auskunft | A |
Vorrang: Immer die amtliche Seite der Stelle selbst. Sammelverzeichnisse sind Einstieg, nie Endstand — ein dort gefundener Eintrag muss an der amtlichen Seite gegengeprüft werden, bevor er Stufe A/B erreicht. Genau das ist in Thomas' Vorversuch bei NRW unterblieben.
Abrufdatum ist immer das tatsächliche Datum des Abrufs, nie ein „Stand"-Vermerk aus dem Dokument. Trägt das Dokument einen eigenen Stand, gehört der in beleg.notiz.
5. Wann „nicht auffindbar" gesetzt wird
Erst nachdem alle folgenden Wege erfolglos waren:
- Websuche mit mindestens zwei verschiedenen Formulierungen
- Startseite des Kreises/der Stadt und Navigation Soziales/Betreuung
- Website-eigene Suchfunktion
- Zuständigkeitsfinder des Landes bzw. Landesverzeichnis
- Prüfung, ob eine andere Stelle zuständig ist (Nachbarkreis, Delegation) — dann
zustaendigkeitmitart = 'delegiert'statt „nicht auffindbar"
Dann: stelle.status = 'nicht_auffindbar', status_notiz mit Aufzählung der versuchten Wege und der geprüften URLs. Diese Fälle landen in Blatt 2 des Exports und sind für Thomas inhaltlich hochinteressant.
6. Sonderfälle
- Eine Stelle, mehrere Gebiete: eine
stelle, mehrerezustaendigkeit-Zeilen. Nicht duplizieren. - Stadtstaaten: Berlin und Hamburg je Bezirksamt eine Stelle; Bremen und Bremerhaven getrennt. AGS-Behandlung nach Vorgabe aus Auftrag 01 dokumentieren.
- Kreisangehörige Städte mit eigener Zuständigkeit: nur anlegen, wenn das Landesausführungsgesetz oder eine amtliche Quelle das belegt (
bundesland.sonderfaelle). - Umbenennung/Fusion: alte Stelle auf
aufgeloestbzw.zusammengelegtsetzen,nachfolger_idfüllen. Nicht löschen — Thomas' Befund lebt auch von Veränderungen. - Nur Kontaktformular, keine Mailadresse: als
kontakt.art = 'kontaktformular'mit der URL erfassen. Für die Kampagne ist das ein eigener, schlechterer Kanal — und ebenfalls ein Befund.
7. Höflichkeit beim Abrufen
- Ein Abruf pro Domain zur Zeit, mindestens 1 Sekunde Pause zwischen Abrufen derselben Domain
- Parallelität nur über verschiedene Domains (Unteragenten arbeiten verschiedene Gebiete)
robots.txtbeachten- User-Agent mit Projektname und Kontaktadresse
- Kein Nachladen von Bildern, Skripten, Stylesheets — nur das Dokument
8. Selbstkontrolle am Ende jedes Pakets
Kurz prüfen, bevor das Paket auf fertig geht:
- Jeder erfasste Wert stammt aus einem archivierten Beleg mit Abrufdatum
- Die Stelle ist erkennbar eine Behörde, kein Verein und kein Gericht
- Die Rangzuordnung entspricht der Tabelle, insbesondere: Funktionspostfach vor Person
- Personen sind nur dann einer Adresse zugeordnet, wenn das aus der Quelle hervorgeht
- Bei
nicht_auffindbar: alle fünf Wege aus Abschnitt 5 dokumentiert - Paketnotiz geschrieben
9. Was ausdrücklich verboten ist
- Adressen, Namen oder Nummern aus dem eigenen Modellwissen ergänzen — auch nicht „offensichtliche" wie eine Vorwahl oder eine Mailadresse nach erkanntem Schema
- Ein Muster von einem Kreis auf einen anderen übertragen, ohne es dort zu belegen (Muster suchen ist erlaubt und erwünscht — Muster annehmen nicht)
- Eine Stelle als
verifiziertmarkieren, deren Kontakt nur aus einer Sammelliste stammt - Das Eingangstor umgehen (direktes SQL, Nachbearbeitung der Datei)
- Werte „glätten" (Schreibweisen vereinheitlichen, Umlaute ersetzen). Der Originalwert bleibt wie in der Quelle; Normalisierung passiert nur in
wert_norm.