App öffnen
Moonborn — Developers

Fork-Attribution

Lies den Lineage-Baum, zähle Downstream-Forks, finde den kanonischen Ancestor jeder Persona.

Jeder Fork schreibt eine Parent-Kante in den Lineage-Baum. Queries:

Die Ancestry einer Persona finden

const lineage = await client.personas.getLineage({ id: persona.id });
console.log(lineage.ancestors); // root → ... → parent
console.log(lineage.root.id);

Direkte + transitive Forks zählen

lineage.descendants gibt jede Persona zurück, die zu dieser zurückreicht (transitive). lineage.children gibt die direkten Forks zurück.

const lineage = await client.personas.getLineage({ id: canonical.id });
console.log({
  directForks: lineage.children.length,
  totalDescendants: lineage.descendants.length,
});

Marketplace-Attribution-Graph durchlaufen

Listings publishen mit einer fromPersonaId. Wenn ein Downstream- Nutzer installiert und dann forkt, erscheint das Original-Listing in der Ancestry des Forks. Um den Downstream-Impact eines Listings zu billen oder zu reporten:

const listing = await client.marketplace.getListing({ id: listing.id });
console.log({
  downloads: listing.downloads,   // Installs (keine weitere Mutation)
  forks: listing.forks,           // Installs, die neue Personas produzierten
  ratingsAvg: listing.ratingsAvg,
});

Cross-Org-Attribution

Ein Fork von einem Marketplace-Install respektiert die Lizenz des Original-Listings (CC-BY / ShareAlike / commercial-use). Die Lineage- Kante zeichnet sowohl den unmittelbaren Parent (den Install) als auch das Marketplace-Listing auf — sichtbar in lineage.ancestors mit einem marketplaceListingId-Breadcrumb.

Tarif

Lineage-Queries: jeder Tier. Marketplace-Cross-Org-Attribution: Free und höher (Listing muss public sein).

Verwandt