@unified-product-graph/core 0.20.0 → 0.20.2
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 +11 -0
- package/README.md +1 -1
- package/dist/index.cjs +21 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +31 -6
- package/dist/index.d.ts +31 -6
- package/dist/index.js +21 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,17 @@ This project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.20.1] - 2026-07-04
|
|
11
|
+
|
|
12
|
+
**Three edges close the alignment-sheet seam: an initiative can now reach directly into the OKR ladder and the roadmap, and a strategic pillar gets its own north-star metric.** Composed flat region surfaces spanning org/team/product altitudes surfaced two gaps in the strategic cascade: an initiative's only path to a key result or a roadmap theme ran through its parent `strategic_theme`, and `strategic_pillar` — durable, multi-year, org-wide — had no measuring metric of its own, unlike every other rung of the cascade (`objective_measured_by_metric`, `key_result_quantified_by_metric`). Additive; no breaking change.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- **`initiative_advances_key_result`** — `initiative` → `key_result`, causal (intra-strategy execution, not cross-domain), cross-product-eligible. Extends the curated OKR laddering DAG that `objective_measured_by_metric` / `key_result_quantified_by_metric` are already part of.
|
|
16
|
+
- **`initiative_delivered_via_roadmap_theme`** — `initiative` → `roadmap_theme`, semantic, within-graph. Mirrors `strategic_theme_realised_by_roadmap_theme`: a cross-reference between the strategy spine and the roadmap spine, not containment, so initiatives can reach the roadmap without routing through their parent theme.
|
|
17
|
+
- **`strategic_pillar_measured_by_metric`** — `strategic_pillar` → `metric`, hierarchy, cross-product-eligible. Mirrors `objective_measured_by_metric` one level up the cascade; `metric` joins `strategic_pillar`'s valid children.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
10
21
|
## [0.20.0] - 2026-07-04
|
|
11
22
|
|
|
12
23
|
**A cadence layer for the product-delivery region: one self-nesting `planning_cycle` entity models sprints, iterations, quarters, program increments, and cooldowns, so a Jira or Linear export round-trips its time-boxes losslessly.** The delivery region could describe what ships (feature → epic → story → task) and what governs it (release, roadmap, theme), but had no home for the interval work flows *through*. This release mints `planning_cycle` — a named, dated, self-nesting interval discriminated by `cadence_kind` (period / iteration / buffer) rather than a type per methodology — plus the edges that schedule work into it and scope objectives and themes to it. It also closes the smaller structural gaps a Jira ∪ Linear import hits: polymorphic issue links, a dual-band `workflow_state` that preserves an imported tool's raw states without displacing the canonical `status`, and the task-level planning fields lifted onto `user_story`. Additive; no breaking change.
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
The TypeScript core for the **Unified Product Graph (UPG)**, an open specification that gives product tools a shared vocabulary for entities, edges, and frameworks.
|
|
9
9
|
|
|
10
|
-
320 entity types across 37 domains.
|
|
10
|
+
320 entity types across 37 domains. 1037 typed edges. 46 canonical framework definitions, with more added as each is reviewed.
|
|
11
11
|
|
|
12
12
|
## Install
|
|
13
13
|
|
package/dist/index.cjs
CHANGED
|
@@ -1563,6 +1563,10 @@ var UPG_EDGE_CATALOG = {
|
|
|
1563
1563
|
strategic_pillar_enables_capability: { forward_verb: "enables", reverse_verb: "enabled_by", classification: "hierarchy", source_type: "strategic_pillar", target_type: "capability" },
|
|
1564
1564
|
strategic_pillar_delivers_value_stream: { forward_verb: "delivers", reverse_verb: "delivered_by", classification: "hierarchy", source_type: "strategic_pillar", target_type: "value_stream" },
|
|
1565
1565
|
strategic_pillar_decided_via_decision: { forward_verb: "decided_via", reverse_verb: "decided_for", classification: "hierarchy", source_type: "strategic_pillar", target_type: "decision" },
|
|
1566
|
+
// 0.20.1: the durable pillar's own north-star, mirroring objective_measured_by_metric
|
|
1567
|
+
// one level up the cascade. A strategic_pillar is multi-year and org-wide, so its
|
|
1568
|
+
// measuring metric is portfolio-shared just like the pillar itself.
|
|
1569
|
+
strategic_pillar_measured_by_metric: { forward_verb: "measured_by", reverse_verb: "measures", classification: "hierarchy", source_type: "strategic_pillar", target_type: "metric", cross_product_eligible: true },
|
|
1566
1570
|
strategic_theme_pursues_initiative: { forward_verb: "pursues", reverse_verb: "pursued_under", classification: "hierarchy", source_type: "strategic_theme", target_type: "initiative", cross_product_eligible: true },
|
|
1567
1571
|
// v0.9.0 (UPG-660): the soft bridge from the annual strategy focus area to the
|
|
1568
1572
|
// roadmap grouping that realises it. Semantic, NOT hierarchy: strategic_theme and
|
|
@@ -1595,6 +1599,17 @@ var UPG_EDGE_CATALOG = {
|
|
|
1595
1599
|
strategic_theme_measured_by_key_result: { forward_verb: "measured_by", reverse_verb: "measures", classification: "causal", source_type: "strategic_theme", target_type: "key_result", cross_product_eligible: true },
|
|
1596
1600
|
strategic_theme_contains_objective: { forward_verb: "contains", reverse_verb: "rolls_up_to", classification: "hierarchy", source_type: "strategic_theme", target_type: "objective", cross_product_eligible: true },
|
|
1597
1601
|
initiative_assumes_assumption: { forward_verb: "assumes", reverse_verb: "assumed_by", classification: "hierarchy", source_type: "initiative", target_type: "assumption" },
|
|
1602
|
+
// 0.20.1: the G6 alignment-sheet bridge edges — an initiative reaches directly
|
|
1603
|
+
// into the OKR ladder and the roadmap, rather than only via its parent
|
|
1604
|
+
// strategic_theme. `advances_key_result` is intra-strategy execution (both
|
|
1605
|
+
// ends sit in the strategy domain), so causal not cross-domain; the KR is
|
|
1606
|
+
// portfolio-shared like the initiative, so the pair is cross-product-eligible.
|
|
1607
|
+
initiative_advances_key_result: { forward_verb: "advances", reverse_verb: "advanced_by", classification: "causal", source_type: "initiative", target_type: "key_result", cross_product_eligible: true },
|
|
1608
|
+
// `delivered_via_roadmap_theme` mirrors strategic_theme_realised_by_roadmap_theme:
|
|
1609
|
+
// a semantic cross-reference between the strategy spine and the roadmap spine,
|
|
1610
|
+
// not containment. roadmap_theme is not portfolio-shared, so this stays
|
|
1611
|
+
// within-graph (no cross_product_eligible flag).
|
|
1612
|
+
initiative_delivered_via_roadmap_theme: { forward_verb: "delivered_via", reverse_verb: "delivers", classification: "semantic", source_type: "initiative", target_type: "roadmap_theme" },
|
|
1598
1613
|
initiative_drives_outcome: { forward_verb: "drives", reverse_verb: "driven_by", classification: "cross-domain", source_type: "initiative", target_type: "outcome", cross_product_eligible: true },
|
|
1599
1614
|
capability_enables_value_stream: { forward_verb: "enables", reverse_verb: "enabled_by", classification: "cross-domain", source_type: "capability", target_type: "value_stream" },
|
|
1600
1615
|
// v0.5.2 (UPG-528): three capability-anchored edges that complete the
|
|
@@ -3854,7 +3869,11 @@ var UPG_VALID_CHILDREN = {
|
|
|
3854
3869
|
// That success-measurement asymmetry is the load-bearing distinction.
|
|
3855
3870
|
vision: ["mission"],
|
|
3856
3871
|
mission: ["strategic_pillar"],
|
|
3857
|
-
|
|
3872
|
+
// 0.20.1: metric added as a strategic_pillar child, backing
|
|
3873
|
+
// strategic_pillar_measured_by_metric (hierarchy) — the pillar's own
|
|
3874
|
+
// north-star, mirrored from objective: ['key_result', 'metric', ...] one
|
|
3875
|
+
// level down the cascade.
|
|
3876
|
+
strategic_pillar: ["strategic_theme", "capability", "value_stream", "decision", "metric"],
|
|
3858
3877
|
// v0.5.4 (UPG-511): objectives are the specific quarterly bets *within* a
|
|
3859
3878
|
// strategic theme. The theme is the multi-quarter focus area; objectives are
|
|
3860
3879
|
// subordinate. Pairs with `strategic_theme_contains_objective` in the edge
|
|
@@ -30155,7 +30174,7 @@ function isCanonical(text) {
|
|
|
30155
30174
|
}
|
|
30156
30175
|
|
|
30157
30176
|
// src/index.ts
|
|
30158
|
-
var UPG_VERSION = "0.20.
|
|
30177
|
+
var UPG_VERSION = "0.20.2";
|
|
30159
30178
|
var UPG_FORMAT_VERSION = "0.4.0";
|
|
30160
30179
|
var MARKDOWN_FORMAT_VERSION = "0.1";
|
|
30161
30180
|
var UPG_TYPES = getTypes();
|