<?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: sharma-sugurthi</title>
    <description>The latest articles on DEV Community by sharma-sugurthi (@sharma-sugurthi).</description>
    <link>https://dev.to/sharma-sugurthi</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%2F3817297%2F6208407c-d2df-48f4-bda2-e4493b466eb5.jpg</url>
      <title>DEV Community: sharma-sugurthi</title>
      <link>https://dev.to/sharma-sugurthi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sharma-sugurthi"/>
    <language>en</language>
    <item>
      <title>How to Benchmark Complex AI Pipelines Without PII: Designing a 200+ Synthetic Scenario Test Suite</title>
      <dc:creator>sharma-sugurthi</dc:creator>
      <pubDate>Tue, 18 Aug 2026 06:30:00 +0000</pubDate>
      <link>https://dev.to/sharma-sugurthi/how-to-benchmark-complex-ai-pipelines-without-pii-designing-a-200-synthetic-scenario-test-suite-987</link>
      <guid>https://dev.to/sharma-sugurthi/how-to-benchmark-complex-ai-pipelines-without-pii-designing-a-200-synthetic-scenario-test-suite-987</guid>
      <description>&lt;p&gt;Testing production AI applications in high-stakes domains, such as health insurance, legal tech, or financial services, presents a severe engineering dilemma. &lt;/p&gt;

&lt;p&gt;You cannot use real customer records due to strict privacy regulations, non-disclosure agreements, and data leakage risks. Yet traditional unit tests (&lt;code&gt;assert x == y&lt;/code&gt;) are completely inadequate for evaluating non-deterministic AI workflows, multi-step RAG pipelines, and LLM extractions.&lt;/p&gt;

&lt;p&gt;If you rely solely on manual spot-checking, a single prompt tweak or model version update can silently degrade your system's accuracy across hundreds of edge cases.&lt;/p&gt;

&lt;p&gt;To solve this, software teams must build &lt;strong&gt;Synthetic Benchmark Suites&lt;/strong&gt;: automated, combinatorial test pipelines that generate realistic, privacy-safe scenarios with pre-calculated ground truth. In this article, we explore how to design, execute, and monitor a 200+ scenario synthetic test architecture for complex AI systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Cold Start Problem in AI Testing
&lt;/h2&gt;

&lt;p&gt;Traditional software testing relies on deterministic inputs yielding exact outputs. AI-driven pipelines introduce three distinct failure modes that standard test suites miss:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Silent Extractions Drift:&lt;/strong&gt; A model update might suddenly fail to parse 5-digit CPT codes from low-contrast document scans without throwing a runtime error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Window Contamination:&lt;/strong&gt; As retrieved vector context grows, models begin ignoring critical regulatory constraints buried in the middle of long prompts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routing Failures:&lt;/strong&gt; Multi-model routing architectures (such as swapping between fast inference models and high-reasoning models) may route complex edge cases to underpowered endpoints.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Relying on real-world production data to catch these failures is unacceptable. A robust engineering pipeline requires a synthetic testing environment that stress-tests the AI before code hits production.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Synthetic Benchmark Pipeline Architecture
&lt;/h2&gt;

&lt;p&gt;A production-grade synthetic benchmark pipeline decouples test generation from model evaluation across three isolated layers:&lt;/p&gt;

&lt;p&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%2F5e8w23mq44w1jugxztcn.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%2F5e8w23mq44w1jugxztcn.png" alt="Synthetic Benchmark Execution Architecture" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 1: Combinatorial Scenario Matrix
&lt;/h3&gt;

&lt;p&gt;Instead of writing static test cases, a combinatorial generator creates diverse synthetic personas across multiple domain dimensions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plan Variants:&lt;/strong&gt; ACA Silver PPO, High Deductible Health Plans (HDHP), ERISA Self-Funded, Out-of-Network Emergency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Financial accumulators:&lt;/strong&gt; $0 met deductible, 50% met deductible, maxed out-of-pocket limits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document Quality Anomalies:&lt;/strong&gt; Clean digital PDFs, skewed mobile camera scans, missing line item headers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Layer 2: Deterministic Ground-Truth Engine
&lt;/h3&gt;

&lt;p&gt;For every synthetic scenario generated, a pure mathematical reference model pre-computes the &lt;strong&gt;exact expected output values&lt;/strong&gt; (such as allowed amounts, coinsurance splits, and statutory legal citations).&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 3: Automated Assertion Evaluator
&lt;/h3&gt;

