Kein Label für Urheberschaft: authored neben owns und maintains #43

Closed
opened 2026-09-03 01:49:08 +00:00 by torben · 2 comments
Owner

Erledigt in 4.7.0 (Commit 3916cb9, CI-Runs 161 und 162 grün).

Was das Problem war

instructions/link-taxonomy.md kannte fortlaufende Rechenschaft (owns) und fortlaufende Arbeit (maintains), aber nicht den einmaligen Schöpfungsakt. Urheberschaft stand deshalb im Korpus in vier unvereinbaren Formen nebeneinander:

Form Beispiel
author:-Frontmatter (Freitext, Pflichtfeld) Rohit Gupta (agentmemory) + Andrej Karpathy (original)
owns-Label Vannevar Bush owns Memex
see-also-Label Andrej Karpathy see-also LLM Wiki Pattern (+2 weitere)
Prosa-Bullet mit Wikilink - **Autor:** [[Rohit Gupta]] in Agent Memory.md

Nicht die Label-Lücke war der Defekt, sondern diese Uneinheitlichkeit — und eine der Kanten war sachlich falsch, nicht nur schwach: owns behauptet „is accountable for the target's existence and decisions", und Vannevar Bush ist 1974 gestorben.

Was entschieden und gebaut wurde

Ein Label authored, im operationalen Register direkt hinter owns, geschrieben auf der Entity-Seite. Die drei bilden dort jetzt die Unterscheidung, die der Befund gefunden hatte: Ursprung / Rechenschaft / Arbeit.

Der Katalogtext sagt dazu ausdrücklich, dass owns eine stehende Behauptung ist und deshalb über eine verstorbene oder längst abgewanderte Person falsch liest, so klar sie die Sache auch gemacht hat — „picking owns for it is not a weaker edge but a wrong one."

Die Richtung wurde gegenüber der ursprünglichen Fassung gedreht. Der erste Vorschlag war authored-by auf der Concept-Seite. Das hätte xref remove gebraucht, das laut tools/CONTRACT.md beidseitig abräumt und die frisch geschriebene Gegenkante mitgelöscht hätte. authored auf der Entity-Seite erfüllt ADR-058 genauso sauber und kommt mit reinem xref add aus, das relabelt statt anzuhängen und nur die Quellseite anfasst.

Verworfen, mit Begründung:

  • builds-on — load-bearing vocabulary collision mit extends/derived-from/adapted-from (Commonplace: beim Schreiben verhindern, nicht beim Lesen auflösen). Die Kante, die es motiviert hatte (Rohit Gupta see-also Andrej Karpathy), ist ohnehin keine Urheberschaft.
  • Ein eigenes Register Authorship — ein einzelnes Label braucht keins; jede Prägung ist ein globaler Name, den jeder Leser mitträgt.
  • Ein Inversenpaar authored/authored-by — anders als bei composition/part-of benennt die Gegenrichtung dieselbe Tatsache. Die Inbound-View rendert sie.

Umgestellte Kanten

Von Nach Vorher Nachher
Andrej Karpathy LLM Wiki Pattern see-also authored
Andrej Karpathy Three-Layer Architecture see-also authored
Andrej Karpathy Knowledge Compounding see-also authored
Vannevar Bush Memex owns (falsch) authored

Bewusst unverändert geblieben: Rohit Gupta owns Agent Memory (er pflegt es weiter, owns ist korrekt), Rohit Gupta see-also LLM Wiki Pattern und Vannevar Bush see-also LLM Wiki Pattern (erweitert bzw. antizipiert, nicht geschaffen), E3DC GmbH owns E3DC, der Prosa-Bullet in Agent Memory.md (die Maschinenkante trägt bereits owns) und types/source.mds author:-Feld (anderer Zweck: Urheber des Rohmaterials, oft ohne Personenseite).

