Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki: raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren Grenzen in Code durchgesetzt sind statt im Prompt. Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44 Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist. Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs. Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte. Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet - siehe NOTICE.
5.4 KiB
type, name, description, schema, subtype_field, base_dir, title_prefix, page_ref_fields
| type | name | description | schema | subtype_field | base_dir | title_prefix | page_ref_fields | ||
|---|---|---|---|---|---|---|---|---|---|
| types/type-spec.md | source | Strukturierter Typ für Source-Seiten, die eingelesenes Rohmaterial erfassen und zusammenfassen | types/source.schema.yaml | source_type | sources | Source - |
|
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
entityoderconcept) - 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: article, document, notes, spec, image |
author |
Ja | Urheber des Quellmaterials |
raw_files |
Ja | Raw-Dateipfade, die diese Quelle besitzt - siehe "Eine Raw-Datei, ein Besitzer" 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
raw_fileslistet jede Raw-Datei, die diese Quelle abdeckt (eine Source-Seite pro logischer Quelle, nicht pro Datei)- Bei externen Artikeln immer
source_urlauf die Ursprungs-URL setzen source_languageauf 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/CONTRACT.md, Abschnitt "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 als Tree-Ingest lief (siehe
instructions/ingest-large-tree.md). 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
# 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 ## Fußnoten; der Name
steht in tools/chemenu/sections.py.
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 perinstructions/ingest-large-tree.mdin mehrere Source-Seiten geteilt werden müssen