&lt;p&gt;The synthetic payload is fed into the live AI pipeline. The assertion engine compares the AI's final output against the pre-calculated ground truth across exact numerical tolerance margins and JSON schema structures.&lt;/p&gt;




&lt;h2&gt;
  
  
  Designing Synthetic Personas: The Combinatorial Matrix
&lt;/h2&gt;

&lt;p&gt;To achieve comprehensive coverage without real customer data, scenarios are constructed using a structured matrix approach. &lt;/p&gt;

&lt;p&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%2Fzahvp1isx70h9oind9e7.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%2Fzahvp1isx70h9oind9e7.png" alt="Synthetic Scenario Combinatorial Matrix" width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By systematically permuting variables across insurance plan types, document formats, and billing complexities, a test suite of 200+ unique synthetic scenarios can be generated deterministically:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario Dimension&lt;/th&gt;
&lt;th&gt;Variables Tested&lt;/th&gt;
&lt;th&gt;Synthetic Test Coverage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Legal Classification&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Individual ACA, Group ERISA, Out-of-Network NSA&lt;/td&gt;
&lt;td&gt;Evaluates statutory legal citation accuracy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Financial State&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Met vs. Unmet Deductibles, Coinsurance Limits&lt;/td&gt;
&lt;td&gt;Tests mathematical precision and accumulator tracking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Document Artifacts&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Clean Text, Rotated Scans, Noise &amp;amp; Overlays&lt;/td&gt;
&lt;td&gt;Tests vision encoder resilience under poor OCR conditions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Routing Decision&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standard Evaluation vs. Escalated Appeal&lt;/td&gt;
&lt;td&gt;Verifies fast-path vs. deep-reasoning model routing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This synthetic benchmarking methodology was used to validate the PolicyCrab adjudication engine across 200+ complex claim scenarios before production deployment.&lt;/p&gt;




&lt;h2&gt;
  
  
  Evaluating CI/CD Regression Metrics
&lt;/h2&gt;

&lt;p&gt;To integrate synthetic benchmarking into automated DevOps workflows (such as GitHub Actions or GitLab CI), assertion results must compile into actionable metrics rather than simple pass/fail flags.&lt;/p&gt;

&lt;p&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%2Fkumpvaxssjydu8n0bmzu.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%2Fkumpvaxssjydu8n0bmzu.png" alt="CI/CD Synthetic Regression Monitoring" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Key performance indicators tracked across synthetic test runs include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Numerical Precision Score:&lt;/strong&gt; Percentage of synthetic runs where financial math matches ground truth within $0.01 tolerance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schema Adherence Rate:&lt;/strong&gt; Frequency of perfectly typed JSON outputs across raw multimodal extractions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Router Efficiency Ratio:&lt;/strong&gt; Accuracy of selecting cost-effective fast inference models versus heavy reasoning models based on query complexity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latency Distribution (p95 / p99):&lt;/strong&gt; End-to-end processing duration under heavy async queue loads.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When a pull request introduces a prompt modification or dependency upgrade, the synthetic test suite executes automatically. If accuracy drops below designated thresholds (e.g., 99.5% schema adherence), the build fails before deployment.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion: Privacy-First AI Verification
&lt;/h2&gt;

&lt;p&gt;Building reliable AI systems does not require sacrificing user privacy or risking PII exposure. By engineering synthetic benchmark suites with combinatorial scenario matrices and deterministic assertion layers, development teams can continuously validate model accuracy, prevent silent regressions, and ship production-grade AI with complete confidence.&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NIST Special Publication 800-188:&lt;/strong&gt; &lt;em&gt;De-Identification &amp;amp; Synthetic Data Generation Guidelines.&lt;/em&gt; Available at: nist.gov&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IEEE Transactions on Software Engineering:&lt;/strong&gt; &lt;em&gt;Automated Testing &amp;amp; Benchmarking of Non-Deterministic AI Pipelines.&lt;/em&gt; Available at: ieee.org&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python Software Foundation:&lt;/strong&gt; &lt;em&gt;Combinatorial Generation and Testing Patterns.&lt;/em&gt; Available at: docs.python.org&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>testing</category>
      <category>ai</category>
      <category>devops</category>
      <category>python</category>
    </item>
    <item>
      <title>Automating Health Insurance Claim Adjudication: Building a Neuro-Symbolic Engine</title>
      <dc:creator>sharma-sugurthi</dc:creator>
      <pubDate>Mon, 17 Aug 2026 06:30:00 +0000</pubDate>
      <link>https://dev.to/sharma-sugurthi/automating-health-insurance-claim-adjudication-building-a-neuro-symbolic-engine-5607</link>
      <guid>https://dev.to/sharma-sugurthi/automating-health-insurance-claim-adjudication-building-a-neuro-symbolic-engine-5607</guid>
      <description>&lt;p&gt;Automating health insurance claim adjudication requires absolute precision. When an Explanation of Benefits (EOB) or medical claim arrives, processing systems must evaluate CPT coding, verify fee schedules, and calculate exact patient deductibles. Standard large language models struggle here because probabilistic text generation cannot guarantee exact mathematical calculations or strict adherence to statutory rules. &lt;/p&gt;

