@unified-product-graph/core 0.8.9 → 0.8.11

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/CHANGELOG.md CHANGED
@@ -7,6 +7,20 @@ This project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ---
9
9
 
10
+ ## [0.8.11] - 2026-06-03
11
+
12
+ A co-versioned patch. The catalogue, entity types, and edges are unchanged; the fix lands in `@unified-product-graph/mcp-server`.
13
+
14
+ ### Fixed
15
+ - MCP server startup no longer prints an inverted deprecation warning for canonical types. The check sourced deprecation from the historical migration union, which still lists `hypothesis` from the v0.2.8 split even though it was re-promoted to canonical-stable at v0.4.0, so graphs holding canonical `hypothesis` nodes were flagged and pointed at a deprecated type. Detection and the suggested replacement now read from entity-meta (`isDeprecatedType` / `getReplacementType`), the source of truth for current maturity. (#1976)
16
+
17
+ ## [0.8.10] - 2026-06-03
18
+
19
+ A patch release. Fixes a false-positive in framework-score validation.
20
+
21
+ ### Fixed
22
+ - Framework-score validation no longer flags a zero in a parenthesised **sum** denominator as an illegal divisor. Kano's satisfaction coefficient divides by `(delighter_count + performance_count + must_be_count + indifferent_count)`; the old heuristic captured the first term and warned that a legitimate `delighter_count: 0` "must not be 0". Only a lone divisor (`/ effort`, `/(job_size)`) is flagged now, and every computed expression is scanned, not just the first. RICE, WSJF, and Cost of Delay divisors still flag a 0 as before.
23
+
10
24
  ## [0.8.9] - 2026-06-03
11
25
 
12
26
  Completes the framework composition model and frees the "lens" vocabulary. `UPG_VERSION` moves to `0.8.9` in lockstep with the package train (a release guard now enforces this; the published 0.8.8 had left it at 0.8.7).
package/dist/index.cjs CHANGED
@@ -17310,12 +17310,14 @@ function validateFrameworkScores(nodes, edges, warnings) {
17310
17310
  });
17311
17311
  }
17312
17312
  function divisorInputs(framework) {
17313
- const expr = framework.data?.computed_properties?.[0]?.expression;
17314
- if (typeof expr !== "string" || expr.length === 0) return EMPTY_STRING_SET;
17313
+ const exprs = (framework.data?.computed_properties ?? []).map((c) => c?.expression).filter((e) => typeof e === "string" && e.length > 0);
17314
+ if (exprs.length === 0) return EMPTY_STRING_SET;
17315
17315
  const out = /* @__PURE__ */ new Set();
17316
- const re = /\/\s*\(?\s*([A-Za-z_][A-Za-z0-9_]*)/g;
17317
- let m;
17318
- while ((m = re.exec(expr)) !== null) out.add(m[1]);
17316
+ const re = /\/\s*(?:\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)|([A-Za-z_][A-Za-z0-9_]*))/g;
17317
+ for (const expr of exprs) {
17318
+ let m;
17319
+ while ((m = re.exec(expr)) !== null) out.add(m[1] ?? m[2]);
17320
+ }
17319
17321
  return out;
17320
17322
  }
17321
17323
  var EMPTY_STRING_SET = /* @__PURE__ */ new Set();
@@ -25857,7 +25859,7 @@ function isCanonical(text) {
25857
25859
  }
25858
25860
 
25859
25861
  // src/index.ts
25860
- var UPG_VERSION = "0.8.9";
25862
+ var UPG_VERSION = "0.8.11";
25861
25863
  var UPG_FORMAT_VERSION = "0.4.0";
25862
25864
  var MARKDOWN_FORMAT_VERSION = "0.1";
25863
25865
  var UPG_TYPES = getTypes();