--- type: types/type-spec.md name: source description: Strukturierter Typ für Source-Seiten, die eingelesenes Rohmaterial erfassen und zusammenfassen schema: types/source.schema.yaml subtype_field: source_type base_dir: sources title_prefix: "Source - " page_ref_fields: [entities, concepts] capture_fields: [fidelity, authority] layout: transcript: {dir: transcripts, title: Transkripte} analysis: {dir: analyses, title: Analysen} article: {dir: articles, title: Artikel} document: {dir: documents, title: Dokumente} notes: {dir: notes, title: Notizen} tracker: {dir: trackers, title: Tracker-Exporte} unclassified: {dir: unclassified, title: Unklassifiziert} --- # Source `source` ist der Typ für Seiten, die eingelesenes Rohmaterial zusammenfassen und katalogisieren. Source-Seiten sind die Brücke zwischen der `raw/`-Schicht (unveränderliche Quelldateien) und der `kb/`-Schicht (kompiliertes Wissen). Eine Source-Seite steht für **eine logische Quelle**, die mehrere Raw-Dateien umfassen kann. ## Wann zu verwenden - Zusammenfassung eines einzelnen externen Artikels, Dokuments oder einer Spezifikation - Erfassung mehrerer zusammengehöriger Notizen oder Gesprächsprotokolle als eine Quelle - Dokumentation eines eingelesenen PDFs, Handbuchs oder sonstigen Dokuments - Festhalten von Informationen zu einem Bild oder Diagramm ## Wann NICHT zu verwenden - Für kompiliertes Wissen (dann `entity` oder `concept`) - Für vergleichende Analysen (dann `comparison`) - Für originären Wiki-Inhalt, der nicht aus Rohmaterial abgeleitet ist ## Frontmatter | Feld | Pflicht | Verwendung | |---|---:|---| | `type` | Ja | `types/source.md` | | `source_type` | Ja | Eines von: transcript, analysis, article, document, notes, tracker, unclassified - kein Default, siehe unten | | `author` | Ja | Urheber des Quellmaterials | | `raw_files` | Ja | Raw-Dateipfade, die diese Quelle **besitzt** - siehe "Eine Raw-Datei, ein Besitzer" unten | | `fidelity` | Ja (im Werkzeug, nicht im Schema) | Wie treu die *Erfassung* ist: `verbatim`, `published`, `secondhand`, `nontextual` - Capture-Feld, siehe unten | | `authority` | Ja (im Werkzeug, nicht im Schema) | Was das Material über seinen *Gegenstand* behaupten darf: `normative`, `reporting`, `opinion` - Capture-Feld, siehe unten | | `source_url` | Nein | Ursprungs-URL bei externen Quellen | | `source_language` | Nein | ISO-639-1-Code der Sprache des Rohmaterials, z. B. `de`, `en`, `fr` | | `date` | Ja | Veröffentlichungs- oder Erstellungsdatum (YYYY-MM-DD) | | `tags` | Nein | Navigations-Tags zur Kategorisierung | | `entities` | Nein | Titel der in dieser Quelle erwähnten Entities | | `concepts` | Nein | Titel der in dieser Quelle erwähnten Concepts | | `summary` | Ja | Einzeiler für `kb/index.md` | ## Autorenanweisungen - Der Titel beginnt mit "Source - ", gefolgt vom Namen der Quelle - `source_type` hat **keinen Default** - `wikitool new source` verweigert ohne einen expliziten Wert. Ist die Kategorie unklar, `unclassified` setzen statt zu raten; das ist ein sichtbares Katalogfach mit beratendem `lint`-Befund, kein Sammelbecken. Was `analysis` von `document` trennt und welche Area welchen Wert hält: [kb/sources/COLLECTION.md](../kb/sources/COLLECTION.md) - `raw_files` listet jede Raw-Datei, die diese Quelle abdeckt (eine Source-Seite pro logischer Quelle, nicht pro Datei) - `fidelity` und `authority` sind **Capture-Felder** (`capture_fields:` oben): am Drop-Punkt erhoben, danach nicht mehr frei änderbar. `wikitool raw accept --fidelity --authority ` verweigert ohne beide; ohne `--page` druckt es stattdessen die fertige `new source --set fidelity=... --set authority=...`-Zeile, die `new source` seinerseits ohne beide Werte verweigert. `wikitool touch --set fidelity=` schreibt nur, solange das Feld fehlt - steht bereits ein Wert, verweigert es und verweist auf `raw accept --replaces` als einzigen Korrekturweg (eine korrigierte Erfassung ist eine neue Edition, keine Bearbeitung). `unknown` ist backfill-only: nur `wikitool touch` darf es schreiben, nie `raw accept` oder `new source` - dieselbe Konstruktion wie bei `source_language` für Seiten, die vor dieser Regel entstanden sind. Was die Werte bedeuten und wie sie sich unterscheiden: [raw/CONTRACT.md](../raw/CONTRACT.md#getting-a-file-in-incoming) - Bei externen Artikeln immer `source_url` auf die Ursprungs-URL setzen - `source_language` auf die Sprache des Rohmaterials setzen, nicht auf die der Seite - Die Seite wird in der KB-Sprache geschrieben, unabhängig von der Sprache der Quelle; wörtliche Passagen werden im Original zitiert (`kb/CONVENTIONS.md` § "Language") - Kernaussagen im Abschnitt Summary zusammenfassen - Handlungsbedarf in den Abschnitt Action Items - Bewusst Weggelassenes in den Abschnitt Not Extracted - siehe unten - Erwähnte Entities und Concepts unter Related Entities/Concepts verlinken ## Not Extracted Die Entscheidung, dass Material *nicht* übernommen werden soll, ist nicht rekonstruierbar: nichts im Repository kann sie neu herleiten, und `sources coverage` weiß nur, ob eine Raw-Datei von irgendeiner Source-Seite beansprucht wird - nie, ob jemand über ihren Inhalt entschieden hat. Bleibt das unaufgeschrieben, wird dieselbe Quelle bei jedem späteren Durchgang neu verhandelt. - Jede bewusste Auslassung mit **Begründung** festhalten, nicht nur mit Dateinamen. - Pflicht, wenn der Ingest über `instructions/ingest-large-tree.md` lief - auf beiden Achsen: beim Tree-Ingest hält der Abschnitt fest, was aus dem Baum nicht übernommen wurde, bei einer thematisch breiten Einzelquelle, welche genannten Gegenstände keine eigene Seite bekommen haben und warum. Optional bei einer einzelnen kleinen Datei - aber ein leerer Abschnitt ist immer noch besser als ein fehlender. - Gehört auf die Source-Seite, nicht in `kb/log.md`: es ist eine Aussage über *diese* Quelle, und das Log ist chronologisch, nicht quellenbezogen. ## Template ```markdown # Source: {name} **Autor:** {author} **Datum:** {date} **Raw-Dateien:** {raw_files|join} **Typ:** {source_type|capitalize} ## Zusammenfassung TODO: 2-3 Absätze zu den Kernaussagen des Quellmaterials. ## Kernaussagen - TODO: Kernaussage 1 - TODO: Kernaussage 2 - TODO: Kernaussage 3 ## Aufgaben - [ ] TODO: Aufgabe 1 - [ ] TODO: Aufgabe 2 ## Nicht übernommen - TODO: Was bewusst nicht übernommen wurde, und warum (oder "nichts - die Quelle wurde vollständig erfasst") ## Verwandte Entities {entities|bullets} ## Verwandte Concepts {concepts|bullets} ``` `# Source:` bleibt als Präfix stehen - es spiegelt den `title_prefix` und damit den Titel, unter dem die Seite verlinkt und zitiert wird. Der Wert hinter `**Typ:**` bleibt der englische Enum-Wert. Fügt `wikitool cite` ein Zitat hinzu, entsteht am Seitenende der toolgeführte Fußnoten-Block; wie er heißt, entscheidet die Instanz in `kb/CONVENTIONS.md` (`sections:`). --- Ergänzende Hinweise: - Source-Seiten sind der maßgebliche Katalog dessen, was an Rohmaterial eingelesen wurde - **Eine Raw-Datei, ein Besitzer.** Eine Raw-Datei steht in genau einem `raw_files:` - diese Seite ist dafür verantwortlich, sie zusammengefasst zu halten. Beliebig viele Seiten dürfen sie per `[^cite-id]` **zitieren**; ein Zitat ist Wiederverwendung, `raw_files:` ist eine Wartungszuständigkeit. Bei zwei Anspruchstellern ist undefiniert, welche Seite bei einer Änderung der Raw-Datei nachgezogen werden muss - dann verrotten beide still - Source-Seiten machen Wissen bis zum ursprünglichen Rohmaterial rückverfolgbar - `raw_files:` enthält konkrete existierende Dateipfade, nie Verzeichnisse - Eine `raw_files:`-Liste jenseits von etwa 15 Einträgen zeigt an, dass der Schnitt zu grob war - die Quelle hätte per `instructions/ingest-large-tree.md` in mehrere Source-Seiten geteilt werden müssen - `entities:` plus `concepts:` jenseits von etwa 20 Einträgen ist das Gegenstück auf der anderen Achse: nicht zu wenig geschnitten, sondern zu viel auf einmal kompiliert. Geteilt wird eine solche Quelle nicht - eine Raw-Datei hat einen Besitzer -, sie hätte den Extract-Pass aus `instructions/ingest-large-tree.md` § "A broad source is not cut" gebraucht, damit nicht jeder genannte Gegenstand eine Seite bekommt