&lt;p&gt;Systems engineering platforms like PolicyCrab solve this problem by decoupling stochastic document parsing from deterministic symbolic logic in a unified pipeline. In this technical article, the architecture behind a production-grade neuro-symbolic adjudication engine is analyzed using Python, Llama 3, and strict schema guardrails.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Structural Limits of Pure LLM Adjudication
&lt;/h2&gt;

&lt;p&gt;Medical claims adjudication is the process by which a health plan or third-party administrator (TPA) determines financial liability for a submitted medical service. Processing engines must evaluate inputs such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Medical Billing Codes:&lt;/strong&gt; Including CPT procedure codes and ICD-10 diagnosis codes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contracted Fee Schedules:&lt;/strong&gt; Allowed amounts per line item.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Patient Plan Accumulators:&lt;/strong&gt; Annual deductibles, copayments, and out-of-pocket maximums.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When software teams attempt to adjudicate claims using open-ended prompt engineering alone, three specific architectural problems break the pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Floating-point inaccuracies and arithmetic drift:&lt;/strong&gt; Large language models operate on token probabilities rather than arithmetic engines. Prompting a model to sum five claim line items while applying an 80/20 co-insurance split yields inconsistent mathematical outputs across inference runs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Statutory non-compliance:&lt;/strong&gt; Federal frameworks like the U.S. Department of Labor ERISA regulations require explicit, reproducible logic for every denied claim line. Non-deterministic model outputs fail statutory audit logs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hallucinated coverage terms:&lt;/strong&gt; Generative models frequently infer non-existent policy exceptions when processing ambiguous medical notes or secondary EOB scans.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To run claims processing reliably, neural networks must handle visual perception while deterministic Python code executes decision math.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Neuro-Symbolic Adjudication Pattern
&lt;/h2&gt;

&lt;p&gt;A neuro-symbolic system splits the adjudication workflow across a strict boundary. The neural phase extracts structured JSON data from messy document scans. The symbolic phase runs exact rule sets and decimal math against that structured data.&lt;/p&gt;

&lt;p&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%2F60bbcurindti0z4m356v.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%2F60bbcurindti0z4m356v.png" alt="Neuro-Symbolic Trust Boundary Pipeline" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No generative output passes directly to final database storage. Every variable extracted by the neural network must be validated downstream by deterministic assertions before entering the adjudication pipeline.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Neural Extraction &amp;amp; Typed Schema Verification
&lt;/h2&gt;

&lt;p&gt;The extraction step processes low-resolution PDFs or image scans of medical claims. Models like Llama 3 running on fast inference hardware (such as Groq) extract spatial text into typed data structures.&lt;/p&gt;

&lt;p&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%2Fyplkfz143sv21hc7a7fs.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%2Fyplkfz143sv21hc7a7fs.png" alt="Context-Aware Regulatory RAG &amp;amp; Data Ingestion" width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To enforce structural safety, developer-defined schemas constrain the expected document shape:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Strict Type Validation:&lt;/strong&gt; Every claim line must specify integer line numbers, 5-digit CPT procedure codes, primary ICD-10 diagnosis codes, and exact decimal amounts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NPI &amp;amp; Identifier Checks:&lt;/strong&gt; Provider identifiers are validated against 10-digit National Provider Identifier (NPI) standards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fail-Fast Boundary:&lt;/strong&gt; If extraction fails schema validation, the system throws an immediate runtime exception at the boundary, preventing corrupted data from entering the financial logic.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 2: The Deterministic Python Adjudication Engine
&lt;/h2&gt;

&lt;p&gt;Once the claim payload crosses the trust boundary, neural execution halts. The symbolic engine receives the typed payload alongside patient benefit rules retrieved from database storage.&lt;/p&gt;

