@unified-product-graph/core 0.9.18 → 0.9.19
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 +17 -0
- package/dist/index.cjs +76 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +76 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ This project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.9.19] - 2026-06-11
|
|
11
|
+
|
|
12
|
+
**The tree-pattern catalogue covers every tree-shaped region, and `delivery` finally roots at the roadmap.** `get_tree` now offers 11 patterns (was 8), one per hierarchical region.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- **`delivery` refined.** The 0.9.17 pattern rooted at the product, not the roadmap: its child map listed `product -> roadmap`, which made the product a superset of the roadmap, so the most-nodes anchor rule chose the product even when a roadmap existed. Dropping that slot lets the roadmap win when present; the product is the fallback root (`product -> release`). Added the missing optional children `roadmap_theme -> feature_area`, `release -> changelog`, and `release -> bug`. Default depth is now 3 (a readable overview to the feature tier; `depth` extends into epic and user story).
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **Three new tree patterns**, all-optional (browse views, no gap noise):
|
|
19
|
+
- **`architecture`** (anchor `service`, fallback `bounded_context`): services and the API contracts, endpoints, schemas, queues, deployments, and dependencies they own, grouped by bounded context, with domain aggregates and their members. A DAG: a schema or queue shared by several services renders once, then as a reference.
|
|
20
|
+
- **`journey`** (anchor `user_journey`, fallback `user_flow`): a journey over time, its phases and steps, the actions within each step, and the screens those steps surface.
|
|
21
|
+
- **`design_system`** (anchor `design_system`, fallback `design_component`): a design system, its components, their nested sub-components, and the design tokens they consume.
|
|
22
|
+
|
|
23
|
+
No entity, domain, region, edge, or tool-count change (entities 315, edges 980, local tools 121). The work is in the presentation layer: `UPG_TREE_PATTERNS` (8 to 11) and the pattern lists carried by both servers, the CLI, and the show-tree skill.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
10
27
|
## [0.9.18] - 2026-06-11
|
|
11
28
|
|
|
12
29
|
**The CLI help stops drifting, and an unknown `tree` filter stops lying.** The CLI rendered `--help` from a hand-maintained table divorced from each command's own option definitions, so adding a flag silently left its help stale (that is how `tree --pattern` shipped undocumented in 0.9.17). Separately, `upg tree <unknown>` quietly rendered the whole graph mislabeled as the filter. Both are now structural.
|
package/dist/index.cjs
CHANGED
|
@@ -19975,19 +19975,88 @@ var UPG_TREE_PATTERNS = [
|
|
|
19975
19975
|
{
|
|
19976
19976
|
id: "delivery",
|
|
19977
19977
|
label: "Delivery roadmap",
|
|
19978
|
-
description: "How product work is scheduled and shipped: the roadmap and its themes/items, the releases they schedule,
|
|
19978
|
+
description: "How product work is scheduled and shipped: the roadmap and its themes/items, the releases they schedule, the features (and the changelog + bugs) those releases deliver, and the feature areas a theme spans. Optional epic + user story tiers appear on request.",
|
|
19979
19979
|
anchor_type: "roadmap",
|
|
19980
|
-
|
|
19980
|
+
// Fallback is the product alone: a graph with no roadmap roots at the
|
|
19981
|
+
// product (product -> release -> feature), reported as anchor_resolved_from:
|
|
19982
|
+
// roadmap. `release` is deliberately NOT a fallback root — a 32-release
|
|
19983
|
+
// forest would out-node the product and shadow it under the most-nodes rule.
|
|
19984
|
+
fallback_anchors: ["product"],
|
|
19981
19985
|
child_map: {
|
|
19982
|
-
product
|
|
19986
|
+
// product holds releases directly (the delivery axis without a roadmap),
|
|
19987
|
+
// but NOT the roadmap: listing roadmap here made the product a superset of
|
|
19988
|
+
// the roadmap, so the most-nodes anchor rule rooted delivery at the product
|
|
19989
|
+
// even when a roadmap existed. Dropping it lets the roadmap win when present.
|
|
19990
|
+
product: [opt("release")],
|
|
19983
19991
|
roadmap: [opt("roadmap_theme"), opt("roadmap_item"), opt("release")],
|
|
19984
|
-
roadmap_theme: [opt("feature")],
|
|
19992
|
+
roadmap_theme: [opt("feature"), opt("feature_area")],
|
|
19985
19993
|
roadmap_item: [opt("feature")],
|
|
19986
|
-
release: [opt("feature")],
|
|
19994
|
+
release: [opt("feature"), opt("changelog"), opt("bug")],
|
|
19987
19995
|
feature: [opt("epic")],
|
|
19988
19996
|
epic: [opt("user_story")]
|
|
19989
19997
|
},
|
|
19990
|
-
|
|
19998
|
+
// Default to 3 tiers (roadmap -> theme/item/release -> feature) for a
|
|
19999
|
+
// readable overview on a many-release roadmap; `depth` extends into
|
|
20000
|
+
// epic -> user_story.
|
|
20001
|
+
natural_depth: 3
|
|
20002
|
+
},
|
|
20003
|
+
{
|
|
20004
|
+
id: "architecture",
|
|
20005
|
+
label: "Architecture",
|
|
20006
|
+
description: "The engineering platform: services and the API contracts, endpoints, schemas, queues, deployments, and dependencies they own, grouped by bounded context, with domain aggregates and their members. A DAG (a schema or queue shared by several services renders once, then as a reference).",
|
|
20007
|
+
anchor_type: "service",
|
|
20008
|
+
fallback_anchors: ["bounded_context"],
|
|
20009
|
+
child_map: {
|
|
20010
|
+
bounded_context: [
|
|
20011
|
+
opt("service"),
|
|
20012
|
+
opt("external_api"),
|
|
20013
|
+
opt("data_flow"),
|
|
20014
|
+
opt("integration_pattern"),
|
|
20015
|
+
opt("code_repository"),
|
|
20016
|
+
opt("api_contract"),
|
|
20017
|
+
opt("aggregate"),
|
|
20018
|
+
opt("domain_event")
|
|
20019
|
+
],
|
|
20020
|
+
service: [
|
|
20021
|
+
opt("api_contract"),
|
|
20022
|
+
opt("api_endpoint"),
|
|
20023
|
+
opt("database_schema"),
|
|
20024
|
+
opt("queue_topic"),
|
|
20025
|
+
opt("deployment"),
|
|
20026
|
+
opt("build_artifact"),
|
|
20027
|
+
opt("library_dependency"),
|
|
20028
|
+
opt("feature_flag")
|
|
20029
|
+
],
|
|
20030
|
+
aggregate: [opt("domain_entity"), opt("value_object"), opt("command"), opt("read_model"), opt("domain_event")]
|
|
20031
|
+
},
|
|
20032
|
+
natural_depth: 3
|
|
20033
|
+
},
|
|
20034
|
+
{
|
|
20035
|
+
id: "journey",
|
|
20036
|
+
label: "User journey",
|
|
20037
|
+
description: "A user journey over time: its phases and steps, the actions within each step, and the screens those steps surface. Falls back to a user_flow when journeys are not yet mapped.",
|
|
20038
|
+
anchor_type: "user_journey",
|
|
20039
|
+
fallback_anchors: ["user_flow"],
|
|
20040
|
+
child_map: {
|
|
20041
|
+
user_journey: [opt("journey_phase"), opt("journey_step")],
|
|
20042
|
+
journey_phase: [opt("journey_step")],
|
|
20043
|
+
journey_step: [opt("journey_action"), opt("screen")],
|
|
20044
|
+
user_flow: [opt("screen")],
|
|
20045
|
+
screen: [opt("screen_state")]
|
|
20046
|
+
},
|
|
20047
|
+
natural_depth: 3
|
|
20048
|
+
},
|
|
20049
|
+
{
|
|
20050
|
+
id: "design_system",
|
|
20051
|
+
label: "Design system",
|
|
20052
|
+
description: "A design system broken into its components, their nested sub-components (atom to molecule to organism), and the design tokens they consume.",
|
|
20053
|
+
anchor_type: "design_system",
|
|
20054
|
+
fallback_anchors: ["design_component"],
|
|
20055
|
+
child_map: {
|
|
20056
|
+
design_system: [opt("design_component"), opt("design_token")],
|
|
20057
|
+
design_component: [opt("design_component"), opt("design_token")]
|
|
20058
|
+
},
|
|
20059
|
+
natural_depth: 3
|
|
19991
20060
|
}
|
|
19992
20061
|
];
|
|
19993
20062
|
var UPG_TREE_PATTERNS_BY_ID = Object.fromEntries(
|
|
@@ -28300,7 +28369,7 @@ function isCanonical(text) {
|
|
|
28300
28369
|
}
|
|
28301
28370
|
|
|
28302
28371
|
// src/index.ts
|
|
28303
|
-
var UPG_VERSION = "0.9.
|
|
28372
|
+
var UPG_VERSION = "0.9.19";
|
|
28304
28373
|
var UPG_FORMAT_VERSION = "0.4.0";
|
|
28305
28374
|
var MARKDOWN_FORMAT_VERSION = "0.1";
|
|
28306
28375
|
var UPG_TYPES = getTypes();
|