Files
chemenu/work/backfill-capture-fields/plan.md
T
torben 00220f8b07 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
2026-09-09 06:50:01 +02:00

110 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`.