<?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: Reliable AI Delivery</title>
    <description>The latest articles on DEV Community by Reliable AI Delivery (@reliableaiddelivery).</description>
    <link>https://dev.to/reliableaiddelivery</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%2F4034862%2F6315ded5-45a8-41b0-ad81-9601f9993f2a.png</url>
      <title>DEV Community: Reliable AI Delivery</title>
      <link>https://dev.to/reliableaiddelivery</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/reliableaiddelivery"/>
    <language>en</language>
    <item>
      <title>A Test Log Can Support a Claim Without Being Independent Proof</title>
      <dc:creator>Reliable AI Delivery</dc:creator>
      <pubDate>Thu, 23 Jul 2026 20:47:41 +0000</pubDate>
      <link>https://dev.to/reliableaiddelivery/a-test-log-can-support-a-claim-without-being-independent-proof-47nj</link>
      <guid>https://dev.to/reliableaiddelivery/a-test-log-can-support-a-claim-without-being-independent-proof-47nj</guid>
      <description>&lt;p&gt;An AI coding agent returns a clean test log and says the task is complete.&lt;/p&gt;

&lt;p&gt;The log may be genuine. The command may have passed. The result may still be insufficient for the claim you are being asked to accept.&lt;/p&gt;

&lt;p&gt;The problem is not that logs are useless. The problem is that a log is usually supplied by the same workflow making the completion claim. Independent review begins when a second person can connect that output to the current artifact and reproduce the important part.&lt;/p&gt;

&lt;h2&gt;
  
  
  A log answers one narrow question
&lt;/h2&gt;

&lt;p&gt;A test log can show that a command produced particular output. By itself, it may not show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;which revision was tested;&lt;/li&gt;
&lt;li&gt;whether files changed after the run;&lt;/li&gt;
&lt;li&gt;which environment or configuration was active;&lt;/li&gt;
&lt;li&gt;whether the command exercised the requested behavior;&lt;/li&gt;
&lt;li&gt;whether the output was truncated;&lt;/li&gt;
&lt;li&gt;whether the reviewer can run the same check.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of those gaps proves the implementation is wrong. They limit what the log can support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reconstruct the evidence chain
&lt;/h2&gt;

&lt;p&gt;Use five fields:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Claim&lt;/strong&gt; — the exact behavior you are being asked to accept.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artifact&lt;/strong&gt; — the changed files, patch, build, or other delivered item.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution&lt;/strong&gt; — the command, output, exit status, and timestamp.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provenance&lt;/strong&gt; — the revision, workspace state, environment, and configuration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coverage&lt;/strong&gt; — what the check exercised and what remained outside its scope.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If one field is missing, keep the verdict narrow. “A test log was supplied” is different from “the requested behavior is independently reproducible on the current revision.”&lt;/p&gt;

&lt;h2&gt;
  
  
  Example: the real log from the wrong moment
&lt;/h2&gt;

&lt;p&gt;Suppose a focused test passes at 10:14. At 10:19, the agent updates a lockfile and configuration. At 10:22, it returns the earlier log and says the delivery is ready.&lt;/p&gt;

&lt;p&gt;The 10:14 result may be real. It is stale for the final workspace until the affected check is rerun.&lt;/p&gt;

&lt;p&gt;The smallest useful request is not “prove everything.” It is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Rerun this command against the final revision and return the exit status plus the current revision identifier.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That request binds the result to the artifact without pretending one rerun certifies security, deployment, or production readiness.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproduction is a review action
&lt;/h2&gt;

&lt;p&gt;For a low-risk change, reading the diff and rerunning one focused command may be enough. For data, security, billing, or release behavior, the reviewer may need additional checks and a human owner.&lt;/p&gt;

&lt;p&gt;The important distinction is between supplied evidence and reproduced evidence:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Supplied evidence&lt;/strong&gt; helps you decide what to inspect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reproduced evidence&lt;/strong&gt; gives you a result from a check you controlled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both can be useful. They support different levels of confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  A narrow verdict is still a useful verdict
&lt;/h2&gt;

