Katalog-Erweiterung vor der ersten produktiven Instanz: alternative-to, addresses, entity→entity-Lineage, Lint-Befund gegen redundante see-also
#49
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Erledigt in 4.7.0 (Commit
3916cb9, CI-Runs 161/162 grün) und 4.7.1 (Commit24593c5, die Doku-Hälfte).Warum das jetzt lief
Eine erste produktive Instanz steht an. Katalog und
COLLECTION.mdgehen überdist exportin jede neue Instanz — der Katalog verbatim, die Contracts als.template. Was hier fehlt, fehlt dort ab Tag eins, und nachträglich ist eine Katalogerweiterung eine Korpus-Migration statt einer Datenzeile.Die Messung, die den Zuschnitt bestimmt hat
180
see-also-Kanten, exakt partitioniert (57 + 70 + 53 = 180):see-also-Paaresee-alsoDie erste Klasse hat den Zuschnitt umgedreht:
Wine see-also Wine GEsteht nebenWine GE depends-on Wine,RAG see-also NotebookLMnebenNotebookLM implements RAG. Ein Drittel des Befunds war Redundanz, kein Vokabularloch — deshalb ist der Lint-Check unten nicht Beiwerk, sondern der Teil mit der größten Wirkung.Was gebaut wurde
alternative-to(operationales Register, selbst-dual). „serves the same purpose as the target, so a reader choosing between them wants both." Belegt durch ~30 Paare; die sieben Agent-CLIs tragen untereinander ausschließlichsee-also, keine einzige typisierte Kante. Abgegrenzt gegencontrasts(lesenswerter Unterschied) undcompares-with(benannte Dimensionen, führt auf einekb/comparisons/-Seite).Dazu ein eigener Absatz im Katalog: ein selbst-duales Label wird einmal pro Paar geschrieben. Ohne ihn wäre aus einer 22-Kanten-
see-also-Clique eine 22-Kanten-alternative-to-Clique geworden. Sieben austauschbare Werkzeuge sind 21 Paare; beidseitig deklariert 42 Kanten, von denen die zweiten 21 nichts sagen.addresses(konzeptionelles Register). „is a response to the problem the target describes."types/concept.mddeklariertproblemunddecisionals Subtypen, und der Katalog hatte kein Label dazwischen — eine Collection konnte ein Problem benennen und nie sagen, was dagegen unternommen wurde. Abgegrenzt gegenrests-on(nimmt das Ziel als Prämisse). Nur vier belegte Paare im Korpus, also dünn nach worked-case-first; die Ausnahme ist bewusst und gilt dem Auslieferungszeitpunkt.authoredkam aus #43 im selben Bump.Autorisierungen entity→entity:
derived-fromundadapted-from(Fork, Neuimplementierung, Nachbau waren zwischen zwei Entities nicht ausdrückbar), dazuimplements(eine Entity, die eine als Entity geführte Konvention umsetzt). BeideCOLLECTION.mdhaben einen Absatz bekommen, der die Fallstricke der neuen Label benennt statt sie nur zu listen.Lint-Befund
redundant_see_also. Meldet einesee-also-Kante, deren Gegenrichtung bereits ein typisiertes Label trägt. Advisory, nicht hart, und ausdrücklich nicht migrations-gegatet: es gibt keine Version, ab der die Redundanz zum Fehler wird.links.SEE_ALSOist damit das einzige Katalog-Label, das das Werkzeug beim Namen kennt — begründet im Code, weilsee-alsoder erklärte letzte Ausweg ist und nur deshalb als schwächer als eine andere Kante beurteilbar.Was beim Abschluss noch gefunden wurde (4.7.1)
Zwei Prosa-Stellen, die kein Check fängt:
tools/CONTRACT.mdzählt in derlint-Zeile die Befunde auf und kannte den neuen nicht. Eine Instanz hätte eine Report-Sektion gefunden, die ihr Contract nicht erklärt.docs verifyprüft, dass die Kommandotabelle existiert, nie was in einer Zeile steht.instructions/wiki-lint/SKILL.md— die wichtigere der beiden. Der neue Befund liest sich wie etwas, das Schritt 7 („repariere, was mechanisch ist") abräumt, und der naheliegende Griff wärexref remove, das die Referenz beidseitig löscht. AufWine see-also Wine GEnebenWine GE depends-on Wineangewandt hätte das die schwache und die spezifische Kante entfernt. Ein Befund, dessen offensichtliche Reparatur Daten zerstört, ist schlechter als kein Befund; die Falle steht jetzt in Schritt 1, mitxref add(nur Quellseite) als Ausweg. Dieselbe Asymmetrie hat in #30 schon einmal Daten gekostet.Akzeptanzkriterien
link-taxonomy.mdführtalternative-toundaddressesmit ihrem Satz und den Abgrenzungenkb/entities/COLLECTION.md:alternative-to,authored,implements,derived-from,adapted-fromfürentities:;alternative-to,authoredfürconcepts:kb/concepts/COLLECTION.md:addresses,alternative-tofürconcepts:;alternative-tofürentities:lint --jsonträgtredundant_see_also; sechs Tests decken Melden, Nicht-Melden, den wechselseitigen Fall, dass nie die spezifische Seite gemeldet wird, die Advisory-Einstufung über dreikb_version-Stände und das Durchreichen in Report und Summary abredundant_see_alsonicht inhard_error_keys(), dafür inscorecard.ADVISORY_KEYSpytest975 grün,docs verifyundinstructions verifyexit 0, CI 161/162 successversion bump --minor→ 4.7.0; Doku-Nachzug als--patch→ 4.7.1Abgrenzung, wie geplant eingehalten
Außer den vier Urheberschaftskanten aus #43 wurde keine Korpus-Kante angefasst. Der Sweep der verbleibenden 177
see-also-Kanten ist #48 und bleibt offen.Verworfen und nicht gebaut:
variant-of(die Wine-Forks tragen bereitsdepends-on Wine),implemented-by(Spiegel vonimplements, den die Inbound-View rendert),sibling-offür die Concept-Cliquen (Über-Verlinkung nachlink-taxonomy.mdSchritt 1, kein fehlendes Wort),builds-on(Vokabularkollision, siehe #43).Changelog: Body auf Abschlussstand. Spezifikation durch Ergebnis ersetzt, alle neun Akzeptanzkriterien abgehakt und mit dem belegt, was sie prüft (57 gemeldete Kanten gegen den Korpus, deckungsgleich mit der unabhängigen Vormessung; sechs neue Lint-Tests; CI 161/162).
Neu gegenüber der Spezifikation: der Abschnitt „Was beim Abschluss noch gefunden wurde (4.7.1)". Zwei Prosa-Lücken, die kein Check fängt — die
lint-Zeile intools/CONTRACT.md, und wichtiger diexref remove-Falle inwiki-lint: der neue Befund liest sich mechanisch, aber die naheliegende Reparatur hätte die spezifische Kante mitgelöscht. Als eigener--patchauf 4.7.1 nachgezogen.Geschlossen. #48 bleibt offen und ist jetzt allein der Korpus-Sweep.