Blog

Insights, tutorials, and updates from the ZharfAI team

AI Tutorials

Learn about AI technologies and implementations

A Signed Webhook Is Not Permission to Run the AI Workflow Again
October 15, 2026•11 min read

A Signed Webhook Is Not Permission to Run the AI Workflow Again

Separate signature checks, durable receipt and permission to act. A practical webhook admission design keeps repeated deliveries from becoming fresh AI workflow requests.

When One JSON Key Has Two Values, Which One Reaches the Tool?
October 9, 2026•11 min read

When One JSON Key Has Two Values, Which One Reaches the Tool?

Repeated JSON keys can disappear before validation begins. Reject ambiguity at the raw-input boundary and keep reviewers and executing tools on the same accepted data.

A Closed AI Stream Is Not a Completed Answer
October 8, 2026•12 min read

A Closed AI Stream Is Not a Completed Answer

Decide when streamed AI output may become a final answer by separating byte decoding, event boundaries, stop reasons and application acceptance.

Why Document AI Highlights the Wrong Place on the Page
October 7, 2026•12 min read

Why Document AI Highlights the Wrong Place on the Page

Correct OCR text can still point to the wrong evidence. Preserve page identity, units and image transformations before showing an exact document citation.

Test AI-Generated Code by Checking What Its Tests Miss
October 6, 2026•12 min read

Test AI-Generated Code by Checking What Its Tests Miss

Passing tests do not establish that they can detect a defect. Use an isolated code mutation, a boundary example and a requirement-based assertion to assess the evidence before merging.

Don't Ask AI to Reconstruct Digits Lost from an Identifier
October 5, 2026•12 min read

Don't Ask AI to Reconstruct Digits Lost from an Identifier

Two different identifiers can become the same value before an AI model sees them. Preserve their type through imports, detect collisions and know when to recover the original.

Don't Average p95 to Judge an AI Release
October 4, 2026•11 min read

Don't Average p95 to Judge an AI Release

A lower p95 does not always mean a faster assistant. Learn how to pool latency measurements, expose traffic-mix changes and judge the evidence before a release.

An Image in an AI Answer Can Send Data Before You Click
October 3, 2026•11 min read

An Image in an AI Answer Can Send Data Before You Click

Displaying a remote image is a network action. Separate text, links and media so an AI answer cannot quietly authorize an outbound request before the reader clicks.

New Customers or New Orders? Split Your Model Test Accordingly
October 2, 2026•12 min read

New Customers or New Orders? Split Your Model Test Accordingly

A new test row is not necessarily a new customer. Choose customer and time boundaries that match deployment, then check overlap, label timing and score weights.

Don't Disable Model-Loading Safeguards to Clear an Error
October 1, 2026•12 min read

Don't Disable Model-Loading Safeguards to Clear an Error

A checkpoint loading error is a trust decision. Learn when to request data-only weights, review a narrow exception, isolate conversion, or reject the file.

A Small Upload Can Exhaust Your AI Document Pipeline
September 30, 2026•11 min read

A Small Upload Can Exhaust Your AI Document Pipeline

Upload size does not bound parsing work. Set shared limits for expanded bytes, images and attachments, and keep partial extraction from becoming a supposedly complete AI answer.

Missing Values Can Halve an AI Report’s Average
September 29, 2026•12 min read

Missing Values Can Halve an AI Report’s Average

A blank is not an observed zero. Preserve missing-value reasons, report the denominator you actually measured, and keep model estimates separate from recorded evidence.