<?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 AI VOID</title><link>https://ai-blog.noorshomelab.dev/tags/diagnostics/</link><description>Recent content in Diagnostics on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 17 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/tags/diagnostics/index.xml" rel="self" type="application/rss+xml"/><item><title>Chapter 5: Strict Validation Layer: Detecting Syntax and Semantic Errors</title><link>https://ai-blog.noorshomelab.dev/mermaid-lint-guide/chapter-5-strict-validation-layer/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/mermaid-lint-guide/chapter-5-strict-validation-layer/</guid><description>&lt;h2 id="chapter-5-strict-validation-layer-detecting-syntax-and-semantic-errors"&gt;Chapter 5: Strict Validation Layer: Detecting Syntax and Semantic Errors&lt;/h2&gt;
&lt;p&gt;Welcome to Chapter 5 of our journey to build a production-grade Mermaid analyzer and fixer. In the previous chapters, we successfully developed a robust lexer to tokenize Mermaid input and a sophisticated parser to transform those tokens into a strongly typed Abstract Syntax Tree (AST). With the raw structure of the Mermaid diagram now represented in a programmatic form, it&amp;rsquo;s time to introduce the critical next phase: the &lt;strong&gt;Strict Validation Layer&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Chapter 6: Rich Diagnostics: Emitting Compiler-Style Error Messages</title><link>https://ai-blog.noorshomelab.dev/mermaid-lint-guide/chapter-6-rich-diagnostics/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/mermaid-lint-guide/chapter-6-rich-diagnostics/</guid><description>&lt;h2 id="chapter-6-rich-diagnostics-emitting-compiler-style-error-messages"&gt;Chapter 6: Rich Diagnostics: Emitting Compiler-Style Error Messages&lt;/h2&gt;
&lt;h3 id="chapter-introduction"&gt;Chapter Introduction&lt;/h3&gt;
&lt;p&gt;In the previous chapters, we laid the groundwork for our Mermaid analyzer by building a robust lexer and parser. While these components are crucial for understanding the Mermaid code&amp;rsquo;s structure, their current error reporting is rudimentary, often just returning a simple error message or panicking. For a production-grade tool that aims to mimic the reliability and user-friendliness of compilers like &lt;code&gt;rustc&lt;/code&gt;, this is insufficient.&lt;/p&gt;</description></item><item><title>Chapter 8: Building the CLI: User Interface and Output Modes</title><link>https://ai-blog.noorshomelab.dev/mermaid-lint-guide/chapter-8-building-the-cli/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/mermaid-lint-guide/chapter-8-building-the-cli/</guid><description>&lt;h2 id="chapter-8-building-the-cli-user-interface-and-output-modes"&gt;Chapter 8: Building the CLI: User Interface and Output Modes&lt;/h2&gt;
&lt;p&gt;Welcome to Chapter 8 of our journey to build a production-grade Mermaid code analyzer and fixer. In the previous chapters, we laid the foundational components: the lexer, parser, AST, validator, rule engine, and diagnostics system. These are the core engines of our tool, but without a robust command-line interface (CLI), our powerful backend remains inaccessible to users.&lt;/p&gt;
&lt;p&gt;This chapter focuses entirely on building a user-friendly and feature-rich CLI for our &lt;code&gt;mermaid-analyzer&lt;/code&gt; tool. We will leverage the &lt;code&gt;clap&lt;/code&gt; crate for argument parsing, providing a familiar and intuitive experience for developers. Our CLI will support multiple output modes: &lt;code&gt;lint&lt;/code&gt; for reporting issues, &lt;code&gt;fix&lt;/code&gt; for applying safe transformations, and &lt;code&gt;strict&lt;/code&gt; for enforcing the highest level of correctness. We&amp;rsquo;ll also ensure our output is clear, actionable, and visually appealing using colored terminal output, mirroring the excellent diagnostics provided by the Rust compiler itself.&lt;/p&gt;</description></item></channel></rss>