<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Diagnostics on FsFlow</title>
    <link>https://adz.github.io/FsFlow/reference/diagnostics/</link>
    <description>Recent content in Diagnostics on FsFlow</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://adz.github.io/FsFlow/reference/diagnostics/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>FsFlow.Diagnostic</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/t-diagnostic/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/t-diagnostic/</guid>
      <description>&lt;p&gt;A single failure item attached to a path in a validation graph.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FsFlow.Diagnostics</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/t-diagnostics/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/t-diagnostics/</guid>
      <description>&lt;p&gt;A mergeable validation graph that carries local errors and nested child branches.&lt;/p&gt;&#xA;&lt;h2 id=&#34;remarks&#34;&gt;Remarks&lt;/h2&gt;&#xA;&lt;para&gt;&#xA; `Errors` holds the application errors attached exactly to the current node, while&#xA; `Children` holds nested branches keyed by `PathSegment`.&#xA; &lt;/para&gt;&#xA; &lt;para&gt;&#xA; This structure allows hierarchical validation to stay navigable before flattening.&#xA; Use `flatten` to convert it into a linear list.&#xA; &lt;/para&gt;</description>
    </item>
    <item>
      <title>FsFlow.DiagnosticsModule.empty</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-empty/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-empty/</guid>
      <description>&lt;p&gt;Creates an empty diagnostics graph with no errors.&lt;/p&gt;&#xA;&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;&#xA;&lt;p&gt;An empty &lt;code&gt;Diagnostics&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FsFlow.DiagnosticsModule.flatten</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-flatten/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-flatten/</guid>
      <description>&lt;p&gt;Flattens the structured diagnostics graph into a linear list of diagnostics.&lt;/p&gt;&#xA;&lt;h2 id=&#34;remarks&#34;&gt;Remarks&lt;/h2&gt;&#xA;&lt;p&gt;During flattening, child paths are accumulated from the root down into each emitted diagnostic.&#xA;The tree itself stores only local errors and child branches, while &lt;code&gt;Diagnostic&lt;/code&gt;&#xA;is reserved for reporting output.&lt;/p&gt;&#xA;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;graph&lt;/code&gt;: The &lt;code&gt;Diagnostics&lt;/code&gt; to flatten.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;&#xA;&lt;p&gt;A list of type &lt;code&gt;Diagnostic&lt;/code&gt; list.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FsFlow.DiagnosticsModule.merge</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-merge/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-merge/</guid>
      <description>&lt;p&gt;Recursively merges two diagnostics graphs, combining shared branches and local errors.&lt;/p&gt;&#xA;&lt;h2 id=&#34;remarks&#34;&gt;Remarks&lt;/h2&gt;&#xA;&lt;p&gt;This is the core operation for applicative validation. It ensures that errors from sibling&#xA;fields are collected together into a single structured graph.&lt;/p&gt;&#xA;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;left&lt;/code&gt;: The first graph of type &lt;code&gt;Diagnostics&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;right&lt;/code&gt;: The second graph of type &lt;code&gt;Diagnostics&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;&#xA;&lt;p&gt;A new &lt;code&gt;Diagnostics&lt;/code&gt; containing the union of both inputs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FsFlow.Path</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/t-path/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/t-path/</guid>
      <description>&lt;p&gt;A path through a validation graph, represented as a list of &lt;code&gt;PathSegment&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FsFlow.PathSegment</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/t-pathsegment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/t-pathsegment/</guid>
      <description>&lt;p&gt;Location markers used to describe where a diagnostic belongs in a validation graph.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FsFlow.DiagnosticsModule.singleton</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-singleton/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-singleton/</guid>
      <description>&lt;p&gt;Creates a diagnostics graph containing exactly one error at the root.&lt;/p&gt;&#xA;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;error&lt;/code&gt;: The application error to store at the root.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;&#xA;&lt;p&gt;A &lt;code&gt;Diagnostics&lt;/code&gt; with a single error.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FsFlow.DiagnosticsModule.toString</title>
      <link>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-tostring/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://adz.github.io/FsFlow/reference/diagnostics/m-diagnosticsmodule-tostring/</guid>
      <description>&lt;p&gt;Renders a diagnostics graph in a YAML-like layout for display.&lt;/p&gt;&#xA;&lt;h2 id=&#34;remarks&#34;&gt;Remarks&lt;/h2&gt;&#xA;&lt;p&gt;This is intended for human-readable output. Empty sections are omitted, and children are&#xA;shown directly under their branch labels at the same indentation level as errors. Errors&#xA;render as YAML-style bullet items without an &lt;code&gt;Errors:&lt;/code&gt; key. Use&#xA;&lt;code&gt;flatten&lt;/code&gt; when you need path-bearing diagnostics for&#xA;reporting or assertions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;graph&lt;/code&gt;: The diagnostics graph to render.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;&#xA;&lt;p&gt;A formatted string representation of the graph.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
