PathixDataverse Forensics
Capability · Migration and change impact

What breaks if you change this table?

Four capabilities answer that, and each one labels what it could not prove. The expensive part of a Dynamics migration is rarely the work you planned for. It is the component nobody remembered, found three weeks in.

Book a walkthrough →The same ground as a walkthrough →
The inventory

Four things you can ask before you touch anything.

CAPABILITY
POINT IT AT
WHAT COMES BACK
Table logic footprint
Pathix logic footprint for the account table: 12 components, one row each, with the columns each one writes and reads folded in, plus type, enabled state, a confidence tier (Parsed here), parse status, and the source parser. A note flags that canvas-app deep scan is disabled for this environment, so canvas-app column reads and writes may be undercounted.
A table
Every component with an edge to any column on it, deduped per component, with the columns each one touches folded into the row.
Rewrite plan
Pathix rewrite plan for the cso.accountprogram table: a leaf-first migration order in three waves across six components, each row showing the component, its type (cloud flow, classic workflow, or plugin), a confidence tier (Parsed or AI-derived), and a track. The view openly flags a cycle group with no provable internal order, an unresolved-only edge, a component parsed with partial success, three components registered with no resolved column edge that it could not place in the sequence, and a note that the order reflects modeled coupling only and should be treated as a candidate to verify, not proof.
A table
Every bound component arranged leaf-first into parallel tracks and ordered waves, with cycles and unproven edges marked.
Cascade fanout
Pathix cascade fanout for the account table: 43 direct and 1,732 total cascade edges, with depth, behavior, the tables they cascade to, and relationship names.
A table and one of five axes
Which tables a single operation reaches once the platform follows the relationships down, and how deep it goes.
Table deleters
A table
Everything able to remove its records: cascade relationships, plus any plugin or workflow logic that issues a delete.
Click a capability to see it in the product.
Your agent can call these too

Three of the four are tools on the Pathix MCP server, so an agent can run the same analysis and hand you the answer rather than you driving the console: table_logic_footprint, cascade_fanout, and the pair behind the plan, migration_sequence and plan_table_migration. Every one is read-only, and the agent signs in as you.

All 22 tools, and what a session looks like →

The rewrite plan

Tracks run in parallel. Waves run in order.

The plan folds two kinds of coupling into one sequence: column data flow, meaning one component writes what another reads, and orchestration, meaning one component invokes another. Both have to hold for the order to be safe.

1 cycle group · 2 unproven edges · 2 tracks  Hover a component to trace what it reaches.
thenpoints from what you change first to what depends on it. It is not a “depends on” arrow.
cycleno provable internal order, so the group migrates together.
unprovenPathix could not resolve the link. It stays in the plan, and you verify it.
Trackan independent cluster. Different tracks share nothing and can move in parallel.
WAVE 0 safe to change firstWAVE 1WAVE 2TRACK 0TRACK 1↺ no provable internal orderDFDataflowCredit DataflowPLGPlugin stepFetchXmlCreditLimitMAPAttribute mappingaccount → contactJSForm scriptaccountcreditlimit.jsHTMLHTML web resourcecredit_limit_managerWFClassic workflowOn Create - Set DefaultsFLWCloud flowOn Create UpdateAPICustom APIpathix_SetCreditLimitWFClassic workflowDISABLEDWorkflow with ChildWFClassic workflowDISABLEDChild Workflow
A reduced model of the real view, with the same interaction.
See the real one
Pathix rewrite plan for the account table, drawn as a grid. Waves run left to right as an order: wave 0 is labeled safe to change first, then wave 1, then wave 2. Tracks stack vertically and are independent. Track 0 spans all three waves, running dataflows, a plugin step and attribute mappings into a cycle group of a form script and an HTML web resource marked no provable internal order, then out to classic workflows, a cloud flow, a dialog, an action, plugin steps and a custom API. Track 1 is two disabled classic workflows, a parent and its child. Track 2 is a single attribute mapping. Above the grid the view reports 1 cycle group, 1 orchestration call, 12 unproven edges and 16 components registered with no column edge, and states that absence reflects scanned coverage only and should be treated as a candidate to verify, not proof the field is unused.

A rewrite plan drawn as a grid. Waves run left to right as an order: wave 0 is safe to change first, then wave 1, then wave 2. Tracks stack vertically and are independent, so no edge ever crosses between them. Track 0 runs a dataflow, a plugin step and an attribute mapping in wave 0, into a cycle group in wave 1 holding a form script and an HTML web resource marked no provable internal order, and out to a classic workflow, a cloud flow and a custom API in wave 2. Two of its edges are dashed because they are unproven. Track 1 is a disabled classic workflow and its disabled child. Track 0 and track 1 could be worked at the same time by different people without either waiting.

Point your agent at this with the Pathix MCP and it returns the same ordered plan, with the cycles and unproven edges still labeled.

Tracks are independence

Clusters with no coupling between them. Two tracks can be worked at the same time by different people without either one waiting, which is what makes a large migration divisible in the first place.

Waves are order

Wave 0 is what nothing downstream depends on, so it is safe to change first. Work outward from there toward the roots everything else sits on.

Cascade fanout

The blast radius of one operation, along five axes.

Cascade behavior is configured per relationship and its reach compounds quietly. Pathix walks the relationship metadata outward along whichever axis you pick and returns the tables that operation actually reaches, with the depth it traveled to get there.

DELETERemoving one record removes or unlinks records in the tables it reaches.
ASSIGNChanging an owner reassigns records downstream.
SHARESharing a record shares what cascades from it.
UNSHAREWithdrawing a share withdraws it downstream too.
REPARENTMoving a record under a new parent re-derives inherited access.
Table deleters

What can remove records from this table.

Cascade is only one route. A plugin or a workflow can issue a delete directly, and that path does not appear anywhere in the relationship metadata. Pathix answers the question from both sides at once: the relationships that cascade a delete into the table, and the component logic that deletes from it on purpose.

What the plan admits

A direction to verify, not an asserted build order.

A migration plan that looks certain is worse than one that shows its gaps, because you will act on it either way. Three things the rewrite plan flags about itself.

Cycle groups

Where two components depend on each other, no internal order is provable. Pathix marks the group rather than picking one and presenting it as the answer.

Unproven edges

An edge crossing an Unresolved or AI-derived endpoint is labeled unproven. It stays in the plan, because dropping it would make the sequence look more certain than it is.

False leaves

A component can land in wave 0 because nothing depends on it, or because Pathix could not resolve what it depends on. Those two are very different, and the plan tells them apart.

The plan reflects coupling Pathix could model from structure. Treat it as a sequence worth checking rather than proof, which is also how the product words it.

Bring the table you are afraid to change.

A walkthrough traces whatever you name, on a pre-scanned environment, in about thirty minutes.

Book a walkthroughRead the sample report →
© 2026 Pathix L.L.C. · self-hosted · metadata-only
Not affiliated with Microsoft. Dynamics 365, Dataverse, and Power Platform are trademarks of Microsoft Corporation.π