Akzeptanzkriterien

  • instructions/link-taxonomy.md führt authored im operationalen Register mit dem Satz, den es vervollständigt — plus Abgrenzungsabsatz gegen owns/maintains
  • kb/entities/COLLECTION.md autorisiert authored für concepts: und entities:
  • Die vier Kanten tragen authored — mit wikitool links show für beide Personenseiten bestätigt
  • wikitool lint --full: 0 unauthorised_labels, 0 malformed_edges
  • Keine Kante verloren — see-also 180→177, owns 4→3, authored 0→4; Karpathy behält 3 Kanten, Bush 2
  • Keine Person-Entity trägt mehr owns auf ein Werk eines Verstorbenen
  • VERSION auf 4.7.0 (--minor, additiv), CHANGES.md-Eintrag geschrieben
  • docs verify und instructions verify exit 0, pytest 975 grün, CI-Runs 161/162 success

Was daraus noch offen ist

Nichts an diesem Befund. Zwei Nachbarn sind daraus entstanden:

  • #49 (geschlossen, 4.7.0/4.7.1) — die Katalog-Erweiterung, die im selben Bump mitkam: alternative-to, addresses, entity→entity-Lineage, Lint-Befund redundant_see_also.
  • #48 (offen) — der Sweep der verbleibenden see-also-Kanten des Korpus. Urheberschaft war davon 3 %; die Masse liegt woanders.
**Erledigt in 4.7.0** (Commit `3916cb9`, CI-Runs 161 und 162 grün). ## Was das Problem war `instructions/link-taxonomy.md` kannte fortlaufende Rechenschaft (`owns`) und fortlaufende Arbeit (`maintains`), aber nicht den einmaligen Schöpfungsakt. Urheberschaft stand deshalb im Korpus in vier unvereinbaren Formen nebeneinander: | Form | Beispiel | |---|---| | `author:`-Frontmatter (Freitext, Pflichtfeld) | `Rohit Gupta (agentmemory) + Andrej Karpathy (original)` | | `owns`-Label | `Vannevar Bush owns Memex` | | `see-also`-Label | `Andrej Karpathy see-also LLM Wiki Pattern` (+2 weitere) | | Prosa-Bullet mit Wikilink | `- **Autor:** [[Rohit Gupta]]` in `Agent Memory.md` | Nicht die Label-Lücke war der Defekt, sondern diese Uneinheitlichkeit — und eine der Kanten war sachlich falsch, nicht nur schwach: `owns` behauptet „is accountable for the target's existence and decisions", und Vannevar Bush ist 1974 gestorben. ## Was entschieden und gebaut wurde **Ein Label `authored`**, im operationalen Register direkt hinter `owns`, geschrieben auf der **Entity-Seite**. Die drei bilden dort jetzt die Unterscheidung, die der Befund gefunden hatte: Ursprung / Rechenschaft / Arbeit. Der Katalogtext sagt dazu ausdrücklich, dass `owns` eine *stehende* Behauptung ist und deshalb über eine verstorbene oder längst abgewanderte Person falsch liest, so klar sie die Sache auch gemacht hat — „picking `owns` for it is not a weaker edge but a wrong one." **Die Richtung wurde gegenüber der ursprünglichen Fassung gedreht.** Der erste Vorschlag war `authored-by` auf der Concept-Seite. Das hätte `xref remove` gebraucht, das laut `tools/CONTRACT.md` beidseitig abräumt und die frisch geschriebene Gegenkante mitgelöscht hätte. `authored` auf der Entity-Seite erfüllt ADR-058 genauso sauber und kommt mit reinem `xref add` aus, das relabelt statt anzuhängen und nur die Quellseite anfasst. **Verworfen, mit Begründung:** - `builds-on` — load-bearing vocabulary collision mit `extends`/`derived-from`/`adapted-from` (Commonplace: beim Schreiben verhindern, nicht beim Lesen auflösen). Die Kante, die es motiviert hatte (`Rohit Gupta see-also Andrej Karpathy`), ist ohnehin keine Urheberschaft. - Ein eigenes Register `Authorship` — ein einzelnes Label braucht keins; jede Prägung ist ein globaler Name, den jeder Leser mitträgt. - Ein Inversenpaar `authored`/`authored-by` — anders als bei `composition`/`part-of` benennt die Gegenrichtung *dieselbe* Tatsache. Die Inbound-View rendert sie. ## Umgestellte Kanten | Von | Nach | Vorher | Nachher | |---|---|---|---| | Andrej Karpathy | LLM Wiki Pattern | `see-also` | `authored` | | Andrej Karpathy | Three-Layer Architecture | `see-also` | `authored` | | Andrej Karpathy | Knowledge Compounding | `see-also` | `authored` | | Vannevar Bush | Memex | `owns` (falsch) | `authored` | Bewusst unverändert geblieben: `Rohit Gupta owns Agent Memory` (er pflegt es weiter, `owns` ist korrekt), `Rohit Gupta see-also LLM Wiki Pattern` und `Vannevar Bush see-also LLM Wiki Pattern` (erweitert bzw. antizipiert, nicht geschaffen), `E3DC GmbH owns E3DC`, der Prosa-Bullet in `Agent Memory.md` (die Maschinenkante trägt bereits `owns`) und `types/source.md`s `author:`-Feld (anderer Zweck: Urheber des Rohmaterials, oft ohne Personenseite). ## Akzeptanzkriterien - [x] `instructions/link-taxonomy.md` führt `authored` im operationalen Register mit dem Satz, den es vervollständigt — plus Abgrenzungsabsatz gegen `owns`/`maintains` - [x] `kb/entities/COLLECTION.md` autorisiert `authored` für `concepts:` und `entities:` - [x] Die vier Kanten tragen `authored` — mit `wikitool links show` für beide Personenseiten bestätigt - [x] `wikitool lint --full`: 0 `unauthorised_labels`, 0 `malformed_edges` - [x] Keine Kante verloren — `see-also` 180→177, `owns` 4→3, `authored` 0→4; Karpathy behält 3 Kanten, Bush 2 - [x] Keine Person-Entity trägt mehr `owns` auf ein Werk eines Verstorbenen - [x] `VERSION` auf 4.7.0 (`--minor`, additiv), CHANGES.md-Eintrag geschrieben - [x] `docs verify` und `instructions verify` exit 0, `pytest` 975 grün, CI-Runs 161/162 success ## Was daraus noch offen ist Nichts an diesem Befund. Zwei Nachbarn sind daraus entstanden: - **#49** (geschlossen, 4.7.0/4.7.1) — die Katalog-Erweiterung, die im selben Bump mitkam: `alternative-to`, `addresses`, entity→entity-Lineage, Lint-Befund `redundant_see_also`. - **#48** (offen) — der Sweep der verbleibenden `see-also`-Kanten des Korpus. Urheberschaft war davon 3 %; die Masse liegt woanders.
torben added the prio/waitingsize/Sarea/kbkind/decision labels 2026-09-03 01:49:08 +00:00
torben changed title from Der Link-Katalog hat kein Register für Urheberschaft - drei Kanten stehen ersatzweise auf see-also to Kein Label für Urheberschaft: `authored` neben `owns` und `maintains` 2026-09-04 15:56:23 +00:00
torben added prio/plannedkind/build and removed prio/waitingkind/decision labels 2026-09-04 15:56:34 +00:00
Author
Owner