&lt;p&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%2Fytwm8t8kjp1eeegp21ab.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%2Fytwm8t8kjp1eeegp21ab.png" alt="Deterministic Math Engine &amp;amp; Accumulator Logic" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To eliminate rounding errors inherent in binary floating-point representation, calculations are computed using fixed-precision decimal arithmetic. The symbolic phase executes through a structured sequence:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fee Schedule Lookup:&lt;/strong&gt; Each procedure code is cross-referenced against the contracted fee schedule. Non-covered procedures are immediately flagged and assigned specific denial codes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deductible Accumulation:&lt;/strong&gt; Allowed amounts are applied against the remaining individual deductible. Deductible accumulators update deterministically in real time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coinsurance Split:&lt;/strong&gt; Remaining allowed balances are split between plan paid share and patient responsibility based on exact coinsurance percentages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Precision Quantization:&lt;/strong&gt; Every financial figure is quantized to two decimal places using standard half-up rounding rules.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This deterministic engine executes in linear time $O(n)$ relative to the number of claim line items. Given identical fee schedules and accumulator states, the output values remain 100% reproducible across every execution run.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Managing Discrepancy Triggers and Audit Trails
&lt;/h2&gt;

&lt;p&gt;In real-world health plan administration, discrepancies frequently occur between scanned document reporting and backend accumulator state. An EOB scan might report a total patient responsibility of $450.00, whereas the deterministic engine calculates $420.00 based on updated deductible progress.&lt;/p&gt;

&lt;p&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%2Fapoaikezrm6a1km15b53.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%2Fapoaikezrm6a1km15b53.png" alt="State-Injected Multi-Tool Agentic Architecture" width="800" height="560"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When discrepancy assertions fail, the pipeline triggers a Human-in-the-Loop exception workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Delta Assertions:&lt;/strong&gt; Delta threshold checks compare reported values against symbolic calculations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human Review Routing:&lt;/strong&gt; If the variance exceeds $0.01, the system flags the record for manual review in a web UI dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immutable Transaction Audit:&lt;/strong&gt; Once verified, final state transitions write to an append-only transaction ledger, fulfilling CMS and ERISA compliance requirements.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Building software for healthcare claim adjudication requires moving beyond pure generative models. Unbounded LLM text outputs cannot guarantee the strict arithmetic precision and regulatory compliance demanded by health insurance operations.&lt;/p&gt;

&lt;p&gt;A neuro-symbolic architecture combines the strengths of neural models and symbolic computing. By using LLMs purely for multi-modal text extraction and passing structured payloads into deterministic Python decision engines, teams can build automated adjudication systems that remain fast, accurate, and completely auditable.&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Centers for Medicare &amp;amp; Medicaid Services (CMS):&lt;/strong&gt; &lt;em&gt;Claims Processing Manual and Standards.&lt;/em&gt; Available at: cms.gov&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;U.S. Department of Labor EBSA:&lt;/strong&gt; &lt;em&gt;ERISA Regulations and Health Plan Claims Procedures.&lt;/em&gt; Available at: dol.gov/agencies/ebsa&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python Software Foundation:&lt;/strong&gt; &lt;em&gt;Decimal fixed point and floating point arithmetic documentation.&lt;/em&gt; Available at: docs.python.org/3/library/decimal.html&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>webdev</category>
      <category>architecture</category>
    </item>
    <item>
      <title>🛡️ My Neighbour's ₹2 Lakh Insurance Claim Was Rejected. I Built an AI to Make Sure It Never Happens Again.</title>
      <dc:creator>sharma-sugurthi</dc:creator>
      <pubDate>Mon, 08 Jun 2026 01:25:29 +0000</pubDate>
      <link>https://dev.to/sharma-sugurthi/my-neighbours-2-lakh-insurance-claim-was-rejected-i-built-an-ai-to-make-sure-it-never-happens-go4</link>
      <guid>https://dev.to/sharma-sugurthi/my-neighbours-2-lakh-insurance-claim-was-rejected-i-built-an-ai-to-make-sure-it-never-happens-go4</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;PolicyEye&lt;/strong&gt; (originally started as SecureShield) is a GenAI-powered health insurance claim eligibility engine built for Indian patients. You upload your policy PDF, enter your case details, and a 5-agent AI pipeline tells you exactly whether your claim is eligible - citing the specific IRDAI 2024 regulation behind every decision. No guesswork. No hallucinations. No rejected claims due to ignorance.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://policyeye.app" rel="noopener noreferrer"&gt;Try the Live App: policyeye.app&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
