ingest: Breiten-Auslöser als zweite Größenachse, Extract-Pass statt Seite pro Namen (schliesst #61)
Files changed: - CHANGES.md - VERSION - instructions/capture-session.md - instructions/ingest-large-tree.md - instructions/wiki-ingest/SKILL.md
This commit is contained in:
+64
-1
@@ -35,7 +35,7 @@ dev-checkout concern - readable here, never shipped as something to parse.
|
||||
|
||||
---
|
||||
|
||||
## 5.0.0-beta.17 - 2026-09-11 - raw/*/.gitkeep-Glob in dist-upgrade-Doku auf den flachen raw/.gitkeep-Anker korrigiert
|
||||
## 5.0.0-beta.18 - 2026-09-11 - Breiten-Auslöser für Ingests: eine einzelne, thematisch breite Quelle bekommt einen Extract-Pass statt einer Seite pro Namen
|
||||
|
||||
**Author:** Torben Nehmer
|
||||
|
||||
@@ -70,6 +70,7 @@ dev-checkout concern - readable here, never shipped as something to parse.
|
||||
- incoming/.gitkeep als Datei- statt Verzeichnismuster trackbar (schliesst #88)
|
||||
- dist export-Doku: Typverzeichnis-Behauptung nach #67 korrigiert (schliesst #93)
|
||||
- raw/*/.gitkeep-Glob in dist-upgrade-Doku auf den flachen raw/.gitkeep-Anker korrigiert
|
||||
- Breiten-Auslöser für Ingests: eine einzelne, thematisch breite Quelle bekommt einen Extract-Pass statt einer Seite pro Namen
|
||||
<!-- /wikitool:bumps -->
|
||||
|
||||
|
||||
@@ -1384,6 +1385,68 @@ Geändert: `tools/CONTRACT.md` (`dist upgrade`-Zeile), `docs/ownership-and-templ
|
||||
`tools/chemenu/commands/dist_cmd.py` (`--help`-Docstring von `dist upgrade`). Verifiziert:
|
||||
`tools/wikitool docs verify`, `tools/wikitool instructions verify`, volle `pytest`-Suite.
|
||||
|
||||
**Ingests haben jetzt zwei Größenachsen: Volumen und Breite (#61).** `ingest-large-tree` löste
|
||||
bislang ausschließlich auf Volumen aus - mehr als ~20 Rohdateien, mehr als ~15 `raw_files:`-
|
||||
Einträge -, und sein § Scope sagte das auch so: „This is about *volume*, not difficulty."
|
||||
Dazwischen lag eine Lücke: die **einzelne, thematisch breite Quelle**. Sie löst keinen
|
||||
Volumen-Trigger aus, `wiki-ingest` kannte keinen anderen, und was sie anrichtet, meldet kein
|
||||
`lint`-Befund.
|
||||
|
||||
Der Korpus zeigt den Fall genau einmal, dafür deutlich. `Source - LLM Wiki v2`: eine Rohdatei,
|
||||
4 Entities + 26 Concepts, gegen einen Median von 6 über alle 29 Source-Seiten. Der naheliegende
|
||||
Verdacht - die Source-Seite werde vage - trägt nicht: alle 26 Concepts haben eine eigene Seite,
|
||||
die Breite wurde vollständig nachgezogen. Der Schaden sitzt eine Ebene tiefer und ist bimodal:
|
||||
14 der 30 Subjektseiten liegen unter 150 Wörtern (die dünnsten bei 71 bis 78), die übrigen bei
|
||||
541 bis 1.294, gegen einen Korpus-Median von 485. Eine **Stub-Kohorte aus einem einzigen
|
||||
Durchgang**. Keine andere Quelle im Korpus hat eine: bei 18 Gegenständen (`Source - LLM Wiki
|
||||
Pattern`) sind es null, und darunter ebenfalls. Daher die Schwelle bei ~20 statt am
|
||||
75.-Perzentil - ein Auslöser, der auf schadensfreien Seiten feuert, wird ignoriert.
|
||||
|
||||
**Breite wird nicht geschnitten**, und das ist der Teil, der eine eigene Sektion bekommt. Zwei
|
||||
Regeln schließen den Weg: `raw/` hält eine Datei „exactly as received", und eine Rohdatei hat
|
||||
genau einen Besitzer (`lint` meldet einen zweiten Anspruchsteller). Mehrere thematische
|
||||
Source-Seiten über einer Datei wären also nicht bloß unüblich, sondern ließen bei einer neuen
|
||||
Edition niemanden zuständig zurück. Der Schnitt *vor* `raw accept` bleibt davon unberührt - er
|
||||
ist das, was `capture-session` § 1 tut, und er ist nur möglich, weil das Transkript dort noch
|
||||
gar nicht existiert. Diese Abgrenzung steht jetzt in § 1 selbst, weil genau dort der
|
||||
Fehlschluss ansetzt, ein empfangenes Dokument ließe sich genauso zerlegen.
|
||||
|
||||
Was die Breite stattdessen auslöst, ist der Extract-Pass vor dem Schreiben und die Regel, die
|
||||
er beliefert: **ein Gegenstand bekommt eine Seite, wenn die Quelle Material für eine trägt.**
|
||||
Eine beiläufige Erwähnung bekommt einen Wikilink von der Source-Seite und eine Zeile unter
|
||||
`## Not Extracted`, keine eigene Seite. Eine Seite, die nur ihren eigenen Titel wiederholt, ist
|
||||
schlechter als die Erwähnung, aus der sie entstand: `lint` misst Struktur und nie Substanz, also
|
||||
meldet sie niemand, und die nächste Sitzung liest sie als abgedecktes Terrain und schaut nicht
|
||||
mehr in die Quelle.
|
||||
|
||||
Der vendorierte `commonplace`-Korpus stützt den Verzicht auf einen Source-Split unabhängig vom
|
||||
Befund aus dem Baum, was ihn zum belastbareren Teil der Begründung macht: Atomizität ist dort
|
||||
ausschließlich mit Co-Loading für Entdeckung begründet und gilt damit der Library-Schicht
|
||||
(`kb/entities/`, `kb/concepts/`), nicht der Evidenz-Schicht; ein Mehr-Aussagen-Dokument ist per
|
||||
`title-as-claim` Referenz statt Prämisse, weshalb Breite seiner Rolle nicht schadet; und die
|
||||
Forderung, Forward-Lineage müsse den Betreiber unterbrechen, erreicht „eine Rohdatei, ein
|
||||
Besitzer" auf eigenem Weg.
|
||||
|
||||
Nicht gebaut: ein `lint`-Befund gegen die Stub-Kohorte. Er wäre die Beobachtungsseite derselben
|
||||
Sache, braucht aber eine eigene Schwellenwertdiskussion - Wortzahl ist ein grober Proxy für
|
||||
Substanz - und liegt als eigenes Issue auf dem Board. Die Schwelle ~20 ruht auf einem einzigen
|
||||
Schadenspunkt und ist entsprechend vorläufig.
|
||||
|
||||
MINOR, kein neues Boundary-Crossing: additiv in beide Richtungen. Eine bestehende Instanz
|
||||
bekommt einen zusätzlichen Auslöser und eine zusätzliche Regel in Dateien, die der Stack
|
||||
besitzt; nichts an `kb/`, keinem Schema, keinem Kommando und keinem Flag ändert sich, und ein
|
||||
Downgrade nimmt beides ersatzlos zurück. Der Kandidat steht ohnehin auf MAJOR, der Bump
|
||||
erhöht also nur seinen Zähler.
|
||||
|
||||
Geändert: `instructions/ingest-large-tree.md` (§ When to run auf zwei Achsen, Tier-Tabelle,
|
||||
neue § A broad source is not cut, § Scope, ein Decision Point, `description`),
|
||||
`instructions/wiki-ingest/SKILL.md` (Schritt 2 verweist jetzt auf die Schwellenliste statt sie
|
||||
zu wiederholen, Schritt 7 trägt die Seiten-Regel, Schritt 8 und ein Decision Point ziehen nach),
|
||||
`instructions/capture-session.md` (§ 1 Abgrenzung). Verifiziert: `tools/wikitool docs verify`,
|
||||
`tools/wikitool instructions verify`, volle `pytest`-Suite (1195 passed), `docs toc --apply` und
|
||||
`instructions sync` für die generierten Regionen und die veröffentlichten Kopien.
|
||||
Schließt #61.
|
||||
|
||||
---
|
||||
|
||||
## 4.7.4 - 2026-09-04 - bootstrap.md nennt den session-id-WARN nach frischem Bootstrap explizit als erwartet
|
||||
|
||||
Reference in New Issue
Block a user