Bibliothek aufbauen
Befülle eine Zotero-Sammlung mit Quellen für ein Projekt. Zweistufige Verteidigung gegen fabrizierte Quellen: (1) jeden Kandidaten vor dem Hinzufügen gegen eine echte Quelle überprüfen; (2) nach dem Hinzufügen den mitgelieferten deterministischen Prüfer ausführen — kein Eintrag wird ungeprüft ausgeliefert. Alle globalen Autoritätsregeln (niemals ein Zitat erfinden; Unsicherheit kennzeichnen) gelten durchgängig.
0. Schritt Null – lies die gesamte Bibliothek, bevor du irgendetwas anderes machst
Bevor du den Umfang festlegst, bevor du suchst, bevor du einen einzigen Kandidaten vorschlägst, sichere die Zielbibliothek und lies alles davon:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/build-library/library_inventory.py --group <ID> # or --user
python3 ${CLAUDE_PLUGIN_ROOT}/skills/build-library/library_inventory.py --group <ID> --grep <Begriffe>
Eine Zeile pro Top-Level-Eintrag: Jahr, PDF-oder-nicht, Autoren, Titel, Veröffentlichung, Eintragsschlüssel.
Eine Bibliothek mit 100 Einträgen liegt weit unter 3k Token. Es gibt keinen budgetären Grund, dies zu
überspringen, und keinen Ersatz dafür. Bei einer großen Bibliothek (Tausende von Einträgen) speichere
den vollständigen Dump in einer Datei und lies die relevanten --grep-Auszüge plus die allgemeine
Form – aber der Koordinator bleibt für die Prüfung verantwortlich, und ein Auszug, der nie durchsucht
wurde, ist kein Beleg für Abwesenheit.
Dies ist Schritt Null und nicht Teil des Duplikatschecks, weil die Kenntnis der Bibliothek ändert, was du suchst. Ein Durchlauf, der dies überspringt, wird Dinge vorschlagen, die der Benutzer bereits besitzt, sie als "neu identifiziert" beschreiben und falsche Behauptungen über Lücken in der Sammlung aufstellen.
Vier harte Regeln, jede aus einem echten Fehler (2026-08-01, bei einer Gruppenbibliothek mit 105 Einträgen):
- Delegiere das Inventar oder den Duplikatscheck niemals an einen Unteragenten. Ein Recherche-Unteragent berichtete, die Gruppe enthalte „nur die 13 aufgeführten Einträge plus eine Handvoll nicht verwandter Werke.“ Sie enthielt 105. Der Koordinator glaubte ihm und erstellte drei Duplikate. Unteragenten sind in Ordnung zum Finden von Kandidaten; der Koordinator trägt die Verantwortung für die Kenntnis der Bibliothek.
- Behandle einen negativen Befund eines Unteragenten als unbestätigt. „Ich habe geprüft und es ist nicht da“ ist genau die Behauptung, die Unteragenten falsch hinbekommen, weil Abwesenheit aus einer engen Suche heraus nicht falsifizierbar ist. Überprüfe jede Behauptung „nicht in der Bibliothek“ anhand deines eigenen Inventars.
- Jedes Hinzufügen durchläuft die Prüfung, auch späte. Zwei der drei Duplikate wurden ganz am Ende der Sitzung hinzugefügt, aufbauend auf Fußnoten in einem soeben gelesenen Artikel – außerhalb der Hauptpipeline, so dass sie die Prüfung vollständig umgingen. Kein Kandidat ist zu klein oder zu spät für die Prüfung; durchsuche das Inventar, das du bereits hast.
- Gib das Inventar weiter. Jeder Unteragent, der gebeten wird, Quellen zu finden, erhält die tatsächliche Liste (oder einen gefilterten Auszug) in seinen Prompt eingefügt – niemals eine Anweisung, sie selbst zu überprüfen.
Die Bibliothek ist auch ein Beweismittel. Wenn die Aufgabe lautet „was fehlt“, sagt dir das, was der Benutzer bereits besitzt, was ihm wichtig ist, und formuliert die Antwort oft neu. Bei dem Durchlauf, der diese Regel auslöste, stellte sich heraus, dass die Bibliothek des Benutzers ein tiefes Regal mit strafrechtlicher Wissenschaft zu genau den Themen enthielt, die das Memo gerade als unbehandelt beschrieben hatte – was den Befund von „niemand hat darüber geschrieben“ zu „diese beiden Literaturen zitieren sich nicht gegenseitig“ änderte. Lies das Inventar für das, was es über das Projekt aussagt, nicht nur für den Duplikatsabgleich.
1. Zotero-Infrastruktur
Die zotero / zotero-group MCP-Werkzeuge sind schreibgeschützt (gut für Duplikatsprüfungen und
Suche). Alle Schreibvorgänge erfolgen über die Zotero-Web-API v3 mit dem Schlüssel aus dem zotero
Eintrag in ~/.claude.json (env.ZOTERO_API_KEY; überprüft auf Schreibzugriff auf die persönliche
Bibliothek, <USER_ID>, und alle verwendeten Gruppenbibliotheken).
- Sammlungen:
GET /users/<USER_ID>/collections?limit=100→ finde den Zielschlüssel; erstelle mitPOST /collections, wenn der Benutzer eine neue möchte (Namen zuerst bestätigen). - Duplikatscheck – Inventar zuerst (§0), Kandidatenliste prüfen (§2a), Absicherung vor dem
Hinzufügen: lies die gesamte Bibliothek im Voraus (§0); dedupliziere die Kandidatenliste vor
jeglicher Verifizierung oder PDF-Arbeit (§2a); dann führe eine leichte finale Prüfung direkt vor
dem
POST /itemsals Absicherung durch – sie fängt Einträge, die früher im selben Durchlauf hinzugefügt wurden, und Kollisionen mit exakten Ausgaben, die die früheren Prüfungen übersehen haben. Für einmalige Nachforschungen während des Durchlaufs istlibrary_inventory.py --grep <Begriffe>besser alsmcp__zotero__zotero_search_items, weil es die Liste durchsucht, die du bereits hast, anstatt eine frische, enge Abfrage zu stellen. - Einträge erstellen:
POST /users/<USER_ID>/itemsmit einem JSON-Array (≤50/Anfrage). Überprüfe diesuccess/failed-Maps der Antwort. Hole eine leere Vorlage vonGET https://api.zotero.org/items/new?itemType=book, wenn du dir bei den Feldern unsicher bist. - Konventionen: Illustratoren/„mit“-Angaben →
contributor-Ersteller plus eineextra-Notiz (Zotero-Bücher haben keine Illustratorenrolle); Herausgeber →editor; setze den tatsächlichen Verlag/Imprint der Ausgabe (z. B. Sentinel, nicht „Penguin“); vollständiges Veröffentlichungsdatum, wenn verifiziert, andernfalls Jahr; immer ISBN für Bücher, immer DOI für Artikel.
1a. Metadaten von Law-Review-Artikeln – Korrekturen für Zotero-Connector-Defekte (Autor, 2026-07-16)
Claude erstellt Einträge über die Web-API, so dass es diese richtig hinbekommen kann, wo der Zotero-Connector des Benutzers sie zuverlässig falsch macht. Wende dies auf jeden hinzugefügten Law-Review-Artikel an; Hein (§4a) zeigt die korrekten Daten, also übernimm die Felder von dort.
- Führendes "The"/"A"/"An": belasse den Artikel in natürlicher Vorposition – Titel
The Common Law, niemals die sortierungsinvertierte Version des ConnectorsCommon Law, The. - Jahr = das Jahr der Ausgabe, nicht der Bandspanne. Der Connector greift oft die gesamte Datumsrange des Bandes; verwende das spezifische Ausgabejahr, das Heins Zitat angibt.
- Abschließendes Fragezeichen: behalte es bei –
Are Judges Political?, nichtAre Judges Political. - Kursivschrift in Titeln: das Zotero-Titelfeld akzeptiert Inline-HTML – umschließe Fallnamen
(und andere nach Bluebook kursivierte Begriffe) in
<i>…</i>, z.B.The Real Meaning of <i>Erie</i>oderRethinking <i>Chevron</i> Deference. Zotero rendert und exportiert diese als Kursivschrift (dies ist das<i>Fallname</i>, das der Benutzer sonst von Hand hinzufügt). - Entferne angehängte Typ-/Symposiums-Bezeichnungen aus dem Titel – bewahre aber echte
Bluebook-Bezeichnungen im
extra-Feld. Der Connector hängt Bezeichnungen an den Titel an –Essay,Comment,Note,Foreword,Book Review,Symposium: <Name>, usw. Behalte nur den tatsächlichen Titel des Artikels, so wie er im Werk / im Bluebook-Zitat erscheint. Wenn du dir unsicher bist, ob der nachgestellte Text ein echter Untertitel oder eine angehängte Bezeichnung ist, überprüfe die erste Seite.- Studentische Anmerkungen und Kommentare (und andere Bezeichnungen, die Bluebook zwischen Autor
und Titel druckt –
Recent Development,Essay,Foreword,Book Review, usw.): verwerfe die Bezeichnung nicht einfach. Zeichne sie imextra-Feld des Eintrags alsgenre:-Zeile auf –genre: Notefür eine studentische Anmerkung,genre: Commentfür einen Kommentar (Titel; der Stil setzt sie unabhängig davon groß, aber speichere sie sauber). Der Bluebook-Stil fügt sie dann an der richtigen Stelle ein (Jane Doe, Note, <i>Title</i>, 120 Harv. L. Rev. 1627 (2007)). Entferne sie aus dem Titel wie oben und füge diegenre:-Zeile hinzu – beides gehört bei diesen Stücken zusammen. - Anonyme studentische Anmerkungen (kein Autor angegeben): lasse die Ersteller leer und setze
trotzdem
genre: Note. Wenn dasextra-Feld bereits andere Zeilen trägt (z.B.Verified-URL:), fügegenre: Notein einer eigenen neuen Zeile hinzu – überschreibe sie nicht.
- Studentische Anmerkungen und Kommentare (und andere Bezeichnungen, die Bluebook zwischen Autor
und Titel druckt –
- Suffixe ("Jr.", "III", "Sr."): Zotero hat kein Suffix-Feld – kodiere das Suffix im
Vornamen-Feld, angehängt an den Vornamen mit einem Komma und keinem Leerzeichen (lastName
bleibt nur der Nachname; hänge das Suffix niemals an den Nachnamen an oder füge einen zweiten
Autor hinzu). Ein führendes
!im Suffix steuert, ob ein Komma davor gerendert wird (citeproc-js-Auszeichnung, laut Autor):- "John Smith Jr." (kein Komma) →
firstName: "John,Jr.",lastName: "Smith" - "John Smith, Jr." (mit Komma) →
firstName: "John,!Jr.",lastName: "Smith"Der Vorname inkl. aller Mittelnamen/-initialen kommt vor das Komma (z.B.John B.,Jr.). Gleicher Mechanismus für Zahlwörter/andere Suffixe –John,IIIvsJohn,!III,John,Sr.usw. Verwende die Komma-Form, die der Autor/die Quelle verwendet.
- "John Smith Jr." (kein Komma) →
- Journalkürzel (Bluebook, gemischte Groß-/Kleinschreibung): fülle immer das Zotero-Feld
journalAbbreviation(„Journalkürzel" in der Benutzeroberfläche) mit der Bluebook-Abkürzung der Zeitschrift (Tabelle T13) in normaler gemischter Groß-/Kleinschreibung –Colum. L. Rev.,Harv. L. Rev.,Nw. U. L. Rev.,J. Sup. Ct. Hist.,Sup. Ct. Rev.– NICHT in Großbuchstaben. Der Zitierstil wendet die Kapitälchen selbst an, also speichereColum. L. Rev.und niemalsCOLUM. L. REV.Der vollständige Name bleibt inpublicationTitle; das Kürzel kommt injournalAbbreviation. Heins Zitatanzeige rendert es in Groß-/Kapitälchen („62 COLUM. L. REV. 633") – verwende es für die Schreibweise, konvertiere aber in gemischte Groß-/Kleinschreibung; bei einer unbekannten Zeitschrift überprüfe die T13-Form, anstatt zu raten. Für einen Online-Begleiter/ Supplement hänge den Supplementsnamen abgekürzt nach Bluebook an –Forum→F.(z.B.Harv. L. Rev. F.), währendColloquykeine Kurzform hat (Nw. U. L. Rev. Colloquy). Bekannte namensspezifische Ausnahmen (nicht „korrigieren"):California Law Review→Calif. L. Rev.(nichtCal., obwohl Kalifornien in Reportern und anderswoCal.ist). DieCalif.- Besonderheit ist spezifisch für diese Zeitschrift – im Gegensatz dazuSouthern California Law Review→S. Cal. L. Rev., wo Kalifornien das üblicheCal.annimmt.
2. Kandidaten finden
Grenze den Umfang mit dem Benutzer ein, wenn die Anfrage offen ist (welche Richter/Wissenschaftler/ Epoche; nur Bücher oder auch Artikel; Handelsbücher vs. Fallbücher/Abhandlungen – kennzeichne Ermessensentscheidungen im Bericht, anstatt stillschweigend zu entscheiden). Führe dies nach §0 aus, niemals davor – das Inventar sagt dir, was der Benutzer bereits hat, was ändert, wonach es sich zu suchen lohnt.
Suche parallel: WebSearch; Open Library (search.json?title=&author= ist besser als nacktes
q=); Wikipedia-Infoboxen (/w/index.php?title=<Seite>&action=raw, grep die Infobox)
für Verlag/Datum/ISBN von bekannten Büchern; Verlagsseiten. Für rechtswissenschaftliche Literatur
HeinOnline (§4). Die Google Books API hat ein gemeinsames anonymes Kontingent, das oft
erschöpft ist – behandle sie als Bonus, nicht als Rückgrat.
2a. Kandidaten gegen die Bibliothek prüfen
Mit dem Inventar in der Hand dedupliziere die Kandidatenliste bevor die teure
Verifizieren → Herunterladen → Hinzufügen-Pipeline (§3+) beginnt. Die Verifizierung von Metadaten
und das Herunterladen von PDFs (Hein curl-Ketten, attach_pdf.py) ist der kostspielige Teil eines
Durchlaufs; dies für eine bereits in der Bibliothek vorhandene Quelle zu tun, ist reine
Verschwendung.
- Gleiche jeden Kandidaten gegen das Inventar ab, zuerst nach Autor + Jahr, dann nach Titel – Titel variieren (Untertitel, "Part I", sortierungsinvertierte Artikel, HTML-Entitäten), aber Kollisionen von Autor-plus-Jahr sind ein zuverlässiger Auslöser für eine genauere Betrachtung.
- Entferne eindeutige Übereinstimmungen (gleiches Werk bereits vorhanden) – verifiziere oder lade sie nicht herunter.
- Kennzeichne, entferne nicht stillschweigend, mehrdeutige Nah-Übereinstimmungen (gleicher Autor, ähnlicher, aber nicht identischer Titel; eine andere Ausgabe/Auflage; Artikel vs. sein Online-Begleiter). Manchmal kannst du die genaue Ausgabe erst während der Verifizierung genau bestimmen, also nimm einen echten Vielleicht-Kandidaten mit und vermerke ihn im Bericht, anstatt ihn wegzuraten.
Nur die Überlebenden durchlaufen §3. Die Absicherung vor dem Hinzufügen in §1 fängt dann Duplikate innerhalb des Durchlaufs und Kollisionen mit exakten Ausgaben.
Wenn du doch ein Duplikat erstellst, führe eine Zusammenführung durch, bevor du löschst. Der
vorhandene Eintrag könnte das PDF, die Anmerkungen, die Tags und die Sammlungsmitgliedschaften des
Benutzers enthalten; dein neuer könnte bessere Metadaten enthalten. PATCHE die guten Felder auf den
vorhandenen Eintrag, dann lösche DEINEN. Lösche niemals den älteren Datensatz. (Bei der
Bereinigung vom 2026-08-01 wurde damit ein echter Fehler behoben: Der Kahan-Eintrag des Benutzers
hatte die Zeichenfolge "10.2307" in seinem issue-Feld und keine DOI.)
Arbeitsablaufregel (Autor, 2026-07-16): Jede Law-Review-Quelle über HeinOnline auflösen. Hein ist der saubere, autonome Pfad (§4a: IP-authentifiziert, keine Bot-Mauer, keine Schranke). Eine Quelle, die Hein nicht führt und die kein offenes Repositorium bereitstellt, wird als solche gemeldet (§5), anstatt ohne verifizierten Nachweis hinzugefügt zu werden.
3. Verifizieren → Hinzufügen → Deterministische Prüfung (nicht verhandelbar)
Vor dem Hinzufügen: Jedes Feld, das du schreibst, muss aus einer abgerufenen Quelle stammen –
einem Open Library-Ausgabedatensatz (/isbn/<isbn>.json), einer Verlagsseite, einer Wikipedia-Infobox,
einem Buchhändlereintrag. Schreibe niemals eine plausible ISBN/Datum/Verlag aus dem
Gedächtnis. Hüte dich vor korrupten OL-Ausgabedatensätzen (ein falsches Buch hinter einer ISBN
kommt vor); überprüfe jede Überraschung gegen eine zweite Quelle.
Nach dem Hinzufügen führe den mitgelieferten Prüfer auf genau dem aus, was in Zotero gelandet ist:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/build-library/check_source.py --collection <SCHLÜSSEL> # ganze Sammlung
python3 ${CLAUDE_PLUGIN_ROOT}/skills/build-library/check_source.py --keys K1,K2,K3 # nur neue Einträge
Er löst die ISBN jedes Eintrags über fünf unabhängige Kataloge (Open Library Ausgabe + Suchindex,
Google Books, Harvard Library, Library of Congress) oder seine DOI über Crossref auf und führt
einen normalisierten Zeichenkettenvergleich von Titel/Autoren/Jahr durch. Urteile: PASS,
FAIL (aufgelöst, aber stimmt nicht überein), UNRESOLVED (Identifikator in keinem geprüften
Katalog gefunden – ein Hinweis zur erneuten Verifizierung, kein Beweis für Erfindung: Kataloge
sind unvollständig und manchmal offline), BAD_ISBN (Prüfsumme), NO_IDENTIFIER. --stdin
akzeptiert ein JSON-Array von Zotero-förmigen Einträgen, um Kandidaten vor dem Hinzufügen
vorzuprüfen.
Jeder von dir hinzugefügte Eintrag muss mit PASS enden. Spielbuch für Nicht-PASS:
FAILbei nur einer Quelle → meist Katalogkorruption; der Prüfer versucht bereits die anderen Quellen, daher bedeutet ein anhaltendes FAIL normalerweise, dass deine Daten falsch sind – verifiziere erneut anhand einer geöffneten autoritativen Seite und PATCHE den Eintrag (sendeIf-Unmodified-Since-Version: <Eintragsversion>). Wenn die geöffnete Seite deine Daten bestätigt, zeichne sie alsVerified-URL:auf und sage dies im Bericht, anstatt korrekte Metadaten zu reparieren", um sie an einen Katalog anzupassen.UNRESOLVED/zu-neu-für-Kataloge (Bücher < ~1 Jahr alt) → füge eine abrufbare autoritative Seite alsVerified-URL:imextra-Feld des Eintrags hinzu und führe den Prüfer erneut aus (er erkennt, dass das manuell gesetzteVerified-URL:-Feld den Nachweis über den ausgefallenen Katalogabgleich stellt – das Urteil wird auf PASS gesetzt).BAD_ISBN→ korrigiere die ISBN.NO_IDENTIFIER→ finde eine ISBN/DOI.
PDFs anhängen (optional): python3 ${CLAUDE_PLUGIN_ROOT}/skills/build-library/attach_pdf.py --keys <Schlüssel> <Hein-Abfrage>. Über Heimdatenblatt → PDF-Link → Herunterladen → Basis64
kodieren → an Zotero anhängen (siehe extra.PDF_URL für den zotero MCP). Lehrbücher und
Fallbücher werden (bis auf Weiteres) nur als Metadaten hinzugefügt; die PDF-Verknüpfung istexperimentell.
4. Quellenspezifische Arbeitsabläufe
Die folgenden Arbeitsabläufe sind in dieser Reihenfolge auszuprobieren. Beginne mit HeinOnline für rechtswissenschaftliche Artikel und Büchernachweise, gehe dann zu Open Library usw.
4a. HeinOnline (IP-authentifiziert)
Der primäre Weg für Law-Review-Artikel und juristische Bücher. Hein benötigt IP-AuthentifizierungÜber einen institutionellen Proxy; leite den Proxy vor jedem Abruf ein:
BASH_ENV=~/.claude_proxy bash -c 'curl -s "https://heinonline.org/HOL/License?redirect=1"' # initiiert Sitzung (leite auf Proxy)
BASH_ENV=~/.claude_proxy bash -c 'curl -s "..."'
Such-URLs:
Search(Artikelsuche):https://heinonline.org/HOL/Search?searchtype=advanced?q=<Suchbegriffe>II- Titel der Rechtszeitschrift / Goldner Zitattreffer →
https://heinonline.org/HOL/P?h=hein.journals/<Kürzel><Jahrgang>&i=<Startseite>(die echte Linkstruktur; jede Abfrage benötigt den i-Parameter). Beachte, dass die 'P'-URL das Inhaltsverzeichnis ist; hänge#page=<Seite>an, um zur richtigen Stelle zu scrollen. Für den Zugriff auf den/die PDF-Anhang (Anhang II/Heft), suche nach dem Link "PDF mit Lesezeichen" / dem Download-Symbol auf der Inhaltsseite oder hänge ein#page=<Seite>an die URL an, um die aktuelle Seite anzuzeigen. - Publikationssuche:
https://heinonline.org/HOL/Index?collection=<Sammlungskürzel># z.B.journals,presidents,usccssoderwaisen.
Metadaten aus Heins Zitatanzeige: Wenn Hein einen Zitattreffer zu einem von dir gesuchten Artikel
findet, zeigt die Anzeige die Zitierung als fettgedruckten Text. Sie enthält den Namen der
Rechtszeitschrift, Band, Jahr und die Startseite im Format 62 COLUM. L. REV. 633. Die
Goldene Zitierweise ist eine standardisierte Kurzform vieler Rechtszeitschriftenartikel; z.B.
62 COLUM. L. REV. 633 bedeutet: Band 62 der Columbia Law Review, Seite 633. Die bevorzugte
Methode, Metadaten in Zotero zu erhalten: Verwende den Zitattreffer, um die Zeitschrift, Band,
Jahr, Startseite zu identifizieren; suche dann die Endseite auf der ersten Seite des Artikels in
Hein. Wenn du Probleme hast, den Artikel zu finden, suche nach dem Titel, Autor, Titel der
Rechtszeitschrift, Band und Startseite.
PDFs: Hein-Zugang erfordert curl-Ketten über den Proxy, um die Sitzung aufrechtzuerhalten. Die
PDF-URL ist typischerweise innerhalb eines Aufrufs der Inhaltsseite eingebettet; suche nach einem
href mit .pdf. Anhänge nach Bedarf mit attach_pdfpy.
4b. Open Library
Suche nach Büchern über die Such-API:
curl -s "https://openlibrary.org/search.json?title=<Titel>&author=<Autor>&limit=10"
Hole Ausgabedaten für die ISBN-Verifizierung:
curl -s "https://openlibrary.org/isbn/<ISBN>.json"
Diese API hat kein festes Kontingent und ist für die Erstverifizierung zuverlässig. Liefere falls nötig auch Produktseiten von Verlagen und anderen Buchhändlern.
5. Bericht an den Benutzer
Nachdem der Durchlauf abgeschlossen ist, gib einen kurzen Bericht darüber, was hinzugefügt wurde und was der deterministische Prüfer festgestellt hat:
- Wie viele Einträge wurden zur Sammlung hinzugefügt?
- Wie viele haben den Check bestanden? Wie viele sind fehlgeschlagen?
- Welche Quellen (z.B. Web, Hein, OL, andere) wurden für die Verifizierung verwendet?
- Empfehlungen: Welche Quellen sind noch erforderlich? Welche sind mögliche Erweiterungen?
- Liste der Einträge, die nicht verifiziert werden konnten: "Source not found in any catalog (Hein/Google/Open Library). Could not verify — skipping."
WARNUNG: Gib KEINE falsch positiven Ergebnisse über "Source gefunden" oder "Hein-Abfrage erfolgreich" aus. Sei ehrlich, wenn eine Quelle nicht gefunden oder überprüft werden kann.
6. Fehlerbehandlung und Protokollierung
- API-Ratenbegrenzung: Wenn die Zotero-API einen 429-Fehler zurückgibt, warte 60 Sekunden und
versuche es erneut; wenn erneut ein 429 auftritt, warte 120 Sekunden und versuche es ein letztes
Mal, bevor du den Fehler an den Benutzer weitergibst.
- Auswahl / Erstellung: Jede POST-Anfrage erstellt ein Zotero-Element mit den zuvor gesammelten Metadaten. Die minimale Einheit eines POST ist ein JSON-Objekt, das ein Zotero-Elementrepräsentiert.
- Netzwerkfehler: Nicht-429-Fehler werden als solche gemeldet, mit genügend Kontext, damit der Benutzer die Ursache diagnostizieren kann.
- Protokollierung: Alle API-Aufrufe, Kandidatenprüfungen und Check-Ergebnisse werden protokolliert. Benachrichtige den Benutzer über unerwartete Fehler.
Keine Daten verlieren gehen. Der deterministische Prüfer erfasst jede Diskrepanz. Der gesamte Arbeitsablauf legt Wert auf Überprüfung und Vermeidung von erfundenen Quellen. Wenn Zweifel bestehen, frage den Benutzer, anstatt zu raten.