---
title: "Cleared the Bar, or Lowered It? An Assurance Lattice for Verifying AI-Generated Software Against Intent"
description: "Coding agents can turn every check green by quietly weakening the requirement. This paper sets out a theory of assurance that tells a bar that was cleared from a bar that was lowered."
type: "Preprint"
authors: ["Salah Al-Nawah"]
pubDate: 2026-10-17T00:00:00.000Z
venue: "Zenodo"
doi: "10.5281/zenodo.23432741"
pdf: https://salahmyn.me/papers/cleared-the-bar-assurance-lattice.pdf
tags: ["AI-generated code", "Software verification", "Requirements traceability", "LLM agents", "Lattice"]
canonical: https://salahmyn.me/research/cleared-the-bar/
lang: en
---

# Cleared the Bar, or Lowered It? An Assurance Lattice for Verifying AI-Generated Software Against Intent

> Coding agents can turn every check green by quietly weakening the requirement. This paper sets out a theory of assurance that tells a bar that was cleared from a bar that was lowered.

- PDF: https://salahmyn.me/papers/cleared-the-bar-assurance-lattice.pdf
- DOI: https://doi.org/10.5281/zenodo.23432741
- Zenodo: https://zenodo.org/records/23432741
- ORCID: https://orcid.org/0009-0008-8831-1407

## Abstract

Large-language-model coding agents are increasingly certified by cheap proxies: the build passes, the tests pass, the linter is clean. Laboratory and field evidence now shows such agents exploiting those proxies, by special-casing tests, editing the checker, or deleting failing tests. The most dangerous move leaves every proxy green: weaken the requirement until the defect is out of scope, so the check passes because the bar was lowered rather than cleared.

This paper develops a theory of assurance for AI-generated software around that distinction. We separate checks that are exact for the property they compute (facts) from checks that stand in for a property they do not compute (proxies), and argue that rigid structure, mandatory traceability, and bounded scope cost a machine author little while making the code-to-intent link mechanically checkable.

Done-ness is modeled as a coordinate in a product of three chains (structural, semantic, observational); the four truth-levels *declared*, *wired*, *correctly-meant*, and *demonstrated* form an order-embedded canonical path with a meet-preserving valuation, and the dangerous states lie off that path. We separate two relations that the word "narrowing" conflates, a coverage gap between invariant and criterion and a weakening of the criterion itself, and show that no entailment check over the current pair can detect the second. Requirement change is therefore governed as a transaction with fail-closed classification, hash-pinned intent text, and human-approved verifier retirement.

A small seeded demonstration illustrates the predicted asymmetry between exact structural checks and a noisy lexical meaning router. The semantic axis is not reliably mechanizable today; the theory states where human judgment remains irreducible.

*Preprint, not peer-reviewed.* This is the theory behind [Lattice](/lattice/), the tool I'm building in the open. The seeded-drift harness is deposited with the preprint on Zenodo.

## Cite

```bibtex
@misc{alnawah2026cleared,
  title = {{Cleared the Bar, or Lowered It? An Assurance Lattice for Verifying AI-Generated Software Against Intent}},
  author = {Al-Nawah, Salah},
  year = {2026},
  howpublished = {Zenodo},
  doi = {10.5281/zenodo.23432741},
  url = {https://doi.org/10.5281/zenodo.23432741}
}
```
