• v4.7.0 3916cb9541

    v4.7.0
    CI / verify (push) Successful in 1m2s
    Release / release (push) Successful in 37s
    Stable

    torben released this 2026-09-04 16:47:41 +00:00 | 59 commits to main since this release

    4.7.0 - 2026-09-04 - Link-Katalog: authored, alternative-to, addresses; entity→entity-Lineage; Lint-Befund gegen redundante see-also

    Author: Torben Nehmer

    • Link-Katalog: authored, alternative-to, addresses; Lint-Befund gegen redundante see-also

    Drei neue Label, zwei geschlossene Autorisierungslücken und ein Lint-Befund - ausgelöst von der
    anstehenden ersten produktiven Instanz. Katalog und COLLECTION.md gehen über dist export in
    jede neue Instanz; was hier fehlt, fehlt dort ab Tag eins, und nachträglich ist eine
    Katalogerweiterung eine Korpus-Migration statt einer Datenzeile. Gitea #43 und #49.

    Die Messung, die den Zuschnitt bestimmt hat. Die 180 see-also-Kanten des Korpus zerfallen
    exakt in drei Klassen: 57 (32 %) sind Spiegel einer bereits typisierten Gegenkante, 70 (39 %)
    sind wechselseitige see-also-Paare, 53 (29 %) stehen einseitig. Die erste Klasse ist kein
    Vokabularproblem - Wine see-also Wine GE steht neben Wine GE depends-on Wine, RAG see-also NotebookLM neben NotebookLM implements RAG. Der Katalog war für ein Drittel der Fälle längst
    ausreichend; es hat sie nur nichts gemeldet. Genau dafür ist der Lint-Befund unten da, und er ist
    der Grund, warum diese Version mehr ist als zwei Katalogzeilen.

    authored (operationales Register). „hat das Ziel als einmaligen Akt geschaffen." Der Katalog
    kannte fortlaufende Rechenschaft (owns) und fortlaufende Arbeit (maintains), aber nicht den
    historischen Ursprung - Urheberschaft stand im Korpus deshalb in vier unvereinbaren Formen
    nebeneinander: source.author als Freitext, owns, see-also und ein Prosa-Bullet. Eine davon
    war sachlich falsch: Vannevar Bush owns Memex behauptet laufende Rechenschaft für einen 1974
    Verstorbenen, und eine falsche maschinenlesbare Kante ist schlechter als eine schwache, weil sie
    geglaubt wird. Geschrieben wird das Label auf der Entity-Seite (Andrej Karpathy authored LLM Wiki Pattern) - die Gegenrichtung authored-by auf der Concept-Seite hätte xref remove
    gebraucht, das beidseitig abräumt, statt xref add, das relabelt. Vier Kanten im Korpus
    umgestellt, keine verloren.

    alternative-to (operationales Register, selbst-dual). „erfüllt denselben Zweck wie das Ziel,
    so dass ein Leser, der zwischen beiden wählt, beide will." Belegt durch rund 30 Paare, darunter
    die sieben Agent-CLIs, die untereinander ausschließlich see-also tragen - keine einzige
    typisierte Kante. Abgegrenzt gegen contrasts (behauptet einen lesenswerten Unterschied) und
    compares-with (wiegt auf benannten Dimensionen ab und führt in dieser Instanz auf eine
    kb/comparisons/-Seite): zwei Agent-CLIs sind austauschbar, zwei gegensätzliche Entwurfsprinzipien
    sind es nicht.

    Der Katalog sagt jetzt ausdrücklich, dass ein selbst-duales Label einmal pro Paar geschrieben
    wird. Ohne diesen Satz wäre aus einer 22-Kanten-see-also-Clique eine 22-Kanten-
    alternative-to-Clique geworden und nichts gewonnen: sieben austauschbare Werkzeuge sind 21
    Paare, beidseitig deklariert 42 Kanten, von denen die zweiten 21 nichts sagen.

    addresses (konzeptionelles Register). „ist eine Antwort auf das Problem, das das Ziel
    beschreibt." types/concept.md deklariert problem und decision als eigene Subtypen, und der
    Katalog hatte kein Label, das eine Entscheidung mit dem Problem verbindet, das sie löst - eine
    Collection konnte ein Problem benennen und nie sagen, was dagegen unternommen wurde. Abgegrenzt
    gegen rests-on, das das Ziel als Prämisse nimmt statt als zu lösendes Problem. Im Korpus nur
    vier belegte Paare, also dünn nach dem sonst geltenden „erst der Anwendungsfall"-Maßstab; die
    Ausnahme ist bewusst und gilt dem Auslieferungszeitpunkt, der die Kosten umdreht.

    Zwei Autorisierungslücken entity→entity. kb/entities/COLLECTION.md erlaubte bisher keine
    Lineage zwischen zwei Entities - ein Fork, eine Neuimplementierung, ein Nachbau war nicht
    ausdrückbar; derived-from und adapted-from sind jetzt freigegeben. Ebenso implements, für
    eine Entity, die eine als Entity geführte Konvention umsetzt. Ein autorisiertes Label ohne
    Live-Nutzung ist ausdrücklich in Ordnung (instructions/dev/corpus-policy.md).

    Lint-Befund redundant_see_also. Meldet eine see-also-Kante, deren Gegenrichtung bereits
    ein typisiertes Label trägt. Gegen den Korpus dieser Instanz meldet er genau die gemessenen 57.
    Advisory, nicht hart, aus zwei Gründen zugleich: eine schwache Kante neben einer spezifischen
    ist redundant, nicht kaputt - und der Befund kommt lange nach den Korpora, die er beurteilt, also
    würde eine harte Einstufung jede bestehende Instanz mit dem Upgrade rot schalten, das ihn
    ausliefert. Anders als unlabelled_edges ist er auch nicht migrations-gegatet: es gibt keine
    Version, ab der die Redundanz zum Fehler wird, nur einen Sweep, zu dem jemand kommt oder nicht.

    links.SEE_ALSO ist damit das einzige Katalog-Label, das das Werkzeug beim Namen kennt. Das ist
    eine begründete Ausnahme, keine Aufweichung: see-also ist der erklärte letzte Ausweg des
    Katalogs und behauptet nur, dass nichts Besseres passte - was der einzige Grund ist, warum lint
    eine Kante als schwächer als eine andere über demselben Paar beurteilen kann. Alles andere am
    Vokabular bleibt in instructions/link-taxonomy.md und den outbound:-Blöcken.

    Nicht dabei, bewusst. Der Sweep der 180 bestehenden Kanten (#48) - diese Version ändert außer
    den vier Urheberschaftskanten keine Korpus-Kante. Verworfen wurden außerdem variant-of (die
    Wine-Forks tragen bereits depends-on Wine), implemented-by (Spiegel von implements, den die
    Inbound-View rendert), sibling-of für die Concept-Cliquen (Über-Verlinkung, kein fehlendes Wort)
    und builds-on (Vokabularkollision mit extends/derived-from/adapted-from).


    This note is a snapshot of the CHANGES.md entry as it stood when the tag was cut, and
    is never edited afterwards. The maintained version of this text - including any later
    correction - is the entry for this version in CHANGES.md in the repository.

    Downloads