🔗 &lt;a href="https://github.com/sharma-sugurthi/SecureShield" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;
  
  
  Tech Stack:
&lt;/h2&gt;



&lt;p&gt;&lt;code&gt;Frontend → Next.js 16 (React 19, Turbopack) Backend → FastAPI + LangGraph Database → Supabase (PostgreSQL + pgvector) Auth → Supabase JWT AI Gateway → Cloudflare AI Gateway LLM Chains → Cerebras, Groq, Gemini, SambaNova, HuggingFace, xAI, OpenRouter Compliance → IRDAI Health Insurance Regulations 2024&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/tZ71-Kvdgy4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;In 2024, I watched a friend's father's ₹2L surgery claim get &lt;strong&gt;rejected&lt;/strong&gt; - because of a clause buried in page 34 of a 47-page policy nobody had read. That experience planted the seed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Early 2025 - ET GenAI Hackathon:&lt;/strong&gt; I pitched PolicyEye. The idea was validated by the judges. I was motivated. Then came university exams. I had to choose - submit a half-baked prototype or protect my grades. I chose my grades. PolicyEye sat abandoned: 2 rough Python scripts, local SQLite, no UI, no pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;June 2026 - GitHub Finish-Up-A-Thon:&lt;/strong&gt; The challenge felt written for me. &lt;em&gt;"Finally finish what you started."&lt;/em&gt; So I did.&lt;/p&gt;

&lt;h3&gt;
  
  
  Before → After
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Before (ET GenAI)&lt;/th&gt;
&lt;th&gt;After (Finish-Up-A-Thon)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2 rough Python scripts&lt;/td&gt;
&lt;td&gt;5-agent LangGraph pipeline, 18 tools&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Database&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local SQLite&lt;/td&gt;
&lt;td&gt;Supabase PostgreSQL + pgvector&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None (terminal only)&lt;/td&gt;
&lt;td&gt;Premium Next.js 16 frontend&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single provider&lt;/td&gt;
&lt;td&gt;Multi-provider fallback chain (7 providers)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ran only on my machine&lt;/td&gt;
&lt;td&gt;Containerized, Live on Vercel &amp;amp; Hugging Face&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;JWT, rate limiting, HMAC-SHA256&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Compliance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hardcoded rules&lt;/td&gt;
&lt;td&gt;Semantic search over 49 IRDAI 2024 chunks&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Key design choice:&lt;/strong&gt; The Decision Engine uses &lt;strong&gt;zero LLMs&lt;/strong&gt; - all eligibility verdicts are deterministic and auditable. LLMs only generate the plain-language explanation. No hallucinations in decisions. Ever.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Copilot helped me in three meaningful ways:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;My Very First Deployment!&lt;/strong&gt; - I had never deployed a full-stack application before. Copilot walked me through containerization, Hugging Face Spaces backend setup, and deploying the frontend to Vercel. Bringing this complex architecture live to the internet was truly only possible because of Copilot's guidance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stack decisions&lt;/strong&gt; - Copilot helped me choose pgvector-in-Supabase over a separate vector DB: fewer services, tighter auth, same SQL interface I already knew.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD &amp;amp; Architecture&lt;/strong&gt; - As the project grew (backend + frontend + 7 AI providers), Copilot generated the routing logic to automatically failover when free APIs hit rate limits, ensuring the app never goes down.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Personal Note
&lt;/h2&gt;

&lt;p&gt;I'm an engineering student in India. Insurance confusion and claim rejections are real around me, every day. AI in healthcare isn't about replacing doctors. It's about making the &lt;strong&gt;system legible&lt;/strong&gt; to the people it's supposed to serve.&lt;/p&gt;

&lt;p&gt;Thanks to this challenge, PolicyEye is finally out of my laptop and into the world.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built with LangGraph, FastAPI, Next.js, Supabase, and a lot of frustration turned into motivation.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>So You Want to Contribute to Jenkins? Here's Everything Nobody Told Me</title>
      <dc:creator>sharma-sugurthi</dc:creator>
      <pubDate>Tue, 10 Mar 2026 18:00:38 +0000</pubDate>
      <link>https://dev.to/sharma-sugurthi/so-you-want-to-contribute-to-jenkins-heres-everything-nobody-told-me-9ne</link>
      <guid>https://dev.to/sharma-sugurthi/so-you-want-to-contribute-to-jenkins-heres-everything-nobody-told-me-9ne</guid>
      <description>&lt;p&gt;Let me be real with you.&lt;/p&gt;

&lt;p&gt;When I first decided to contribute to Jenkins, I opened the GitHub page, stared at it for ten minutes, and then went and watched YouTube instead.&lt;/p&gt;

&lt;p&gt;It felt big. Like showing up to a party where everyone else knows each other and you're holding your jacket wondering if you should even stay.&lt;/p&gt;

&lt;p&gt;If that's you right now, good. You're in the right place. This blog is everything I figured out the hard way, written in simple English, so you don't have to.&lt;/p&gt;




&lt;h2&gt;
  
  
  First, What Even Is Jenkins?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jenkins.io/" rel="noopener noreferrer"&gt;Jenkins&lt;/a&gt; is an open-source automation server. It helps software teams build, test, and deploy their code automatically. Think of it as the robot that runs your tests every time you push code to GitHub, so your teammates don't have to.&lt;/p&gt;

&lt;p&gt;It's been around since 2011, it has &lt;strong&gt;over 1,900 plugins&lt;/strong&gt;, and it runs in production at companies you definitely know. It's also one of the most active open-source communities on the planet.&lt;/p&gt;

&lt;p&gt;So yes, contributing here actually means something.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Does the Code Live?
&lt;/h2&gt;

&lt;p&gt;Jenkins isn't just one repository. It's spread across a few GitHub organizations:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Organization&lt;/th&gt;
&lt;th&gt;What it contains&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/jenkinsci" rel="noopener noreferrer"&gt;jenkinsci&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The main Jenkins core + almost all plugins&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/jenkins-infra" rel="noopener noreferrer"&gt;jenkins-infra&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The infrastructure running jenkins.io and ci.jenkins.io&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/jenkins-ci" rel="noopener noreferrer"&gt;jenkins-ci&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Older/legacy tooling&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For most contributors including me, especially beginners - &lt;strong&gt;jenkinsci is where you start.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How Do I Find a Project to Contribute To?
&lt;/h2&gt;

&lt;p&gt;A few good places:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/search?q=org%3Ajenkinsci+label%3A%22good+first+issue%22+state%3Aopen&amp;amp;type=issues" rel="noopener noreferrer"&gt;Good First Issues&lt;/a&gt;&lt;/strong&gt; - search across the entire jenkinsci org for issues labeled &lt;code&gt;good first issue&lt;/code&gt;. These are literally tagged by maintainers for people like you and me.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.jenkins.io/projects/gsoc/2026/project-ideas/" rel="noopener noreferrer"&gt;GSoC Project Ideas&lt;/a&gt;&lt;/strong&gt; - if you're applying for Google Summer of Code, this is the list of officially mentored projects. Each has a description, a mentor, and links to the codebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://plugins.jenkins.io/" rel="noopener noreferrer"&gt;Jenkins Plugins Index&lt;/a&gt;&lt;/strong&gt; - if you already use a Jenkins plugin and notice something broken or missing, that plugin probably has a GitHub repo under jenkinsci. Just search &lt;code&gt;jenkinsci/&amp;lt;plugin-name&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://stories.jenkins.io/" rel="noopener noreferrer"&gt;Success Stories&lt;/a&gt;&lt;/strong&gt; - read what people built with Jenkins to understand what problems the community is solving. Inspiration hits differently when you see real use cases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.jenkins.io/projects/gsoc/#gsoc-contributors" rel="noopener noreferrer"&gt;Previous GSoC Projects&lt;/a&gt;&lt;/strong&gt; - past contributors and what they built. One of those projects might need a follow-up contributor. That's how many people get their first foothold.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Okay, I Found a Project. Now What?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Read Before You Touch Anything
&lt;/h3&gt;

&lt;p&gt;Seriously. Read the README.md. Read &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; if it exists. Read the open issues. Read the closed PRs from the last month.&lt;/p&gt;

&lt;p&gt;I know you want to code. But 80% of bad first contributions happen because someone didn't read what already exists. Don't be that person.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Set Up the Dev Environment
&lt;/h3&gt;

&lt;p&gt;Every project has setup instructions. Follow them exactly. If they don't work, that is your first contribution - fix the docs so the next person doesn't suffer.&lt;br&gt;
&lt;strong&gt;In my case while I setting up the Environment, I find it quite time taking to set up the Environment so raised an issue and also successfully merged my PR.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For the &lt;a href="https://github.com/jenkinsci/resources-ai-chatbot-plugin" rel="noopener noreferrer"&gt;Jenkins AI Chatbot Plugin&lt;/a&gt; (project I contributed to), setup involves Docker, a Python virtual environment, and an LLM model download. The README.md walks through it. If something breaks, check the open issues, it's very likely someone else hit the same thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Understand the Codebase (Briefly)
&lt;/h3&gt;

&lt;p&gt;You don't need to understand everything. You just need to understand &lt;em&gt;enough to fix the thing you're fixing.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clone the repo&lt;/li&gt;
&lt;li&gt;Run the app&lt;/li&gt;
&lt;li&gt;Click around / send API requests&lt;/li&gt;
&lt;li&gt;Open the relevant file and read it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A 30-minute exploration beats a 3-hour read of every file.&lt;/p&gt;




&lt;h2&gt;
  
  
  Raising an Issue
&lt;/h2&gt;

&lt;p&gt;Found a bug? Want to suggest something? Great. But before you raise an issue:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Search first.&lt;/strong&gt; GitHub's search is right there. Type a keyword. If your issue already exists and you raise a duplicate, the maintainer will close it and you'll feel weird.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be specific.&lt;/strong&gt; "It doesn't work" is not a bug report. "When I send message X, I get error Y on line Z" is a bug report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Include steps to reproduce.&lt;/strong&gt; If a maintainer can't reproduce your bug, they can't fix it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't claim ownership aggressively.&lt;/strong&gt; Don't comment "I'll fix this" on ten issues and then disappear.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Good issue template to follow (I personally follow this):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happened:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Expected behavior:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps to reproduce:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Environment:&lt;/strong&gt; (OS, Python version, etc.)&lt;/p&gt;




&lt;h2&gt;
  
  
  Submitting Your First PR
&lt;/h2&gt;

&lt;p&gt;This is the moment. The commit message anxiety.&lt;/p&gt;

