Dump stackexchange_20260331 (newest mirror), 6 sites, downloads running; streamed ingest/filter/tags pipeline; status writer + homepage strip show the layer's build progress every 5 minutes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PDKeXvpT6tENSvyQGLV1Uq
3.0 KiB
DECISIONS — Stack-Exchange-Wissensschicht
Autonome Entscheidungen dieser Pipeline, chronologisch.
D1 — Dump-Version
stackexchange_20260331 (archive.org-Suche am 2026-07-09 ergab einen neueren
Mirror als den im Briefing genannten stackexchange_20251231). Dateien liegen
im Unterordner stackexchange_20260331/; alle 6 Ziel-Archive vorhanden,
zusammen ~929 MB (Meta-Sites bewusst NICHT geladen).
D2 — Projektort & Repo
Als Unterprojekt knowledge/ im bestehenden Pipeline-Repo C:\dev\skillfactor
(Branch quality/reference-standard), nicht als separates Repo: die
Homepage-Quellen (gitea-custom/templates/home.tmpl), stats.json-Erzeugung
und die Provenance-Maschinerie (p3d) leben hier — die SE-Integration greift
direkt in diese Bausteine.
D3 — Referenz-Taxonomien
KEIN Neu-Download: ESCO v1.2.1 und O*NET 30.3 liegen bereits vollständig als
Tabellen im lokalen MSSQL (skillfactor-DB: esco_occupation, esco_skill,
esco_occ_skill, onet_occupation, onet_task, onet_software, …), geladen von den
offiziellen Quellen in einer früheren Pipeline-Phase. Wiederverwendung ist
idempotent und spart Zeit/Bandbreite; Versionen sind in den Paket-Manifests
dokumentiert.
D4 — 7z-Entpackung
py7zr (pip) statt System-7-Zip: keine Binary-Abhängigkeit, selektive
Extraktion nur von Posts.xml + Tags.xml je Site.
D5 — LLM-Arbeitsteilung (Kosten/Kontext)
- Tag→Taxonomie-Mapping: Claude klassifiziert die frequenzstärksten Tags direkt in Batches (Sprachverständnis, Konfidenz + Rationale); der Long-Tail (niedrige Frequenz nahe der 20er-Schwelle) läuft über das lokale gemma3:27b mit Claude-designtem Prompt und wird stichprobengeprüft. Grund: mehrere tausend Tags × Rationale sprengen das Session-Kontextbudget.
- Q&A-Zusammenfassungen (Schritt 4, ~10×150 Einträge): lokales gemma3 (etabliertes Muster der Evidence-Pipeline: Ollama extrahiert, Claude designt Prompt + validiert + macht Stichproben-QA). Läuft detached, GPU wird mit dem laufenden Evidence-Crawl geteilt.
D6 — Homepage-Integration
Der Homepage-Code LIEGT im Arbeitsverzeichnis (Live-Template
Tools\gitea\custom\templates\home.tmpl, Spiegel in
gitea-custom/templates/). Integration erfolgt daher direkt (kein
homepage/-Snippet-Ordner nötig): Stack Exchange wird 6. Provenance-Kategorie
(stackx) in p3d/p4/stats.json; der Donut-/Legenden-Anteil bemisst sich
datenbasiert aus den Content-Items der kompilierten Q&A-Einträge (gleiche
Zählmethode wie alle anderen Quellen: count_items über die generierten
Dateien). Für die 10 Eval-Berufe wird das kompilierte Wissen zusätzlich als
references/practitioner-qa.md in die zugehörigen Skill-Pakete gelegt —
damit ist der Pie-Anteil echt gemessen, nicht angenommen.
D7 — Live-Fortschritt (Nutzerwunsch 2026-07-09)
Die Pipeline schreibt knowledge/data/progress-se.json nach jedem Schritt;
der bestehende 5-Minuten-Status-Writer merged das in assets/status.json,
die Homepage-Statusleiste zeigt den SE-Layer-Stand neben dem Crawl-Zähler.