SShortSingh.
Back to feed

Silent success: Why exit code zero can still mean your AI got nothing

0
·1 views

A developer discovered that Claude Code incorrectly reported a PDF as empty, but the real fault lay in the preprocessing tool markitdown, which returned a zero exit code despite producing no output from a raster-image-only PDF. The incident revealed a broader integration flaw: exit codes confirm process completion, not whether meaningful data was actually extracted. Testing across four real documents showed a clear density gap, leading the developer to propose measuring extraction quality in characters per page rather than raw byte count or exit status. A threshold of 100 characters per page was found to sit safely between failed and successful extractions, with an order-of-magnitude margin between the two populations. The author argues that false negatives — where empty conversions are silently treated as valid — carry far greater downstream costs than false positives that prompt a re-check.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

SolidJS Creator Reflects on Eight-Year Writing Journey and the Role of Community Feedback

Ryan Carniato, creator of SolidJS, has shared a candid account of how he developed his technical writing skills over eight years of publishing articles. He initially struggled to communicate complex, cross-disciplinary ideas clearly, describing his early Medium posts from 2018 as rough and difficult to follow. Community members on platforms like Gitter and Discord provided ongoing editorial feedback, while tools like Grammarly helped him catch basic grammatical errors. A turning point came in 2019 when editors at the publication Angular in Depth, particularly a collaborator known as layzee, coached him on breaking up dense paragraphs to improve readability. Carniato also credits prominent figures like Theo Browne for reviewing his work during the 2020–2022 period as SolidJS gained wider attention.

0
ProgrammingDEV Community ·

Key Approaches to Building a Work Queue for CI/CD Pipelines Explained

A technical deep-dive explores the core requirements for implementing a work queue in CI/CD systems, including at-least-once delivery guarantees, retry mechanisms, and dead letter queues for failed jobs. Dedicated message brokers like Kafka and RabbitMQ offer high throughput — up to 1 million and 10,000 jobs per second respectively — while Redis streams and lists can handle around 20,000 jobs per second. Relational databases can also serve as job queues by using a status-tracked table, where workers claim and process jobs by updating row states. A key challenge with database-backed queues is preventing race conditions among competing workers, which can be addressed using SQL constructs like SELECT FOR UPDATE SKIP LOCKED. The article recommends keeping database transactions short-lived and adding indexes to maintain performance under load.

0
ProgrammingDEV Community ·

Why Developers Should Build Authentication Before Any Other Feature

Authentication is widely considered a foundational step in software development, and many developers choose to implement it before building any core application features. Common methods include password-based authentication, OAuth, and OTP-based authentication. In password-based systems, a user's email or unique identifier is stored alongside a securely hashed password — plain-text storage is strongly discouraged. Email or phone verification adds an additional layer of account security where required. Once credentials are stored, session and token management become the next critical components to handle correctly.

0
ProgrammingDEV Community ·

Designer Advocates for Human Review Points in AI Workflow Architecture

A systems designer argues that effective AI automation requires structured oversight rather than unchecked execution. The approach centers on four layers: a defined input source, a bounded action scope, a human review point, and a maintained audit trail. Review points are positioned not as inefficiencies but as safeguards against costly errors such as wrong customer communications or unauthorized record changes. Dashboards are recommended to surface workflow status clearly, showing what is healthy, waiting, blocked, or awaiting ownership. The designer advises teams to begin automation with the decision they can least afford to get wrong and build boundaries and accountability records around it.

Silent success: Why exit code zero can still mean your AI got nothing · ShortSingh