docs: Belegzeile zum fidelity/authority-Backfill, Lauf geschlossen (schliesst #67)
CI / verify (push) Successful in 51s
CI / verify (push) Successful in 51s
Files changed: - CHANGES.md - kb/log.md - work/backfill-capture-fields/README.md - work/backfill-capture-fields/plan.md
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
# Workshop: backfill-capture-fields
|
||||
|
||||
- **Run key:** `backfill-capture-fields` (this directory's name - there is no other identifier)
|
||||
- **Input:** none - this run is not an ingest
|
||||
- **Started:** 2026-09-08
|
||||
- **Session id form:** `WIKITOOL_SESSION_ID="backfill-capture-fields/u<N>"`, one per unit
|
||||
|
||||
## Goal
|
||||
|
||||
Gitea #67, Publish 2/3: `fidelity` und `authority` auf allen 29 bestehenden Source-Seiten
|
||||
nachtragen, nach der Entscheidungsregel in `plan.md` — echter Wert nur, wo die Art des
|
||||
Artefakts ihn festlegt, sonst `unknown`.
|
||||
|
||||
Die Maschinerie dafür steht seit `4.8.0-beta.8` (`f4353cc`). Dieser Lauf ändert **nur**
|
||||
Frontmatter, ausschließlich über `wikitool touch --set`, keine Bodies.
|
||||
|
||||
## Closes when
|
||||
|
||||
Alle 29 Seiten tragen beide Felder, `migrate verify --from HEAD --path kb/sources
|
||||
--fail-on-error` ist grün (0 findings außerhalb der beabsichtigten Frontmatter-Änderungen),
|
||||
`lint` läuft durch, und der Publish ist nach Mass-Update-Gate-Freigabe gelandet.
|
||||
|
||||
Danach bleibt für #67 nur noch Publish 3/3: die Belegzeile im Changelog (wie viele Seiten
|
||||
`unknown` tragen, und ob der `confidence_exceeds_source_standing`-Befund einen echten Fall
|
||||
findet). Die Zahlen dafür stehen in `plan.md` § Bilanz.
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] u1 — 29 Seiten `touch --set fidelity=… --set authority=…` nach `plan.md`
|
||||
- [ ] u1 — `migrate verify --from HEAD --path kb/sources --fail-on-error`
|
||||
- [ ] u1 — `index rebuild`, `sources rebuild-index`, `lint` (ganzen Report lesen, nicht nur die
|
||||
Abschnitte, die dieser Lauf plausibel berührt hat)
|
||||
- [ ] u1 — `log append`, dann `publish` (exit 42 erwartet, Freigabe einholen)
|
||||
- [ ] Workshop schließen (Verzeichnis löschen), sobald der Publish gelandet ist
|
||||
|
||||
## Open decisions
|
||||
|
||||
- Keine. Die vier Entscheidungen des Pakets (3a/3b/5a/Versionsteil) sind am 2026-09-08 im Issue
|
||||
gefallen; die Backfill-Regel selbst steht in `plan.md` und braucht keine weitere Freigabe.
|
||||
|
||||
## Notizen
|
||||
|
||||
- `date:` der Source-Seiten wird **nicht** angefasst: das ist das Veröffentlichungsdatum des
|
||||
Rohmaterials, nicht der Zeitpunkt dieser Bearbeitung (`touch` bewegt es ohne explizites
|
||||
`--date` ohnehin nicht).
|
||||
- Kein `migrate done` — Begründung in `plan.md` § Was diese Einheit nicht tut.
|
||||
@@ -1,109 +0,0 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user