Changelog: Body von „zu entscheiden" auf entschiedene Spezifikation umgeschrieben (Sitzung 2026-09-04, Prüfung gegen Korpus + Commonplace).

Korrigiert: Der Befund waren nicht drei see-also-Kanten, sondern sechs — und Urheberschaft steht im Korpus in vier unvereinbaren Formen (source.author, owns, see-also, Prosa-Bullet). Die alte prio/waiting-Begründung („der Korpus ist konsistent, keine Kante trägt ein falsches Label") ist widerlegt: Vannevar Bush owns Memex behauptet laufende Rechenschaft für einen 1974 Verstorbenen.

Entschieden: ein Label authored, im operationalen Register hinter owns, geschrieben auf der Entity-Seite. Damit kommt die Umsetzung mit reinem xref add aus — die ursprünglich vorgeschlagene Richtung (authored-by auf der Concept-Seite) hätte xref remove gebraucht, das laut tools/CONTRACT.md bidirektional abräumt und die frisch geschriebene Gegenkante mitgelöscht hätte. Als Invariante im Body festgehalten.

Gestrichen: builds-on (load-bearing vocabulary collision mit extends/derived-from/adapted-from), das eigene Register Authorship (ein Label braucht keins), und die Inversenpaar-Frage (die Gegenrichtung benennt dieselbe Tatsache — anders als bei composition/part-of; die Inbound-View rendert sie).

Neu: konkrete Kantentabelle (4 relabeln, 7 bewusst unverändert mit Begründung), Akzeptanzkriterien als prüfbare Eigenschaften statt Aktivitäten, Abgrenzung gegen den größeren see-also-Befund.

Labels: kind/decisionkind/build, prio/waitingprio/planned (der Auslöser ist gefallen — die Wartebegründung war die widerlegte Konsistenzannahme). size/S bleibt.

Nebenbefund, separat verfolgt: see-also ist 180 von 514 Kanten (35 %), das mit Abstand häufigste Label; link-taxonomy.md nennt das wörtlich ein Vokabularproblem. Urheberschaft ist davon 3 %.

**Changelog:** Body von „zu entscheiden" auf entschiedene Spezifikation umgeschrieben (Sitzung 2026-09-04, Prüfung gegen Korpus + Commonplace). Korrigiert: Der Befund waren nicht drei `see-also`-Kanten, sondern sechs — und Urheberschaft steht im Korpus in vier unvereinbaren Formen (`source.author`, `owns`, `see-also`, Prosa-Bullet). Die alte `prio/waiting`-Begründung („der Korpus ist konsistent, keine Kante trägt ein falsches Label") ist widerlegt: `Vannevar Bush owns Memex` behauptet laufende Rechenschaft für einen 1974 Verstorbenen. Entschieden: **ein** Label `authored`, im operationalen Register hinter `owns`, geschrieben auf der **Entity-Seite**. Damit kommt die Umsetzung mit reinem `xref add` aus — die ursprünglich vorgeschlagene Richtung (`authored-by` auf der Concept-Seite) hätte `xref remove` gebraucht, das laut `tools/CONTRACT.md` bidirektional abräumt und die frisch geschriebene Gegenkante mitgelöscht hätte. Als Invariante im Body festgehalten. Gestrichen: `builds-on` (load-bearing vocabulary collision mit `extends`/`derived-from`/`adapted-from`), das eigene Register `Authorship` (ein Label braucht keins), und die Inversenpaar-Frage (die Gegenrichtung benennt dieselbe Tatsache — anders als bei `composition`/`part-of`; die Inbound-View rendert sie). Neu: konkrete Kantentabelle (4 relabeln, 7 bewusst unverändert mit Begründung), Akzeptanzkriterien als prüfbare Eigenschaften statt Aktivitäten, Abgrenzung gegen den größeren `see-also`-Befund. Labels: `kind/decision` → `kind/build`, `prio/waiting` → `prio/planned` (der Auslöser ist gefallen — die Wartebegründung war die widerlegte Konsistenzannahme). `size/S` bleibt. Nebenbefund, separat verfolgt: `see-also` ist 180 von 514 Kanten (35 %), das mit Abstand häufigste Label; `link-taxonomy.md` nennt das wörtlich ein Vokabularproblem. Urheberschaft ist davon 3 %.
Author
Owner

Changelog: Body auf Abschlussstand. Spezifikation durch Ergebnis ersetzt, alle acht Akzeptanzkriterien abgehakt und mit dem benannt, was sie belegt (links show je Personenseite, Labelverteilung vorher/nachher, CI-Runs 161/162). Verworfene Vorschläge stehen jetzt als verworfen mit Begründung statt als offene Optionen. Verweise auf #49 (Katalog-Erweiterung, im selben Bump) und #48 (verbleibender Sweep) ergänzt. Geschlossen.

**Changelog:** Body auf Abschlussstand. Spezifikation durch Ergebnis ersetzt, alle acht Akzeptanzkriterien abgehakt und mit dem benannt, was sie belegt (`links show` je Personenseite, Labelverteilung vorher/nachher, CI-Runs 161/162). Verworfene Vorschläge stehen jetzt als verworfen mit Begründung statt als offene Optionen. Verweise auf #49 (Katalog-Erweiterung, im selben Bump) und #48 (verbleibender Sweep) ergänzt. Geschlossen.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#43