@unified-product-graph/mcp-server 0.8.5 → 0.8.6

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.js CHANGED
@@ -12334,6 +12334,16 @@ var UPG_FRAMEWORKS = [
12334
12334
  "label": "Items to score",
12335
12335
  "entityTypeId": "feature",
12336
12336
  "description": "Features, opportunities, or solutions being evaluated"
12337
+ },
12338
+ {
12339
+ "label": "Opportunities to score",
12340
+ "entityTypeId": "opportunity",
12341
+ "description": "Opportunities scored on the same RICE Scoring inputs as features."
12342
+ },
12343
+ {
12344
+ "label": "Needs to score",
12345
+ "entityTypeId": "need",
12346
+ "description": "Needs scored on the same RICE Scoring inputs as features."
12337
12347
  }
12338
12348
  ],
12339
12349
  "data": {
@@ -12341,6 +12351,14 @@ var UPG_FRAMEWORKS = [
12341
12351
  {
12342
12352
  "type": "feature",
12343
12353
  "role": "scored_item"
12354
+ },
12355
+ {
12356
+ "type": "opportunity",
12357
+ "role": "scored_item"
12358
+ },
12359
+ {
12360
+ "type": "need",
12361
+ "role": "scored_item"
12344
12362
  }
12345
12363
  ],
12346
12364
  "required_properties": {
@@ -12381,6 +12399,82 @@ var UPG_FRAMEWORKS = [
12381
12399
  "label": "Effort",
12382
12400
  "description": "How much work is required to build and ship this, on the effort scale?"
12383
12401
  }
12402
+ ],
12403
+ "opportunity": [
12404
+ {
12405
+ "property": "reach",
12406
+ "type": "assessment",
12407
+ "scale_id": "reach_5",
12408
+ "required": true,
12409
+ "scope": "framework",
12410
+ "label": "Reach",
12411
+ "description": "How many users will this impact per quarter?"
12412
+ },
12413
+ {
12414
+ "property": "impact",
12415
+ "type": "assessment",
12416
+ "scale_id": "impact_5",
12417
+ "required": true,
12418
+ "scope": "framework",
12419
+ "label": "Impact",
12420
+ "description": "How much will this impact each user, on the impact scale?"
12421
+ },
12422
+ {
12423
+ "property": "confidence",
12424
+ "type": "assessment",
12425
+ "scale_id": "confidence_5",
12426
+ "required": true,
12427
+ "scope": "framework",
12428
+ "label": "Confidence",
12429
+ "description": "How confident are you in the reach, impact, and effort estimates?"
12430
+ },
12431
+ {
12432
+ "property": "effort",
12433
+ "type": "assessment",
12434
+ "scale_id": "effort_5",
12435
+ "required": true,
12436
+ "scope": "framework",
12437
+ "label": "Effort",
12438
+ "description": "How much work is required to build and ship this, on the effort scale?"
12439
+ }
12440
+ ],
12441
+ "need": [
12442
+ {
12443
+ "property": "reach",
12444
+ "type": "assessment",
12445
+ "scale_id": "reach_5",
12446
+ "required": true,
12447
+ "scope": "framework",
12448
+ "label": "Reach",
12449
+ "description": "How many users will this impact per quarter?"
12450
+ },
12451
+ {
12452
+ "property": "impact",
12453
+ "type": "assessment",
12454
+ "scale_id": "impact_5",
12455
+ "required": true,
12456
+ "scope": "framework",
12457
+ "label": "Impact",
12458
+ "description": "How much will this impact each user, on the impact scale?"
12459
+ },
12460
+ {
12461
+ "property": "confidence",
12462
+ "type": "assessment",
12463
+ "scale_id": "confidence_5",
12464
+ "required": true,
12465
+ "scope": "framework",
12466
+ "label": "Confidence",
12467
+ "description": "How confident are you in the reach, impact, and effort estimates?"
12468
+ },
12469
+ {
12470
+ "property": "effort",
12471
+ "type": "assessment",
12472
+ "scale_id": "effort_5",
12473
+ "required": true,
12474
+ "scope": "framework",
12475
+ "label": "Effort",
12476
+ "description": "How much work is required to build and ship this, on the effort scale?"
12477
+ }
12384
12478
  ]
12385
12479
  },
12386
12480
  "computed_properties": [
@@ -12390,6 +12484,20 @@ var UPG_FRAMEWORKS = [
12390
12484
  "entity_type": "feature",
12391
12485
  "label": "RICE Score",
12392
12486
  "format": "number"
12487
+ },
12488
+ {
12489
+ "property": "rice_score",
12490
+ "expression": "(reach * impact * confidence) / effort",
12491
+ "entity_type": "opportunity",
12492
+ "label": "RICE Score",
12493
+ "format": "number"
12494
+ },
12495
+ {
12496
+ "property": "rice_score",
12497
+ "expression": "(reach * impact * confidence) / effort",
12498
+ "entity_type": "need",
12499
+ "label": "RICE Score",
12500
+ "format": "number"
12393
12501
  }
12394
12502
  ]
