Adopt
Surfaces
Tool reference
Tool Group
Workspace initialisation, product switching, portfolios, and cross-product edges.
create_cross_product_edge
Create a cross-product relationship between two entities in different products within a portfolio graph. Types: `shares_persona`, `shares_competitor`, `shares_metric`, `depends_on_product`, `cannibalises`, `succeeds`.
create_product
Create a sibling .upg product in the current workspace. Mints a canonical product id, writes the file, stamps integrity, registers in `workspace.json`. Pairs with `init_workspace` and `switch_product`.
get_organization
Get the organisation that owns the current workspace's portfolio. Reads the singleton `portfolio.upg.organization`. Returns `{ organization: null }` when no portfolio document exists yet.
get_workspace_info
Workspace info: which product is loaded, what other products are available, current workspace mode.
init_workspace
Initialise a UPG workspace. Creates `.upg/` and moves the current .upg file into it. Unlocks multi-product management.
list_local_products
Find every .upg file in the current directory and its immediate subdirectories.
list_portfolio_cross_edges
List all cross-product edges stored in the portfolio document (`.upg/portfolio.upg`). Empty list when the portfolio document is absent.
list_portfolios
List portfolios from the portfolio document (`.upg/portfolio.upg`). Portfolios represent the strategic axis (where we invest). Returns an empty list when no portfolio document exists yet.
migrate_cross_edges
Migrate inline cross-product edges from the current product's `edges[]` into the portfolio document (`.upg/portfolio.upg`) with qualified IDs. `dry_run: true` (default) previews; `dry_run: false` applies. Requires `source_product_id` to qualify source node IDs.
switch_product
Switch to a different .upg file without restarting the server. In workspace mode, accepts just a filename (e.g. "client-project" or "client-project.upg").