&lt;p&gt;Use one of four outcomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Supported&lt;/strong&gt; — the current artifact and reproduced check support the exact claim.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unverified&lt;/strong&gt; — the evidence is missing, stale, too narrow, or not reproduced.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blocked&lt;/strong&gt; — access, environment, or permissions prevent the next check.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conflicted&lt;/strong&gt; — the artifacts disagree.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This avoids turning “I cannot verify this yet” into “the code is bad,” while preventing a green log from silently becoming a broad release decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  A reusable review prompt
&lt;/h2&gt;

&lt;p&gt;Before accepting an AI coding handoff, ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What exact claim does this log support?&lt;/li&gt;
&lt;li&gt;Which revision produced it?&lt;/li&gt;
&lt;li&gt;What changed after the run?&lt;/li&gt;
&lt;li&gt;Can I reproduce the important check?&lt;/li&gt;
&lt;li&gt;What remains outside the evidence boundary?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I made the free AI Completion Evidence Auditor Lite as a manual worksheet for structuring that review. It does not run tests or authenticate supplied logs:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://frankster8205.gumroad.com/l/ai-completion-evidence-auditor-lite?src=devto_us_article3_log_provenance_v1&amp;amp;utm_source=devto&amp;amp;utm_medium=organic_content&amp;amp;utm_campaign=reliable_ai_delivery_wave1&amp;amp;utm_content=devto_us_article3_log_provenance_v1" rel="noopener noreferrer"&gt;https://frankster8205.gumroad.com/l/ai-completion-evidence-auditor-lite?src=devto_us_article3_log_provenance_v1&amp;amp;utm_source=devto&amp;amp;utm_medium=organic_content&amp;amp;utm_campaign=reliable_ai_delivery_wave1&amp;amp;utm_content=devto_us_article3_log_provenance_v1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>testing</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>When a Retry Returns “Done” but Loses the Evidence</title>
      <dc:creator>Reliable AI Delivery</dc:creator>
      <pubDate>Thu, 23 Jul 2026 19:21:44 +0000</pubDate>
      <link>https://dev.to/reliableaiddelivery/when-a-retry-returns-done-but-loses-the-evidence-50ck</link>
      <guid>https://dev.to/reliableaiddelivery/when-a-retry-returns-done-but-loses-the-evidence-50ck</guid>
      <description>&lt;p&gt;A retry can recover a response without recovering the context needed to trust it.&lt;/p&gt;

&lt;p&gt;Consider this fictional sequence:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A coding agent receives a task with three acceptance conditions.&lt;/li&gt;
&lt;li&gt;It edits several files and starts a test.&lt;/li&gt;
&lt;li&gt;The response stream fails before the handoff reaches the reviewer.&lt;/li&gt;
&lt;li&gt;The system retries.&lt;/li&gt;
&lt;li&gt;The reviewer receives a confident completion message, but not the original changed-file list or the complete test output.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The retry may have returned a fluent answer. That does not tell us whether the answer belongs to the same task state, the same workspace revision, or the same verification run.&lt;/p&gt;

&lt;p&gt;This is not proof that the implementation is wrong. It is a provenance gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  What was lost?
&lt;/h2&gt;

&lt;p&gt;The useful question is not only “Did the request retry?” It is “Which parts of the delivery record survived the retry?”&lt;/p&gt;

&lt;p&gt;For a reviewable handoff, preserve at least:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the original task and acceptance conditions;&lt;/li&gt;
&lt;li&gt;the assistant’s exact completion claims;&lt;/li&gt;
&lt;li&gt;the changed files or diff;&lt;/li&gt;
&lt;li&gt;the exact command that ran;&lt;/li&gt;
&lt;li&gt;the complete output and exit state;&lt;/li&gt;
&lt;li&gt;the revision, branch, or working-tree state;&lt;/li&gt;
&lt;li&gt;anything unverified, inaccessible, or conflicting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the retry returns only the final claim, the reviewer cannot safely infer the missing artifacts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do not turn missing context into a green result
&lt;/h2&gt;

&lt;p&gt;Suppose the retry says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Implemented the change and all tests pass.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But the current record contains no command, no output, and no link between the reported run and the current revision.&lt;/p&gt;

&lt;p&gt;Three different statements are possible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;PROVEN&lt;/code&gt;: the supplied material directly supports the specific claim.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;UNPROVEN&lt;/code&gt;: the claim may be true, but the required support is absent.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;BLOCKED&lt;/code&gt;: the reviewer cannot obtain the required artifact or access the environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this example, “all tests pass” should not become &lt;code&gt;PROVEN&lt;/code&gt; merely because the sentence is confident. If the evidence is missing, keep it &lt;code&gt;UNPROVEN&lt;/code&gt; or &lt;code&gt;BLOCKED&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ask for a correction packet, not a longer summary
&lt;/h2&gt;

&lt;p&gt;A useful follow-up request is narrow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Restate the exact claim being corrected.&lt;/li&gt;
&lt;li&gt;List the current changed files or provide diff evidence.&lt;/li&gt;
&lt;li&gt;Provide the exact verification command and complete result, or state that it was not run.&lt;/li&gt;
&lt;li&gt;Identify the revision or workspace state that produced the output.&lt;/li&gt;
&lt;li&gt;List known limitations and unverified areas.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The purpose is not to force the agent to repeat the whole conversation. It is to reconstruct the smallest evidence packet another reviewer can inspect.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should a human rerun the check?
&lt;/h2&gt;

&lt;p&gt;A supplied log can support a consistency review, but it is not automatically independent proof. The reviewer still has to decide whether the risk justifies a fresh run.&lt;/p&gt;

&lt;p&gt;For a copy edit, the supplied record may be enough. For a data migration, authentication rule, billing change, security boundary, or production behavior, a human-owned rerun may be necessary.&lt;/p&gt;

&lt;p&gt;The risk controls the depth of verification.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical manual workflow
&lt;/h2&gt;

&lt;p&gt;The free AI Completion Evidence Auditor Lite is a worksheet for this kind of second pass. It helps compare one completion message with the task, changed-file information, and test or build output you actually have.&lt;/p&gt;

&lt;p&gt;It does not run code, authenticate logs, or certify production readiness.&lt;/p&gt;

&lt;p&gt;Free download:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://frankster8205.gumroad.com/l/ai-completion-evidence-auditor-lite?src=devto_us_article2_response_loss_retry_v1&amp;amp;utm_source=devto&amp;amp;utm_medium=organic_content&amp;amp;utm_campaign=reliable_ai_delivery_wave1&amp;amp;utm_content=devto_us_article2_response_loss_retry_v1" rel="noopener noreferrer"&gt;https://frankster8205.gumroad.com/l/ai-completion-evidence-auditor-lite?src=devto_us_article2_response_loss_retry_v1&amp;amp;utm_source=devto&amp;amp;utm_medium=organic_content&amp;amp;utm_campaign=reliable_ai_delivery_wave1&amp;amp;utm_content=devto_us_article2_response_loss_retry_v1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>testing</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>How to Catch False “Done” Claims in AI-Generated Code</title>
      <dc:creator>Reliable AI Delivery</dc:creator>
      <pubDate>Sat, 18 Jul 2026 07:36:52 +0000</pubDate>
      <link>https://dev.to/reliableaiddelivery/how-to-catch-false-done-claims-in-ai-generated-code-2gp8</link>
      <guid>https://dev.to/reliableaiddelivery/how-to-catch-false-done-claims-in-ai-generated-code-2gp8</guid>
      <description>&lt;p&gt;AI-generated code can sound finished long before it is ready to accept. A message such as “tests passed” is a claim, not a verdict. Before accepting delivery, ask a more useful question: what evidence actually supports the claim that the requested work is complete?&lt;/p&gt;

&lt;h2&gt;
  
  
  Why “tests passed” is not the finish line
&lt;/h2&gt;

&lt;p&gt;A passing test can be real and still be incomplete. It may cover only a narrow helper, skip the reported failure, use an old output, or test behavior that is adjacent to rather than identical to the requested change. A green result does not tell you which files changed, whether the relevant command ran, or whether the output belongs to the current work.&lt;/p&gt;

&lt;p&gt;The goal is not to distrust every report. It is to separate a plausible statement from a supported one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use a claim → evidence → verdict check
&lt;/h2&gt;

