<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jyoti Sharma</title>
    <description>The latest articles on DEV Community by Jyoti Sharma (@jyoti_sharma_165198d94134).</description>
    <link>https://dev.to/jyoti_sharma_165198d94134</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4177236%2F90b42d09-54c8-41f8-b5d8-c644570276e1.png</url>
      <title>DEV Community: Jyoti Sharma</title>
      <link>https://dev.to/jyoti_sharma_165198d94134</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jyoti_sharma_165198d94134"/>
    <language>en</language>
    <item>
      <title>GhostTrace: The Haunted Codebase Investigator (Local Git Archaeology with Gemma &amp; Mastra)</title>
      <dc:creator>Jyoti Sharma</dc:creator>
      <pubDate>Sat, 31 Oct 2026 13:12:57 +0000</pubDate>
      <link>https://dev.to/jyoti_sharma_165198d94134/ghosttrace-the-haunted-codebase-investigator-local-git-archaeology-with-gemma-mastra-3ide</link>
      <guid>https://dev.to/jyoti_sharma_165198d94134/ghosttrace-the-haunted-codebase-investigator-local-git-archaeology-with-gemma-mastra-3ide</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;DEV Community Hacktoberfest Challenge: Ghost in the Machine&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Target Categories: **Best Use of Gemma&lt;/em&gt;* ($200) &amp;amp; &lt;strong&gt;Best Use of Mastra&lt;/strong&gt;.*&lt;/p&gt;




&lt;h2&gt;
  
  
  👻 What I Built
&lt;/h2&gt;