12395
12503
  },
@@ -14773,6 +14881,16 @@ var UPG_FRAMEWORKS = [
14773
14881
  "label": "Ease",
14774
14882
  "entityTypeId": "feature",
14775
14883
  "description": "How easy is this to implement?"
14884
+ },
14885
+ {
14886
+ "label": "Opportunities to score",
14887
+ "entityTypeId": "opportunity",
14888
+ "description": "Opportunities scored on the same ICE Scoring inputs as features."
14889
+ },
14890
+ {
14891
+ "label": "Needs to score",
14892
+ "entityTypeId": "need",
14893
+ "description": "Needs scored on the same ICE Scoring inputs as features."
14776
14894
  }
14777
14895
  ],
14778
14896
  "data": {
@@ -14788,6 +14906,14 @@ var UPG_FRAMEWORKS = [
14788
14906
  {
14789
14907
  "type": "assumption",
14790
14908
  "role": "item"
14909
+ },
14910
+ {
14911
+ "type": "opportunity",
14912
+ "role": "scored_item"
14913
+ },
14914
+ {
14915
+ "type": "need",
14916
+ "role": "scored_item"
14791
14917
  }
14792
14918
  ],
14793
14919
  "required_properties": {
@@ -14816,6 +14942,58 @@ var UPG_FRAMEWORKS = [
14816
14942
  "label": "Ease",
14817
14943
  "description": "Ease of implementation (1-10)"
14818
14944
  }
14945
+ ],
14946
+ "opportunity": [
14947
+ {
14948
+ "property": "impact",
14949
+ "type": "number",
14950
+ "required": true,
14951
+ "scope": "framework",
14952
+ "label": "Impact",
14953
+ "description": "Expected impact on the target metric (1-10)"
14954
+ },
14955
+ {
14956
+ "property": "confidence",
14957
+ "type": "number",
14958
+ "required": true,
14959
+ "scope": "framework",
14960
+ "label": "Confidence",
14961
+ "description": "Confidence in the impact estimate (1-10)"
14962
+ },
14963
+ {
14964
+ "property": "ease",
14965
+ "type": "number",
14966
+ "required": true,
14967
+ "scope": "framework",
14968
+ "label": "Ease",
14969
+ "description": "Ease of implementation (1-10)"
14970
+ }
14971
+ ],
14972
+ "need": [
14973
+ {
14974
+ "property": "impact",
14975
+ "type": "number",
14976
+ "required": true,
14977
+ "scope": "framework",
14978
+ "label": "Impact",
14979
+ "description": "Expected impact on the target metric (1-10)"
14980
+ },
14981
+ {
14982
+ "property": "confidence",
14983
+ "type": "number",
14984
+ "required": true,
14985
+ "scope": "framework",
14986
+ "label": "Confidence",
14987
+ "description": "Confidence in the impact estimate (1-10)"
14988
+ },
14989
+ {
14990
+ "property": "ease",
14991
+ "type": "number",
14992
+ "required": true,
14993
+ "scope": "framework",
14994
+ "label": "Ease",
14995
+ "description": "Ease of implementation (1-10)"
14996
+ }
14819
14997
  ]
14820
14998
  },
14821
14999
  "computed_properties": [
@@ -14825,6 +15003,20 @@ var UPG_FRAMEWORKS = [
14825
15003
  "entity_type": "feature",
14826
15004
  "label": "ICE Score",
14827
15005
  "format": "number"
15006
+ },
15007
+ {
15008
+ "property": "ice_score",
15009
+ "expression": "impact * confidence * ease",
15010
+ "entity_type": "opportunity",
15011
+ "label": "ICE Score",
15012
+ "format": "number"
15013
+ },
15014
+ {
15015
+ "property": "ice_score",
15016
+ "expression": "impact * confidence * ease",
15017
+ "entity_type": "need",
15018
+ "label": "ICE Score",
15019
+ "format": "number"
14828
15020
  }
14829
15021
  ]
14830
15022
  },
@@ -14928,6 +15120,11 @@ var UPG_FRAMEWORKS = [
14928
15120
  "label": "Job Size",
14929
15121
  "entityTypeId": "metric",
14930
15122
  "description": "Estimated effort (story points, t-shirt size, or person-weeks)"
15123
+ },
15124
+ {
15125
+ "label": "Opportunities to score",
15126
+ "entityTypeId": "opportunity",
15127
+ "description": "Opportunities scored on the same WSJF (Weighted Shortest Job First) inputs as features."
14931
15128
  }
14932
15129
  ],
