PathixDataverse Forensics
Modernization · CTO & platform lead

Map the system first.
Agents propose the rebuild. You approve it.

Agentic coding is making custom UIs and headless front-ends cheap to build on top of Dataverse. What makes that safe is a control chain. Pathix is read-only and never writes to your environment, and through one MCP it hands any agent a deterministic account of how the current system behaves. The agent proposes the rebuild from that, and every change stays yours to approve.

THE CONTROL CHAIN
Read-onlyAgent proposesYou approve
Book a demoSee the MCP
The wall agents hit

Your structure lives in compiled plugins, not in your data.

AI agents handle a lot of Dynamics questions well. They read your data, run queries, summarize records. But what writes a column, or what a plugin does, does not live in the data. It lives in compiled plugin code, workflow XAML and flow JSON, the blobs Dataverse can hand an agent but cannot interpret. So the agent guesses, or tells you it cannot see. Pathix parses all of it once per scan and exposes the result as an MCP server.

The Pathix MCP

The whole graph, callable by any agent.

Point Claude Desktop, Copilot, Cursor, or your own orchestration at your Pathix deployment and it answers dependency, security, and inventory questions natively, with structured confidence in every response and no SQL required of the agent. Same scan, same graph, the same deterministic answer, not a natural-language guess over your data. 22 typed tools:

ORIENTATION
list_environmentslist_scanslist_solutionslist_components
FIND AND DESCRIBE
find_componentsearch_columnsdescribe_tabledescribe_componentdescribe_plugin
DEPENDENCY
find_writersfind_readerscomponent_footprinttable_logic_footprint
SECURITY
effective_permissionsfind_access_grantsshared_role_principals
EXPOSURE AND EGRESS
find_portal_reacherslist_external_connections
FINDINGS
list_findings
CHANGE PLANNING
cascade_fanoutmigration_sequenceplan_table_migration
AI OBSERVATIONS
list_observations · reserved
find_writers("pathix_assetregister", "pathix_criticality")
AssetCodeGenerator (Create) · confidence: AI-derived

All 22 tools, and what a session looks like →

AI-derived edges
AI-derived

The dependencies static analysis can't prove alone.

What the deterministic walker cannot prove from the IL, an optional AI sweep proposes as a candidate edge: labeled AI-derived, coupled to its evidence, and net-new. It never overrides a proven edge, and every one is a click from its citation. Dynamic and late-bound writes get caught this way, and stay separable from what was proven.

Pathix Touchpoints view of account.creditlimit with the AI-derived writer selected: plugin step ContosoLegacy.Sync.AccountBalanceShadow, a conditional AI-derived edge at salience 35. The detail pane shows its edge (writes account.creditlimit), source (PluginStep), confidence (AI-derived), validation (Needs review), and actions to Review AI Evidence and View AI narration. Other edges in the list carry Declared or Parsed confidence.
AI narration

Every plugin, workflow, and flow, in plain English.

Point the optional narration at a component and Pathix decompiles it and explains what it does: its trigger, its logic, the exact columns it writes and reads. Each narration shows the model that produced it and a confidence tier, and it is built to be confirmed in review, not taken on faith.

AI-derivedWhat this plugin does
Trigger
Create pathix_assetregister PreOperation
Logic

When a new assetregister record of pathix_recordtype 'Asset' is created without an existing pathix_assettag, auto-generates a tag in the format '{locationcode}-{typename3chars}-{sequenceNumber:D3}' by counting existing Asset records at the same location. Also sets pathix_criticality to 'Critical' if pathix_currentvalue >= 100000, 'High' if >= 25000, or 'Standard' otherwise. Falls back to 'LOC' for missing location code and 'GEN' for missing typename.

Writes · 2
  • pathix_assetregister.pathix_assettag
  • pathix_assetregister.pathix_criticality
Reads · 5
  • pathix_assetregister.pathix_recordtype
  • pathix_assetregister.pathix_assettag
  • pathix_assetregister.pathix_locationcode
  • pathix_assetregister.pathix_typename
  • pathix_assetregister.pathix_currentvalue
Assembly notes

All six plugins operate on the pathix_assetregister polymorphic table which stores Locations, AssetTypes, Assets, and SubAssets discriminated by the pathix_recordtype string column. TypeAttributeCopyDown and AssetCodeGenerator both fire on Create/PreOperation for pathix_assetregister and both guard on recordtype='Asset', so they run together on asset creation; ordering between them is not enforced in the sidecar. StatusCascade can recursively touch many records in a single update if a location has many children. All plugins silently swallow exceptions (empty catch blocks) except MegaTableValidator, which intentionally throws to block invalid saves.

About this narration
Model
claude-sonnet-4-6
Generated at
5/29/2026, 2:24:16 PM
Assembly version
3186498
Scanned version
3186498
AI confidence
High
AssetCodeGenerator, one of six plugins registered against a polymorphic asset-register table.

What Pathix narrates, and what it deliberately does not →

The agent's output

The plan an agent built from the graph, yours to judge.

Both came out of the cold run with no plan and junior-developer prompting, raw and unedited: the full migration plan, and a developer work-item spreadsheet ready to hand a build team. The plan caught that five of six plugins silently swallow their errors, so the production rollups may already be wrong, and its instruction is blunt: recompute on migrate, do not trust-migrate.

Built from a live Pathix scan of a synthetic demo environment, all six plugins decompiled at High confidence. Behavioral narration is a reading of decompiled code that the plan says to confirm against source before retiring a step. The agent produced a plan, not an execution.

Your provider, your boundary

Bring your own AI provider, inside your own boundary.

Choose Azure OpenAI, OpenAI, or Anthropic, so you are not tied to one AI vendor. Your key is stored encrypted in Key Vault and never logged, and you opt environments into summarization one at a time. AI is off by default. For sovereign and government deployments, bind AI to a provider inside your boundary such as Azure OpenAI Service in Azure Government. The exact configuration and impact level are scoped per engagement.

Where this is going

The headless wave is coming to Dynamics. You'll need ground truth to ride it.

As agentic coding makes custom front-ends cheap, more teams will run Dataverse headless with agent-built UIs on top. The risk is that an agent rebuilding your environment cannot see the logic and security model buried in the current one. Understanding the system as it is built has to come first, and that is the part Pathix does today.

How AI works in Pathix

Optional, in your tenant, never the source of truth.

Off by default

Every AI feature is opt-in. The deterministic core works at full fidelity with zero AI.

Bring your own key

AI runs on your own Azure OpenAI, OpenAI, or Anthropic key, in your tenant. The vendor never proxies, brokers, or sees the traffic.

Never overrides facts

AI-derived edges are labeled, evidence-coupled, and net-new only. They never override or upgrade a deterministic result.

Confirm before you rely

Narrated behavior is a high-quality reading of decompiled code, labeled with the model and a confidence tier, meant to be confirmed in review.

The full security posture →

Point your agent at a real environment.

A 30-minute walkthrough on a pre-scanned demo environment, with the Pathix MCP live.

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