← Back to Blogs
HN Story

Codex's Unconventional Precision: SHA-256 for Screenshot Verification

May 7, 2026

Codex's Unconventional Precision: SHA-256 for Screenshot Verification

Developing complex software, especially games, often involves intricate refactoring and a keen eye for detail to prevent regressions. When working on a Tower Defense game using Codex, a developer recently encountered an astonishing demonstration of the AI's precision and problem-solving acumen. The AI, without explicit instruction to do so, implemented SHA-256 checksum comparisons on before-and-after screenshots of the game's interface to verify that code refactors had not introduced unintended visual changes.

Autonomous Verification

The developer, ditchfieldcaleb, shared their experience on Hacker News, detailing how they are using Codex to build the game with minimal manual coding. Their setup includes detailed instructions in AGENTS.md, CODESTYLE.md, and other configuration files. During a refactoring phase aimed at improving code cleanliness and reducing file sizes, the AI's execution plan included a step that caught the developer completely off guard:

# Observations
- Observation: The refactor made the screenshots pixel-identical after the baseline was recaptured correctly. Evidence: sha256sum screenshots/before-implementation-x.png screenshots/after-implementation-x.png reported matching hashes for before/after pairs 1, 2, and 3.

This observation implies that Codex, through its analysis of the project's PLANS.md which instructed it to take before-and-after screenshots for regression testing, inferred the utility of performing a direct SHA-256 hash comparison. This method ensures that for changes not intended to affect the frontend, the resulting screenshots are byte-for-byte identical. The developer noted that this specific verification technique was not something they would have explicitly instructed the AI to perform, finding it

References

HN Stories

  • #48030302 Codex's precision and attention to detail is *crazy* when set up correctly Discussion ↗