14933
15130
  "data": {
@@ -14939,6 +15136,10 @@ var UPG_FRAMEWORKS = [
14939
15136
  {
14940
15137
  "type": "metric",
14941
15138
  "role": "item"
15139
+ },
15140
+ {
15141
+ "type": "opportunity",
15142
+ "role": "scored_item"
14942
15143
  }
14943
15144
  ],
14944
15145
  "required_properties": {
@@ -14975,6 +15176,40 @@ var UPG_FRAMEWORKS = [
14975
15176
  "label": "Job Size",
14976
15177
  "description": "Estimated effort (story points, t-shirt size, or person-weeks)"
14977
15178
  }
15179
+ ],
15180
+ "opportunity": [
15181
+ {
15182
+ "property": "user_value",
15183
+ "type": "number",
15184
+ "required": true,
15185
+ "scope": "framework",
15186
+ "label": "User/Business Value",
15187
+ "description": "Relative value to users and the business if delivered"
15188
+ },
15189
+ {
15190
+ "property": "time_criticality",
15191
+ "type": "number",
15192
+ "required": true,
15193
+ "scope": "framework",
15194
+ "label": "Time Criticality",
15195
+ "description": "How much value decays if delivery is delayed (deadlines, competition, seasonal windows)"
15196
+ },
15197
+ {
15198
+ "property": "risk_reduction",
15199
+ "type": "number",
15200
+ "required": true,
15201
+ "scope": "framework",
15202
+ "label": "Risk Reduction / Opportunity Enablement",
15203
+ "description": "Value from reducing risk or enabling future opportunities"
15204
+ },
15205
+ {
15206
+ "property": "job_size",
15207
+ "type": "number",
15208
+ "required": true,
15209
+ "scope": "framework",
15210
+ "label": "Job Size",
15211
+ "description": "Estimated effort (story points, t-shirt size, or person-weeks)"
15212
+ }
14978
15213
  ]
14979
15214
  },
14980
15215
  "computed_properties": [
@@ -14984,6 +15219,13 @@ var UPG_FRAMEWORKS = [
14984
15219
  "entity_type": "feature",
14985
15220
  "label": "WSJF Score",
14986
15221
  "format": "number"
15222
+ },
15223
+ {
15224
+ "property": "wsjf_score",
15225
+ "expression": "(user_value + time_criticality + risk_reduction) / job_size",
15226
+ "entity_type": "opportunity",
15227
+ "label": "WSJF Score",
15228
+ "format": "number"
14987
15229
  }
14988
15230
  ]
14989
15231
  },
@@ -15091,6 +15333,11 @@ var UPG_FRAMEWORKS = [
15091
15333
  "label": "Risk Reduction",
15092
15334
  "entityTypeId": "risk",
15093
15335
  "description": "What risk does this mitigate?"
15336
+ },
15337
+ {
15338
+ "label": "Opportunities to score",
15339
+ "entityTypeId": "opportunity",
15340
+ "description": "Opportunities scored on the same Cost of Delay inputs as features."
15094
15341
  }
15095
15342
  ],
15096
15343
  "data": {
@@ -15110,6 +15357,10 @@ var UPG_FRAMEWORKS = [
15110
15357
  {
15111
15358
  "type": "risk",
15112
15359
  "role": "item"
15360
+ },
15361
+ {
15362
+ "type": "opportunity",
15363
+ "role": "scored_item"
15113
15364
  }
15114
15365
  ],
15115
15366
  "required_properties": {
@@ -15130,6 +15381,24 @@ var UPG_FRAMEWORKS = [
15130
15381
  "label": "Job Size",
15131
15382
  "description": "Weeks of development effort"
15132
15383
  }
15384
+ ],
15385
+ "opportunity": [
15386
+ {
15387
+ "property": "cost_of_delay",
15388
+ "type": "number",
15389
+ "required": true,
15390
+ "scope": "framework",
15391
+ "label": "Cost of Delay",
15392
+ "description": "Weekly revenue impact of not shipping"
15393
+ },
15394
+ {
15395
+ "property": "job_size",
15396
+ "type": "number",
15397
+ "required": true,
15398
+ "scope": "framework",
15399
+ "label": "Job Size",
15400
+ "description": "Weeks of development effort"
15401
+ }
15133
15402
  ]
15134
15403
  },
15135
15404
  "computed_properties": [
@@ -15139,6 +15408,13 @@ var UPG_FRAMEWORKS = [
15139
15408
  "entity_type": "feature",
15140
15409
  "label": "WSJF Score",
15141
15410
  "format": "number"
15411
+ },
15412
+ {
15413
+ "property": "wsjf_score",
15414
+ "expression": "cost_of_delay / job_size",
15415
+ "entity_type": "opportunity",
15416
+ "label": "WSJF Score",
15417
+ "format": "number"
15142
15418
  }
15143
15419
  ]
15144
15420
  },
@@ -23728,7 +24004,7 @@ function serializePortfolioWithHeader(doc, opts) {
23728
24004
  header.integrity = { algorithm: INTEGRITY_ALGORITHM, body: computeBodyChecksum(doc) };
23729
24005
  return JSON.stringify({ $upg: header, ...body }, null, 2) + "\n";
23730
24006
  }
23731
- var UPG_VERSION = "0.8.4";
24007
+ var UPG_VERSION = "0.8.6";
23732
24008
  var MARKDOWN_FORMAT_VERSION = "0.1";
23733
24009
  var UPG_TYPES = getTypes();
23734
24010
  var UPG_TYPES_SET = new Set(UPG_TYPES);