@unified-product-graph/core 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1358,6 +1358,12 @@ var UPG_EDGE_CATALOG = {
1358
1358
  // canonical, eliminating the per-graph taxonomy node. Within-graph (the catalogue
1359
1359
  // case) here; cross-product against the registry canonical via create_cross_product_edge.
1360
1360
  competitor_classified_as_classification_value: { forward_verb: "classified_as", reverse_verb: "classification_of", classification: "semantic", source_type: "competitor", target_type: "classification_value" },
1361
+ // 0.10.3: the polymorphic, type-agnostic sibling. ANY node (a feature, a
1362
+ // product, a market_segment) classified against a classification_value, so
1363
+ // classification is not welded to the competitor type. Also dual-registered as
1364
+ // a cross-edge for the registry-canonical case. source_type:'node' (wildcard);
1365
+ // listed in UPG_POLYMORPHIC_EDGE_KEYS.
1366
+ node_classified_as_classification_value: { forward_verb: "classified_as", reverse_verb: "classification_of", classification: "semantic", source_type: "node", target_type: "classification_value" },
1361
1367
  persona_anti_fit_for_classification_value: { forward_verb: "is_anti_fit_for", reverse_verb: "should_not_be_picked_by", classification: "semantic", source_type: "persona", target_type: "classification_value" },
1362
1368
  persona_anti_fit_for_product: { forward_verb: "is_anti_fit_for", reverse_verb: "should_not_be_picked_by", classification: "semantic", source_type: "persona", target_type: "product" },
1363
1369
  persona_anti_fit_for_competitor: { forward_verb: "is_anti_fit_for", reverse_verb: "should_not_be_picked_by", classification: "semantic", source_type: "persona", target_type: "competitor" },
@@ -3195,7 +3201,9 @@ var UPG_POLYMORPHIC_EDGE_KEYS = [
3195
3201
  // Universal architecture references
3196
3202
  "node_belongs_to_bounded_context",
3197
3203
  // Framework exercises (an exercise can include any entity type)
3198
- "framework_exercise_includes_node"
3204
+ "framework_exercise_includes_node",
3205
+ // Universal classification (any node classified against a classification_value)
3206
+ "node_classified_as_classification_value"
3199
3207
  ];
3200
3208
  var _POLY_KEY_SET = new Set(UPG_POLYMORPHIC_EDGE_KEYS);
3201
3209
  function isPolymorphicEdge(key) {
@@ -3253,7 +3261,8 @@ var UPG_CROSS_EDGE_TYPES = [
3253
3261
  "feature_rivals_competitor_feature",
3254
3262
  "competitor_signal_maps_to_feature",
3255
3263
  "competitor_signal_surfaces_opportunity",
3256
- "competitor_classified_as_classification_value"
3264
+ "competitor_classified_as_classification_value",
3265
+ "node_classified_as_classification_value"
3257
3266
  ];
3258
3267
  var REGISTRY_PRODUCT_ID = "registry";
3259
3268
 
@@ -28637,7 +28646,7 @@ function isCanonical(text) {
28637
28646
  }
28638
28647
 
28639
28648
  // src/index.ts
28640
- var UPG_VERSION = "0.10.2";
28649
+ var UPG_VERSION = "0.10.3";
28641
28650
  var UPG_FORMAT_VERSION = "0.4.0";
28642
28651
  var MARKDOWN_FORMAT_VERSION = "0.1";
28643
28652
  var UPG_TYPES = getTypes();