Skip to content
UPG is in early alpha. The specification is still evolving and may change between versions.
Tools/Workspace & Portfolios/get_portfolio_tree

get_portfolio_tree

Assemble a portfolio-grain tree from `.upg/portfolio.upg` (the portfolio complement to `get_tree`, which is product-scoped). `shape: "landscape"` (default) walks the shared classification registry and the `*_classified_as_classification_value` cross edges: classification axis to its values to the nodes classified at each value, every leaf carrying `confidence` / `assessed_on`; anchor at one axis or value with `from_id`, or omit for the whole portfolio. `shape: "competitor_profile"` returns one node (a competitor) and its position on every axis it has been graded against; `from_id` required. `shape: "structure"` returns the org chart from the portfolio DOCUMENT FIELDS (organisation to product areas / portfolios to their member products, nested), no graph traversal; areas are the ownership axis and portfolios the strategic axis, so a product can appear under both. Titles resolve to entity names (e.g. "Directus"), not opaque ids. Values with no wired axis surface under an `unaxed` bucket. Read-only.

Workspace & Portfoliosatomic (read-only). Reads the portfolio document and, for title resolution, referenced product files read-only; never mutates active state.

Arguments

shapestringoptional

landscape (axis to value to classified members, default), competitor_profile (one node to its per-axis positions), or structure (org to areas / portfolios to products, from document fields).

landscapecompetitor_profilestructure
from_idstringoptional

Anchor node id (qualified or bare). Optional for landscape (a classification axis or value); required for competitor_profile (the node to profile).

include_propertiesarrayoptional

Classification-edge property keys to inline on each leaf, in addition to the always-included confidence / assessed_on.

include_membersbooleanoptional

Landscape only. Force classified members to inline on the whole-portfolio overview (counts-only by default). Subject to the payload guard.

Returns

JSON: the landscape or profile structure (see the SDK shapes).

See Also