Skip to content

bc_update rotiert die IRI des Subdomain-Knotens, obwohl es die Subdomain nicht aendert #584

Description

@hauschel

Ein bc_update, das nur terms schreibt, laesst die Subdomain inhaltlich unveraendert (CoreDomain bleibt CoreDomain), gibt dem Subdomain-Knoten aber eine neue IRI. Die Tool-Beschreibung sagt ausdruecklich "Does NOT touch subdomain, ownedBy or context relationships".

Beleg (2026-09-08). Ein einziger Schreibaufruf zwischen zwei Store-Exports:

bc_update BC-2 terms=[TERM-25, TERM-19, TERM-13]

Diff in docs/adr-export/arknet.trig (PR #583):

-  <...id/eb77d14a-52f6-47dc-aa2c-93dffc6c7621> a <...ddd#Subdomain>;
-    <...ddd#subdomainType> <...ddd#CoreDomain> .
+  <...id/4a252d1e-56c6-4cd8-9b4f-10fc85a0094b> a <...ddd#Subdomain>;
+    <...ddd#subdomainType> <...ddd#CoreDomain> .

arkddd:partOf von BC-2 zeigt entsprechend auf die neue IRI.

Ursache (Vermutung, nicht verifiziert): der Schreibpfad schreibt das BoundedContext-Aggregat als Ganzes neu (delete + insert) und erzeugt den abhaengigen Subdomain-Knoten dabei frisch, statt ihn wiederzuverwenden.

Warum es zaehlt, trotz prio:low:

  • Die Zusage der Tool-Beschreibung stimmt nicht: die Subdomain wird angefasst, nur nicht inhaltlich.
  • docs/adr-export/ ist ein committetes Abbild -- jedes bc_update erzeugt dort Diff-Rauschen, das wie eine Modellaenderung aussieht und beim Review erst widerlegt werden muss.
  • Wer eine Subdomain-IRI von aussen referenziert (heute niemand: partOf zeigt nur vom BC auf die Subdomain), verloere den Bezug still.

Erwartet: ein bc_update, das die Subdomain nicht aendert, laesst deren IRI stehen. Falls die Rotation absichtlich ist -- weil ein Subdomain-Knoten als wertartig, nicht identitaetstragend gilt --, gehoert das in die Tool-Beschreibung statt des heutigen "does NOT touch".

Verwandt: #568 (Subdomain/ownedBy sind ueberhaupt nicht aenderbar).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingprio:lowNiedrige Prioritaet

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions