list_edge_migrations
List every edge-key migration from `UPG_EDGE_MIGRATIONS` (renamed or dropped canonical edge keys, e.g. `persona_has_jtbd` → `persona_pursues_job`). Each row: `{ kind, from, to?, since }` where `kind` is `rename` or `drop`. Optional `from_edge` exact-matches `from`.
Spec Introspectionatomic (read-only)
Arguments
from_edgestringoptionalExact-match filter on the deprecated edge key (e.g. "persona_has_jtbd").
Returns
Shape
{ migrations: [{ kind, from, to?, since }], total: number }Examples
Live call against the Notion example graph.
Output
{
"migrations": [
{
"kind": "rename",
"from": "task_implements_story_statement",
"to": "task_implements_user_story",
"since": "0.7.0"
},
{
"kind": "rename",
"from": "epic_specified_by_story_statement",
"to": "epic_specified_by_user_story",
"since": "0.7.0"
},
{
"kind": "rename",
"from": "story_statement_verified_by_acceptance_criterion",
"to": "user_story_verified_by_acceptance_criterion",
"since": "0.7.0"
},
{
"kind": "rename",
"from": "test_case_covers_story_statement",
"to": "test_case_covers_user_story",
"since": "0.7.0"
},
{
"kind": "rename",
"from": "solution_proposes_hypothesis_claim",
"to": "solution_proposes_hypothesis",
"since": "0.4.0"
},
{
"kind": "rename",
"from": "hypothesis_claim_requires_experiment_plan",
"to": "hypothesis_requires_experiment_plan",
"since": "0.4.0"
},
{
"kind": "rename",
"from": "hypothesis_claim_planned_via_test_plan",
"to": "hypothesis_planned_via_test_plan",
"since": "0.4.0"
},
{
"kind": "rename",
"from": "hypothesis_claim_investigated_via_research_plan",
"to": "hypothesis_investigated_via_research_plan",
"since": "0.4.0"
},
{
"kind": "rename",
"from":
… (truncated)