&lt;p&gt;Every developer inherits code filled with ghosts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Why is there a 5-attempt exponential backoff loop here?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Can we safely delete this custom connection pool wrapper?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Who introduced this strange workaround, and what disaster occurred if we remove it?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When developers encounter these "code ghosts", they usually resort to running tedious manual Git archaeology (&lt;code&gt;git log --grep&lt;/code&gt;, &lt;code&gt;git blame&lt;/code&gt;, &lt;code&gt;git show&lt;/code&gt;, &lt;code&gt;git diff&lt;/code&gt;) or pasting the code into a hosted commercial chatbot. But generic chatbots easily invent plausible-sounding justifications out of thin air, and pasting private codebase logic into cloud LLMs exposes proprietary code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GhostTrace&lt;/strong&gt; is a local-first, open-source repository-history investigator that reconstructs &lt;em&gt;why&lt;/em&gt; code exists from Git history. It combines:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Allow-listed, Read-Only Git Tools&lt;/strong&gt;: Structured tools (&lt;code&gt;repo_summary&lt;/code&gt;, &lt;code&gt;search_history&lt;/code&gt;, &lt;code&gt;get_commit&lt;/code&gt;, &lt;code&gt;get_diff&lt;/code&gt;, &lt;code&gt;get_blame&lt;/code&gt;, &lt;code&gt;search_source&lt;/code&gt;) wrapped with strict path canonicalization and argument arrays (&lt;code&gt;shell: false&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mastra Agent Orchestration&lt;/strong&gt;: Orchestrates tool execution, keyword extraction, and evidence indexing using &lt;code&gt;@mastra/core&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Gemma Inference&lt;/strong&gt;: Open-weight &lt;code&gt;gemma2:2b&lt;/code&gt; runs entirely on-device via Ollama, synthesizing findings strictly from bounded evidence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anti-Hallucination Citation Verification&lt;/strong&gt;: Every factual finding is cross-checked against the retrieved evidence pack. Phantom IDs are stripped, and unsupported claims are automatically demoted to hypotheses or unknowns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Haunted-Terminal UI&lt;/strong&gt;: A responsive, retro phosphor-green CRT interface with live telemetry, collapsible syntax-highlighted diffs, and 1-click Markdown postmortem exports.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🎮 Interactive Demo &amp;amp; Walkthrough
&lt;/h2&gt;

&lt;p&gt;GhostTrace includes a built-in deterministic test repository (&lt;code&gt;tests/fixtures/known-workaround-repo&lt;/code&gt;) modeling a payment microservice.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note: All incident numbers (e.g., Incident INC-882) and commits in the fixture are synthetic test fixtures designed to provide 100% reproducible ground truth.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  The Investigation Query
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Why was this retry workaround added, and can I safely remove it?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  1. Live Telemetry
&lt;/h3&gt;

&lt;p&gt;GhostTrace executes the Mastra tool loop, logging real-time telemetry:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;VALIDATE_REPO&lt;/code&gt;: Confirms the local path is a valid Git working tree and resolves the canonical root.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PARSE_QUERY&lt;/code&gt;: Extracts search tokens (&lt;code&gt;retry&lt;/code&gt;, &lt;code&gt;workaround&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;MASTRA_TOOL&lt;/code&gt;: Invokes &lt;code&gt;mastraGitTools.repo_summary&lt;/code&gt; and &lt;code&gt;mastraGitTools.search_history&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;MASTRA_TOOL&lt;/code&gt;: Inspects &lt;code&gt;mastraGitTools.get_commit&lt;/code&gt; and &lt;code&gt;mastraGitTools.get_diff&lt;/code&gt; on the target file &lt;code&gt;src/paymentClient.ts&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;EVIDENCE_PACK&lt;/code&gt;: Assembles bounded evidence items &lt;code&gt;E1&lt;/code&gt;, &lt;code&gt;E2&lt;/code&gt;, &lt;code&gt;E3&lt;/code&gt; with exact commit SHAs and author metadata (&lt;code&gt;Bob Engineer&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;MODEL_SYNTHESIS&lt;/code&gt;: Local &lt;code&gt;gemma2:2b&lt;/code&gt; synthesizes the findings in JSON format.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;VALIDATE_CITATIONS&lt;/code&gt;: Verifies citations against the evidence pack.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. The Evidence-Backed Report
&lt;/h3&gt;

&lt;p&gt;Every claim in the UI has a clickable &lt;code&gt;[E1]&lt;/code&gt; or &lt;code&gt;[E3]&lt;/code&gt; citation pill that smoothly jumps to the inspectable Git commit SHA, author, and syntax-highlighted diff.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Why Open AI Matters: The Power of Local Gemma
&lt;/h2&gt;

&lt;p&gt;Running AI locally is not just a nice-to-have for developers—it is essential when inspecting codebases:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Privacy &amp;amp; Zero Code Leakage&lt;/strong&gt;: In local mode, GhostTrace sends prompts exclusively to the local Ollama daemon (&lt;code&gt;http://localhost:11434&lt;/code&gt;). Zero code, diffs, or repository metadata ever leave the workstation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Reproducibility&lt;/strong&gt;: Because &lt;code&gt;gemma2:2b&lt;/code&gt; is open-weight and runs locally with temperature &lt;code&gt;0.1&lt;/code&gt; and schema enforcement, investigations yield consistent, verifiable results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility&lt;/strong&gt;: At only ~1.6 GB, &lt;code&gt;gemma2:2b&lt;/code&gt; runs smoothly even on standard 8 GB laptops without requiring expensive cloud GPUs or proprietary API subscriptions.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🛠️ How Mastra Orchestrates the Investigation
&lt;/h2&gt;

&lt;p&gt;Mastra (&lt;code&gt;@mastra/core&lt;/code&gt;) serves as the agent orchestration framework. Rather than allowing an LLM to hallucinate or execute arbitrary shell strings, all repository operations are encapsulated as typed Mastra tools:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createTool&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@mastra/core/tools&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;zod&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;getDiff&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../git/tools&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;getDiffTool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createTool&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;get_diff&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Retrieves the bounded patch diff for a commit, optionally filtered to a single relative file path.&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;inputSchema&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;object&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;repoPath&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Absolute local repository path&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;sha&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Commit SHA&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;filePath&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;optional&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Optional repo-relative file path&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;}),&lt;/span&gt;
  &lt;span class="na"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;repoPath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;sha&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;filePath&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;getDiff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;repoPath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;sha&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;filePath&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every tool call validates input parameters against Zod schemas, enforces path canonicalization, sanitizes outputs, redacts secrets (tokens, AWS keys, passwords), and clips text to prevent buffer exhaustion.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛡️ Security &amp;amp; Privacy Boundaries
&lt;/h2&gt;

&lt;p&gt;GhostTrace follows a strict defense-in-depth model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No Arbitrary Shell Execution&lt;/strong&gt;: All Git commands execute via &lt;code&gt;node:child_process.execFile&lt;/code&gt; with explicit argument arrays and &lt;code&gt;shell: false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Path Traversal Defenses&lt;/strong&gt;: Paths are canonicalized via &lt;code&gt;fs.realpathSync&lt;/code&gt;. Directory traversal (&lt;code&gt;..&lt;/code&gt;), NUL bytes (&lt;code&gt;\0&lt;/code&gt;), and absolute path misuse for relative file queries are immediately rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secret Redaction&lt;/strong&gt;: Automated regular expressions scrub API tokens, bearer keys, and credentials before output enters the evidence pack. Sensitive files (&lt;code&gt;.env&lt;/code&gt;, &lt;code&gt;id_rsa&lt;/code&gt;, &lt;code&gt;.pem&lt;/code&gt;, &lt;code&gt;credentials.json&lt;/code&gt;) are blocked from retrieval.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clear Offline Disclosures&lt;/strong&gt;: When Ollama is offline or uninstalled, GhostTrace activates its grounded deterministic fallback engine and visibly discloses that fallback mode was used. It never pretends a live model produced the result.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📦 Source Code &amp;amp; Reproducibility
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/JyotiBhardwajj/GhostTrace" rel="noopener noreferrer"&gt;https://github.com/JyotiBhardwajj/GhostTrace&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License&lt;/strong&gt;: Apache 2.0&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Run it locally in 3 steps:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Clone &amp;amp; install&lt;/span&gt;
git clone https://github.com/JyotiBhardwajj/GhostTrace.git
&lt;span class="nb"&gt;cd &lt;/span&gt;GhostTrace
npm &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;span class="c"&gt;# 2. Initialize the test fixture&lt;/span&gt;
npm run setup

&lt;span class="c"&gt;# 3. Start GhostTrace&lt;/span&gt;
npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;http://localhost:3000&lt;/code&gt;, click &lt;strong&gt;"Load Built-In Fixture Repo"&lt;/strong&gt;, and summon your first historical investigation!&lt;/p&gt;




&lt;h2&gt;
  
  
  🏁 Conclusion
&lt;/h2&gt;

&lt;p&gt;Code archaeology should be scientific, not speculative. By pairing deterministic Git tools with local Gemma reasoning and Mastra agent orchestration, GhostTrace exorcises the ghosts hiding in legacy repositories—safely, privately, and with inspectable evidence.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads...hllxb9bk5bkwxdaoxmkh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads...hllxb9bk5bkwxdaoxmkh.png" alt="GhostTrace Verified Findings and Plausible Hypotheses" width="800" height="400"&gt;&lt;/a&gt;](&lt;a href="https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/hllxb9bk5bkwxdaoxmkh.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/hllxb9bk5bkwxdaoxmkh.png&lt;/a&gt;)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads...5yjhi6ll3hzuilsm8l4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads...5yjhi6ll3hzuilsm8l4g.png" alt="Historical Unknowns and Retrieved Evidence Pack" width="800" height="400"&gt;&lt;/a&gt;(&lt;a href="https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/5yjhi6ll3hzuilsm8l4g.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/5yjhi6ll3hzuilsm8l4g.png&lt;/a&gt;)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads...tqdolpigfsusjkwmej7w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads...tqdolpigfsusjkwmej7w.png" alt="Git Commit Diff Excerpt and Blame Attribution" width="800" height="400"&gt;&lt;/a&gt;(&lt;a href="https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/tqdolpigfsusjkwmej7w.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/tqdolpigfsusjkwmej7w.png&lt;/a&gt;)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiaro8lp9lanoje6zrt0r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiaro8lp9lanoje6zrt0r.png" alt="Git Diff with MAX_RETRIES Logic" width="800" height="361"&gt;&lt;/a&gt;&lt;br&gt;
![Git Blame Attribution and Incident INC-882]((&lt;a href="https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/b00xw4lazvss79qklb6x.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/b00xw4lazvss79qklb6x.png&lt;/a&gt;)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbupwrflohwuf585iofae.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbupwrflohwuf585iofae.png" alt="Search Source Grep Tool Results" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hf26challenge</category>
      <category>devchallenge</category>
      <category>gemma</category>
      <category>mastra</category>
    </item>
  </channel>
</rss>
