backfill: fidelity/authority auf allen 29 Source-Seiten (#67, Publish 2/3)

Files changed:
- kb/index.md
- kb/log.md
- kb/sources/analyses/Source - Copilot Skill Restructure Instructions.md
- kb/sources/analyses/Source - LLM Improvements Codex Analysis.md
- kb/sources/analyses/Source - LLM Improvements Production Agent Gaps 2026.md
- kb/sources/analyses/Source - LLM Improvements Sonnet Analysis.md
- kb/sources/articles/Source - AMD Powermanagement CPU.md
- kb/sources/articles/Source - LLM Wiki Pattern.md
- kb/sources/articles/Source - LLM Wiki v2.md
- kb/sources/documents/Source - qmd - GitHub Repository.md
- kb/sources/notes/Source - Arch Linux Cheat Sheet.md
- kb/sources/notes/Source - Docker Cheatsheet.md
- kb/sources/notes/Source - Wine.md
- kb/sources/trackers/Source - Gitea Issue 41 - Issue Management and Label Scheme 2026-09-02.md
- kb/sources/trackers/Source - Gitea Issues 62-63 - status-incoming Label Introduction 2026-09-04.md
- kb/sources/transcripts/Source - Conversation - AGENTS.md Skill Restructuring Session 2026-08-04.md
- kb/sources/transcripts/Source - Conversation - Auto Mode and Tool Choice Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - ENVIRONMENT.md as an Optional Third Session-Level File Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Gate Counting and Measured Calibration Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Hardening the Test Suite Against Silent Environment Dependencies Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Issue Triage Labels and TODO Retirement Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Nightly Drift-Check Workflow and doctor's Bootstrap Gap Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Two Round-Trip Defects Found by an Ingest Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Versioning CI-CD and Content Migration Session 2026-08-30.md
- kb/sources/transcripts/Source - Conversation - Write-Once Frontmatter Fields and touch --set Session 2026-08-31.md
- kb/sources/transcripts/Source - MCP Read Server Implementation Session 2026-09-02.md
- kb/sources/transcripts/Source - Private-Instance Merge Correction and Issue 30 Session 2026-09-01.md
- kb/sources/transcripts/Source - Public Release, Corpus Purge and History Squash Session 2026-09-01.md
- kb/sources/transcripts/Source - Publish-Remote Gate and Issue Triage Session 2026-09-01.md
- kb/sources/transcripts/Source - Version Part Nomenclature and Breaking Change Gate Session 2026-09-02.md
- work/backfill-capture-fields/README.md
- work/backfill-capture-fields/plan.md
This commit is contained in:
2026-09-09 06:50:01 +02:00
parent d9af88ffb8
commit 00220f8b07
33 changed files with 239 additions and 3 deletions
+109
View File
@@ -0,0 +1,109 @@
# plan.md — backfill-capture-fields
Backfill von `fidelity` und `authority` (Gitea #67, Publish 2/3) über die **29** bestehenden
Source-Seiten. Die Maschinerie steht seit `4.8.0-beta.8` (`f4353cc`); hier kommt nur der
Bestand nach.
## Korrektur zur Zahl
Der Issue-Body nannte 31 Seiten. Das war eine Fehlzählung (`find kb/sources -name '*.md'` zählt
`INDEX.md` und `COLLECTION.md` mit). Es sind **29** Source-Seiten — dieselbe 29, die #66s
Changelog-Eintrag nennt, und dieselbe Zahl wie die 29 Raw-Dateien.
## Einheiten
**Eine Einheit** (`backfill-capture-fields/u1`), 29 Seiten. Weit unter der Empfehlung von 48 aus
`instructions/migrate-corpus.md` Schritt 2; Kostenschätzung 29 × `touch` + `index rebuild` +
`lint` + `log append` + `publish` (zweimal, Mass-Update-Gate) ≈ 35 Aufrufe gegen die 60er-Decke.
Kein Grund zu schneiden, also kein Schnitt.
## Entscheidungsregel
Ein Backfill-Wert ist **erschlossen**, nicht erhoben — genau die Vermutung, vor der #67 warnt.
Deshalb gilt hier eine engere Regel als beim laufenden Betrieb:
> Ein echter Wert wird nur gesetzt, wo die **Art des Artefakts** ihn aus dem Material selbst
> zweifelsfrei festlegt. Wo zwei kompetente Leser abweichen könnten, steht `unknown`.
`unknown` ist an dieser Stelle keine Bequemlichkeit, sondern die einzige ehrliche Antwort: es ist
backfill-only genau deshalb, weil ein geratener Capture-Wert später nicht mehr von einem
erhobenen zu unterscheiden wäre.
Was die Art des Artefakts festlegt:
| Artefakt | `fidelity` | Begründung |
|---|---|---|
| Gesprächstranskript | `verbatim` | wörtlicher Mitschnitt eines Austauschs |
| Tracker-Export | `verbatim` | die Datei sagt selbst „Wörtliche Kopie des Issue-Threads" |
| Web-Artikel / Blogpost mit `source_url` | `published` | veröffentlichtes Artefakt, als Zitat übernommen |
| LLM-Analyse fremden Materials | `secondhand` | Wiedergabe von etwas anderem |
| Selbstverfasste Notiz / Cheat Sheet | `unknown` | weder Mitschnitt noch Veröffentlichung noch Wiedergabe — der Enum hat keinen Wert dafür |
`authority` folgt der Worked-case-Tabelle aus dem Issue selbst (Zeile „Privat-Projekte":
Systemdoku/Spec = `normative`, Session-Transkript = `reporting`, LLM-Analyse = `opinion`) und
sonst der Frage, ob der Urheber für den **Gegenstand** zuständig war.
## Die 29 Urteile
### verbatim + reporting (18)
16 Gesprächstranskripte (`raw/notes/Conversation Transcript - *.md`) plus die 2 Tracker-Exporte.
Beide Gruppen sind wörtliche Mitschnitte; beide berichten über ihren Gegenstand, statt ihn
festzulegen — ein Issue-Thread ist ein Protokoll, kein Contract. Das normative Artefakt zu
#41/#62 ist `instructions/dev/issue-tracking.md`, nicht der Thread, der dorthin geführt hat.
### verbatim + normative (1)
- `Source - qmd - GitHub Repository` — die Rohdatei erklärt ihre Treue selbst („die API-JSON-Felder
sind wörtlich zitiert; die README-/package.json-Auszüge … wörtlich aus den geholten Dateien").
Ein Projekt-README ist für die Frage, was das Projekt *ist*, zuständig.
### secondhand + opinion (3)
- `Source - LLM Improvements Codex Analysis`, `Source - LLM Improvements Sonnet Analysis`
Modellausgabe über gelesenes Material.
- `Source - LLM Improvements Production Agent Gaps 2026` — der Kopf der Rohdatei sagt es
ausdrücklich: „Aspekt aus einer externen Analyse … vom Nutzer per Chat eingebracht". Also die
Wiedergabe einer fremden Analyse, nicht die Analyse selbst.
### published + reporting (2)
- `Source - AMD Powermanagement CPU` — heise.de-Meldung, wörtlich als Blockzitat übernommen.
Fachjournalismus berichtet über den Kernel-Treiber, er legt ihn nicht fest.
- `Source - LLM Wiki v2` — veröffentlichter Blogpost, der sich selbst als „was wir beim Betrieb
gelernt haben" einführt: Erfahrungsbericht auf einem fremden Muster.
### published + normative (1)
- `Source - LLM Wiki Pattern` — Karpathys ursprüngliche Idea-File. Für die Frage „woraus besteht
das LLM-Wiki-Muster" ist das definierende Dokument zuständig; der Gegenstand der Seite *ist*
der Inhalt dieses Dokuments.
### unknown + normative (1)
- `Source - Copilot Skill Restructure Instructions``fidelity` **unknown**: ein selbst
verfasstes, fertiges Anweisungsdokument ist weder Mitschnitt noch Veröffentlichung noch
Wiedergabe; der Enum hat dafür keinen Wert, und einen zu wählen wäre geraten.
`authority` **normative**: der Text ist eine Direktive des Repo-Eigners an einen Agenten
(„You are restructuring …", „concrete requirements"), und die Umstrukturierung ist so gelaufen.
### unknown + reporting (3)
- `Source - Arch Linux Cheat Sheet`, `Source - Docker Cheatsheet`, `Source - Wine`
`fidelity` **unknown** aus demselben Grund wie oben (eigene Notizen sind keine Erfassung von
etwas anderem). `authority` **reporting**: der Operator ist für Arch, Docker und Wine nicht
zuständig; die Notizen halten fest, was bei ihm funktioniert hat.
## Bilanz für die Changelog-Belegzeile (Publish 3/3)
- `fidelity: unknown` auf **4** von 29 Seiten (1 Anweisungsdokument, 3 Cheat Sheets).
- `authority: unknown` auf **0** Seiten — die Zuständigkeitsfrage war überall aus dem Material
beantwortbar, die Erfassungstreue nicht.
## Was diese Einheit nicht tut
- **Kein `migrate done`.** Das führt die `kb_version` in `.wikitool-kb.json` weiter, und die Kette
dort kommt aus den Dokumenten unter `instructions/migrations/`. #67 hat keins und braucht keins
(MINOR, Felder optional im Schema) — es gibt also keinen nächsten Kettenglied-Eintrag, den
dieser Lauf setzen dürfte.
- **Keine Body-Änderung.** Nur Frontmatter, ausschließlich über `wikitool touch`.