Dynamics cannot answer that about itself. Its dependency tracking reads what components declare, and most writes live inside compiled plugins, flow definitions and form scripts.
A plugin step, a classic workflow, a cloud flow, a business rule, a script on a form, a canvas app, a Power Pages form, an agent flow. By hand, that means opening each one, one window at a time.
In the demo environment, credit limit has thirteen writers across eleven kinds of component, from forms and plugin steps to an agent flow a Copilot Studio agent can run. One form script writes it only when a condition is met.
Deterministic: Pathix resolved the exact column, from the platform's own structure or by parsing the component's logic. AI-derived: a model proposed the edge and attached its evidence. Unresolved: Pathix saw a write but could not pin the column, so it lists it instead of dropping it. Here, all thirteen are Deterministic.
Through the Pathix MCP, it's one call: the same thirteen writers, each with its tier. With the Dataverse MCP alone, an agent opens definitions one at a time, and the plugin comes back compiled.
A read-only metadata scan of your environment that reads the logic inside the components: compiled plugins, flow definitions, workflow XAML and scripts.
How it works →The detail behind the answer, for the reader who needs it.
This is why a single score per component would be useless. Pathix resolves each call on its own terms rather than grading the assembly as a whole: one is pinned by a registration, the rest are read out of the IL, and two are not edges at all but findings in their own right.
The plugin is from a scenario built to exercise the parsers: anything carrying a sim_ prefix is staged, not a customer environment.
Granting the ability to write is not the same as writing. Pathix keeps them on separate surfaces on purpose: write edges live in the dependency graph, and who can write lives with the roles and principals. They never merge into one edge.
Blur the two and a permission starts looking like a dependency, which is the confusion an access review exists to prevent. The dependency graph answers what could change this value. The roles and principals answer who could, and a list that mixes them is not a reliable answer to either one.
Any tool that claims to find everything is guessing somewhere. Pathix labels the two gaps below in the product, so a clean-looking list never implies more certainty than it has.
A late-bound or dynamically assembled column name cannot be resolved from structure alone. Pathix marks the write Unresolved and adds it to a worklist rather than guessing at a target. With AI enabled it reads the decompiled or original source and can propose an evidence-coupled edge for some of them, so the gap is smaller than the parser alone would leave it.
Pathix traces bound properties from the manifest through each form binding. A control that takes its column name from runtime configuration is a documented gap in the coverage register.
Canvas apps are the one place depth is a setting rather than a limit. Standard parsing resolves them as far as the table; switch deep scan on for an environment and Pathix unpacks the app package for column-level attribution.
All of which is why an empty result is worded carefully. A column with no writers means no scanned surface resolved a write to it. Treat that as a strong lead worth checking, well short of a guarantee that nothing can write it.
A 30-minute walkthrough on a pre-scanned demo environment. No access to your tenant, nothing to install.