&lt;p&gt;Here's the practical flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fork&lt;/strong&gt; the repo (your own copy on GitHub)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create a branch&lt;/strong&gt; with a descriptive name: &lt;code&gt;fix/session-delete-disk-cleanup&lt;/code&gt; not &lt;code&gt;my-fix&lt;/code&gt; or &lt;code&gt;branch1&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make the change&lt;/strong&gt;, write a test if needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run CI locally&lt;/strong&gt; - check if there's a &lt;code&gt;pylint&lt;/code&gt; or &lt;code&gt;pytest&lt;/code&gt; command in the docs. Run it before you push. CI failing on your PR is embarrassing (again, speaking from experience)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open the PR&lt;/strong&gt; against the &lt;code&gt;main&lt;/code&gt; branch of the original repo&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write a good description&lt;/strong&gt; - what problem did you solve, how, and how can the reviewer verify it? Link the issue it closes with &lt;code&gt;Closes #&amp;lt;issue-number&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sample PR description:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;br&gt;
Fixes the session delete endpoint not cleaning up disk-persisted files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;delete_session()&lt;/code&gt; removed the in-memory session but left &lt;code&gt;.json&lt;/code&gt; files in &lt;code&gt;/data/sessions/&lt;/code&gt;, causing storage buildup over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix&lt;/strong&gt;&lt;br&gt;
Added &lt;code&gt;os.remove()&lt;/code&gt; call after in-memory cleanup. Wrapped in try/except to handle already-deleted files gracefully.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ran &lt;code&gt;pytest tests/test_session.py&lt;/code&gt; - all pass&lt;/li&gt;
&lt;li&gt;Manually verified file deletion via &lt;code&gt;ls data/sessions/&lt;/code&gt; before and after&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Code of Conduct (Please Don't Skip This)
&lt;/h2&gt;

&lt;p&gt;Jenkins has a &lt;a href="https://www.jenkins.io/project/conduct/" rel="noopener noreferrer"&gt;Code of Conduct&lt;/a&gt; and it's taken seriously. The short version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Be respectful. Everyone here is volunteering their time.&lt;/li&gt;
&lt;li&gt;Keep technical criticism constructive. "This code is bad" helps no one. "This could be simplified by doing X" helps everyone.&lt;/li&gt;
&lt;li&gt;No harassment, no personal attacks, no publishing private info.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Violations can result in warnings, temporary bans, or permanent removal. The board handles this privately and quickly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where to Talk to People
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://community.jenkins.io/c/contributing/gsoc/6" rel="noopener noreferrer"&gt;Jenkins Discourse&lt;/a&gt;&lt;/strong&gt; - for longer discussions, GSoC questions, project proposals. Think of it like a forum.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://app.gitter.im/#/room/#jenkinsci_gsoc-sig:gitter.im" rel="noopener noreferrer"&gt;Jenkins Gitter&lt;/a&gt;&lt;/strong&gt; - for quick questions. The GSoC channel is active during application season.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Issues / PR comments&lt;/strong&gt; - for project-specific technical discussion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pro tip: When you join Gitter, actually say hi and ask a relevant question. Lurking for weeks and then suddenly saying "please review my PR" is not a great introduction.&lt;/p&gt;




&lt;h2&gt;
  
  
  Spotlight: The AI Chatbot Plugin (This is the project I worked on)
&lt;/h2&gt;

&lt;p&gt;If you're looking for a project to start with, I'm biased - but for good reason.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/jenkinsci/resources-ai-chatbot-plugin" rel="noopener noreferrer"&gt;resources-ai-chatbot-plugin&lt;/a&gt;&lt;/strong&gt; is mostly &lt;strong&gt;Python&lt;/strong&gt; + &lt;strong&gt;React&lt;/strong&gt; - the AI brain, the API, the retrieval system, all Python. There's one 8-line &lt;strong&gt;Java&lt;/strong&gt; file that registers it as a Jenkins plugin, but you'll never need to touch it as a contributor. Just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A FastAPI backend&lt;/li&gt;
&lt;li&gt;A RAG (Retrieval-Augmented Generation) AI pipeline&lt;/li&gt;
&lt;li&gt;A React frontend with WebSocket streaming&lt;/li&gt;
&lt;li&gt;FAISS vector store + BM25 keyword search&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a &lt;strong&gt;GSoC 2025 project being continued in 2026&lt;/strong&gt;, so the codebase is active, the issues are real, and the mentors are responsive.&lt;/p&gt;

&lt;p&gt;Open issues right now include UI improvements, session management fixes, test coverage, and AI pipeline enhancements. The &lt;code&gt;good-first-issue&lt;/code&gt; label points you to the easiest entry points.&lt;/p&gt;




&lt;h2&gt;
  
  
  You're Not Too Late, You're Just Starting
&lt;/h2&gt;

&lt;p&gt;The Jenkins community has been running for 15+ years. Hundreds of contributors have passed through, added something, and moved on. Some became maintainers. Some got GSoC seats. Some just fixed one bug and left.&lt;/p&gt;

&lt;p&gt;All of it counts.&lt;/p&gt;

&lt;p&gt;Your first issue doesn't have to be brilliant. Your first PR doesn't have to be perfect. It just has to be genuine.&lt;/p&gt;

&lt;p&gt;Start small. Read carefully. Ask questions. Be patient with review cycles.&lt;/p&gt;

&lt;p&gt;See you in the PRs.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Useful Links&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jenkins.io/" rel="noopener noreferrer"&gt;Jenkins.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jenkinsci" rel="noopener noreferrer"&gt;All Jenkins Projects on GitHub (jenkinsci org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jenkins.io/projects/gsoc/2026/project-ideas/" rel="noopener noreferrer"&gt;GSoC 2026 Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/search?q=org%3Ajenkinsci+label%3A%22good+first+issue%22+state%3Aopen&amp;amp;type=issues" rel="noopener noreferrer"&gt;Good First Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jenkins.io/project/conduct/" rel="noopener noreferrer"&gt;Jenkins Code of Conduct&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://community.jenkins.io/c/contributing/gsoc/6" rel="noopener noreferrer"&gt;Jenkins Discourse (GSoC section)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://app.gitter.im/#/room/#jenkinsci_gsoc-sig:gitter.im" rel="noopener noreferrer"&gt;Jenkins GSoC Gitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jenkins.io/projects/gsoc/#gsoc-contributors" rel="noopener noreferrer"&gt;Past GSoC Contributors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stories.jenkins.io/" rel="noopener noreferrer"&gt;Jenkins Success Stories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jenkinsci/resources-ai-chatbot-plugin" rel="noopener noreferrer"&gt;AI Chatbot Plugin Repo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;- Manisharma Sugurthi [ &lt;a href="https://github.com/sharma-sugurthi" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/manisharma-sugurthi-222739213" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; ]&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>jenkins</category>
      <category>beginners</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
