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.
Arguments
source_product_idstringrequiredProduct ID that owns the current document's nodes. Used to build qualified source IDs ({product_id}/{node_id}).
target_product_idstringoptionalProduct ID that owns the target nodes, when the target node is not in the current product. Edges without a resolvable target product are skipped.
dry_runbooleanoptionalWhen true (default), report what would be migrated without writing anything.
Returns
{ migrated, skipped, dry_run, portfolio_file? }Warnings
Default is `dry_run: true`. Pass `dry_run: false` to commit. Idempotent on retry: a second `dry_run: false` after a successful migration finds zero inline cross-edges and reports `migrated: []`.