&lt;p&gt;A simple review loop makes that separation practical:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Claim:&lt;/strong&gt; Write the completion statement precisely. For example: “The password-reset redirect now returns people to the sign-in page, and the regression test passes.”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence:&lt;/strong&gt; Gather the changed-file list, a diff summary, the exact test command, the test output, and any acceptance checks that matter for the goal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check:&lt;/strong&gt; Ask whether the evidence is current, relevant, complete, and consistent with the claim.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verdict:&lt;/strong&gt; Mark the claim &lt;strong&gt;PROVEN&lt;/strong&gt;, &lt;strong&gt;UNPROVEN&lt;/strong&gt;, or &lt;strong&gt;BLOCKED&lt;/strong&gt;. “Unproven” does not mean false; it means the available record is not enough to accept it yet.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This keeps a review focused. Instead of arguing about confidence, you can identify the next missing piece of evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to inspect before accepting a completion claim
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Changed files
&lt;/h3&gt;

&lt;p&gt;A changed-file list tells you whether the reported work touched the expected area. It can also reveal scope drift: a tiny fix that unexpectedly changes deployment settings, unrelated dependencies, or authentication code deserves a closer look.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test output
&lt;/h3&gt;

&lt;p&gt;Useful test evidence includes the command that ran, the result, and enough context to connect it to the current change. “All tests passed” is less useful than a specific command and its output. The strongest evidence also makes clear which scenario was exercised.&lt;/p&gt;

&lt;h3&gt;
  
  
  Missing evidence
&lt;/h3&gt;

&lt;p&gt;Missing evidence is often the whole story. If a report says a browser flow is fixed but supplies only a unit test, the relevant end-to-end evidence is still missing. If a report claims no regressions but only one focused test ran, broader coverage may remain unproven.&lt;/p&gt;

&lt;h3&gt;
  
  
  Contradictory evidence
&lt;/h3&gt;

&lt;p&gt;Look for conflicts instead of averaging them away. A success message beside a failing log, a claim that nothing changed beside a diff, or a test output from before the latest edit should move the verdict away from PROVEN until the contradiction is resolved.&lt;/p&gt;

&lt;h2&gt;
  
  
  A small example
&lt;/h2&gt;

&lt;p&gt;Imagine an assistant reports: “The password-reset redirect is fixed and tests passed.” The supplied record contains one unit test for URL construction, but no changed-file list, no browser or route test, and no output for the reset flow.&lt;/p&gt;

&lt;p&gt;The correct verdict is &lt;strong&gt;UNPROVEN&lt;/strong&gt;. That does not say the fix is wrong. It says the available evidence does not yet justify accepting the full completion claim. The next action is clear: provide the changed files and run a test that exercises the reset flow itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evidence helps humans decide what to verify next
&lt;/h2&gt;

&lt;p&gt;An evidence check is not a substitute for engineering judgment. It helps a reviewer see what is supported, what is missing, and what conflicts with the report. That makes it easier to ask for a narrow follow-up instead of reopening the entire task.&lt;/p&gt;

&lt;p&gt;There is one important limitation: a tool that reviews an evidence packet does &lt;strong&gt;not&lt;/strong&gt; re-run commands or independently verify test output supplied by a user. A log can be organized and challenged, but it does not become trustworthy merely because it was pasted into a report. When the risk is high, the right next step may still be to reproduce the result in a controlled environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with a lightweight evidence check
&lt;/h2&gt;

&lt;p&gt;If you want a structured way to label completion claims before you accept delivery, try the free Auditor. It is designed to surface unsupported “done” statements, missing proof, and contradictions without pretending that an unverified record is a completed result.&lt;/p&gt;

&lt;p&gt;Get the free AI Completion Evidence Auditor Lite:&lt;br&gt;
&lt;a href="https://frankster8205.gumroad.com/l/ai-completion-evidence-auditor-lite?src=devto_us_article1_v1" rel="noopener noreferrer"&gt;https://frankster8205.gumroad.com/l/ai-completion-evidence-auditor-lite?src=devto_us_article1_v1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
