# sfeir-code-review-anneau-contraintes-2026-07-30

## Veille

Episode « Phase 5 · Review » of SFEIR's series on the augmented SDLC, published **the same day** as Addy Osmani's LinkedIn post, which it translates into a phase specification. Thesis: **quality has changed address** — it is no longer read in the code (agents produce more of it than anyone can review) but in **the ring of constraints surrounding the agent**. Osmani's ring (seven dimensions — correctness, security, performance, accessibility, maintainability, **economic efficiency**, **understandability** — linked by the **back-pressure** rule: "a loop is granted only the autonomy one knows how to verify cheaply and reliably, not an inch more") is redrawn, translated, and attached to phase 5 of SFEIR's 11-phase cycle. The structuring corollary: **the bottleneck was never generation, it is verification** — "generation is a wide mouth, verification a narrow neck; speeding up the mouth thickens the pile at the neck." **The most interesting design decision is a cycle-architecture choice**: Review is deliberately **outside the three human gates** (Define, Plan, Ship), because putting the gate on Review would amount to placing human attention — a finite resource — as the checkpoint of a generation capacity that, itself, scales: "you would have built a pipeline whose maximum throughput is the number of diffs a senior can read before the end of the day." Hence the split: **Review instruments, Ship decides** — Review delivers an *opposable body of evidence*, Ship decides on the evidence, not on the full diff. A position taken against Monperrus (whose diagnosis SFEIR keeps — human inspection of every diff does not withstand agentic speed — but whose conclusion it rejects: acceptance cannot be delegated). The named trap is **circular validation** (the agent that writes the code writes the tests that validate it: "you have built a mirror, not a ring"), with five countermeasures borrowed from Anthropic (independent gates in separate context windows, deterministic + agentic never substituting for one another, shadow mode, risk-based tiering, logging to the SIEM) and Compare the Market's warning (**AST graph ~70% vs vector RAG ~58%**, RAG performing *worse than no context at all*). The firm's own extension is **the ratchet**: "every escape becomes a constraint" — a defect that has crossed the ring is closed back up *inside the ring* (test, lint rule, rubric, harness guardrail) at Compound-1, "the only asset in the chain that appreciates while models depreciate" (an internal, unauditable measure: **− 30% fewer correction iterations after ten cycles**). It closes by reformulating the question: "is this code good?" has become unanswerable; what remains is **"what does my system refuse to let through?"**

## Titre Article

Code review dans le SDLC augmenté : l'anneau de contraintes autour des agents

## Date

2026-07-30

## URL

https://www.sfeir.com/articles/sdlc-ai-review-anneau-contraintes/

## Keywords

ring of constraints, constraints around agents, Review phase, phase 5, augmented SDLC, SFEIR 11-phase cycle, human gates, Define Plan Ship, Review instruments Ship decides, opposable body of evidence, back-pressure, autonomy ≤ verifiability, low-cost verifiability, verification bottleneck, wide mouth narrow neck, more code than you can read, Addy Osmani, harness, harness engineering, Software Factories Light and Dark, lights-out factory, lights-out factory, seven constraint dimensions, correctness, property testing, mutation testing, green/red oracle, security, SAST, DAST, dependency scanning, secrets detection, performance, performance budget, load testing, SLO, accessibility, axe, contrast, keyboard navigation, maintainability, coverage, complexity, blast radius, component boundaries, architectural debt, economic efficiency, token budget, cost per change, FinOps token, TCO, CapEx OpEx, understandability, comprehension debt, comprehension debt, decision log, decision log attached to the PR, intent is not lost it is thrown away, Martin Monperrus, the end of code review, false sense of security, from creator to verifier, circular validation, circular validation, mirror, Augment Code, Paula Hingel, DORA 2025, throughput vs stability, Anthropic, Jason Clinton, 80% of merged code, independent gates, separate context windows, deterministic and agentic, shadow mode, shadow mode, red team, risk-tiered codebase, risk-weighted sampling, SIEM logging, 16% to 54%, one-third of incidents, what would we run if scanning cost almost nothing, Compare the Market, context retrieval, structural knowledge graph, AST analysis, 70% vs 58%, 79 merge requests, vector RAG, structural understanding, callers signatures hierarchies, ratchet, ratchet, every escape becomes a constraint, a bug seen twice is a hole in the system, Compound-1, capitalizing static lessons, memory reloaded at Plan, − 30% of correction iterations, ten cycles, where to place the switch, lights off, cheap high-frequency hard-to-bypass immediate non-drifting control, short loops, three to ten steps, context accumulation, authentication billing public API contract, execution output vs agent claim, constraints the model cannot argue with, what does my system refuse to let through

## Authors

SFEIR (voix éditoriale du cabinet, article non signé individuellement) — construit sur Addy Osmani (Google) ; cite Martin Monperrus, Paula Hingel (Augment Code), DORA/Google Cloud, Jason Clinton (Anthropic), l'équipe Engineering de Compare the Market

## Ton

**Profile**: an operational doctrine article, an episode of a numbered series ("Phase 5 · Review"). Audience: engineering leadership, architects, CISOs who are already tooling agents and looking for where to place controls. Professional, dense register, polished French, zero undefined jargon, no anglicism left untranslated in the source (*back-pressure* and *comprehension debt* are kept but glossed).

**Style**: the **cutting one-liner** at the end of each paragraph is the engine of the text, and it is almost always a concrete image rather than an abstraction — "generation is a wide mouth, verification a narrow neck; speeding up the mouth thickens the pile at the neck"; "you have built a mirror, not a ring of constraints"; "a lights-out factory doesn't pay down this debt, it takes it on at full throttle, tests green"; "intent is not lost, it is thrown away"; "a loop that sprawls hides its errors in the corners"; "a static ring is a leaking ring." Funnel-shaped rhetorical architecture: a borrowed diagram → its translation into a two-column table (mechanizable / irreducibly human) → the named failure mode → the firm's own extension → five self-diagnostic questions → a closing question that replaces the opening one. Two rigor markers unusual for the genre: **every external claim carries a numbered footnote** with a status label (*Industry · Anthropic*, *Measured · SFEIR*), and the central diagram is **explicitly credited** ("SFEIR diagram after Addy Osmani's diagram, © Addy Osmani, redrawn, translated, and attached to phase 5").

**Epistemic position**: taken as prescriptive, but with two gestures of probity. The first is **explicit, argued disagreement** with Monperrus: SFEIR keeps his diagnosis, rejects his conclusion, and says why (acceptance cannot be delegated — that's the Ship gate) rather than ignoring or caricaturing it. The second is the **usage caveat recalled about Anthropic's figures** ("the figures come from Anthropic about itself"), already stated in the July 26 note. The text's limitation mirrors its strength: **it is published the same day as the Osmani post it comments on**, which leaves little room for the test of time or contradiction — and its only own figure (− 30% of iterations after ten cycles) is first-party, unauditable, with no description of protocol or scope. The closing CTA ("Instrument your Review phase before opening the agentic floodgates") is a reminder that the doctrine is also an offer.

## Pense-betes

- **Nature of the note**: this is a **framing article**, not a primary source of results. The text's own value comes down to three points, everything else is sourced synthesis: (1) **Review outside the human gates** and the split "Review instruments / Ship decides"; (2) **attaching the ratchet to Compound-1** as the phase in charge of it; (3) the firm's own figure of − 30%. Do not re-cite Anthropic's or Compare the Market's figures via this note: go to the source notes.
- ⚠️ **Two Osmani sources cited are NOT in the corpus** and are the best candidates to add after this note: *Set the constraints around your agents* (LinkedIn, **July 30, 2026** — this is the original diagram) and especially ***Software Factories, Light and Dark*** (addyosmani.com, July 2026), which alone carries **three** of the structuring concepts taken up here — the back-pressure principle, operationalized *comprehension debt*, and the workable length of loops (3 to 10 steps, losing the thread beyond about twenty). The corpus contains *comprehension debt* via [[osmani-cognitive-surrender-comprehension-debt-2026-05-05]] and the *ratchet* via [[osmani-agent-harness-engineering-2026-04-19]], but not the essay that links them to the lit/unlit factory metaphor.
- ⚠️ **Citation variance to be aware of**: SFEIR references Monperrus under the title *"The End of Code Review: How AI Agents Supersede Human Code Review."* The title carried by the corpus note (arXiv 2606.13175) is *"The End of Code Review: Coding Agents Supersede Human Inspection."* Same paper, same date (June 11, 2026); it is SFEIR's wording that drifts. Use the arXiv title for formal citation.
- **The dimension-by-dimension grid is reusable asset #1** — a two-column table directly transposable into a Review-phase specification, dimension → mechanizable constraint → residual human judgment:
- **Correctness**: unit, property, mutation testing, green/red oracle → *functional acceptance*
- **Security**: SAST/DAST, dependency scanning, secrets detection, dedicated agentic review → *residual risk arbitration*
- **Performance**: performance budget, load testing, measured regression → *SLO definition*
- **Accessibility**: axe, contrast, keyboard navigation → *the actually lived experience*
- **Maintainability**: coverage, complexity, blast radius, component boundaries → *acknowledged architectural debt*
- **Understandability**: the agent logs what it tried **and what it discarded**, a decision log attached to the PR → *reconstructing intent*
- **Economic efficiency**: token/compute budget per task, cost per change → *TCO and the CapEx/OpEx trade-off*
- **Back-pressure** (the rule linking all seven): autonomy ≤ low-cost verifiability → *where to place the switch*
- **The strongest architecture argument, reusable verbatim in a committee**: if Review carried the human gate, "the system's checkpoint would be human attention, a finite resource that doesn't scale, facing a generation capacity that, itself, scales" — so **the neck would never widen**, and "you would have built a pipeline whose maximum throughput is the number of diffs a senior can read before the end of the day." This is the argument that justifies *moving* the gate to Ship rather than *removing* the human.
- **Operative distinction to remember**: Review has a **deliverable** (an opposable body of evidence), Ship has a **decision** — "and that decision is made on the evidence, not on the full diff."
- **The forgotten dimension, and why**: **understandability** is systematically omitted "because it doesn't break CI." The remedy is the cheapest in the grid and the least applied — asking the agent to write down what it tried and discarded, since "reviewing an agentic PR is the first time a human reconstructs the *why*." Phrase worth keeping: **"intent is not lost, it is thrown away."**
- **Circular validation, a failure mode to name in front of a team**: the agent writes the code, the same agent writes the tests, CI is green → "a mirror, not a ring." Term borrowed from Augment Code ([[hingel-augment-how-ai-changes-sdlc-six-stages-2026-06-08]]); the measurement of the phenomenon comes from DORA 2025 (AI adoption correlated **positively with throughput** and **negatively with stability** when the foundations don't keep up). Diagnostic question #2 of the article, the most profitable of the five: *"are your tests written by the agent that writes the code?"*
- **Qualifying criteria for an autonomous loop** (reusable five-item checklist): the control must be **cheap, high-frequency, hard to bypass, immediate, and non-drifting**. Qualifying examples: green/red oracle, type gate, property tests, an agentic reviewer equipped with a real rubric. Corollary not to lose: **short loops verify better than long ones** (an agent holds up for 3 to 10 steps, loses the thread beyond about twenty) — "a loop that sprawls hides its errors in the corners."
- **Where to keep the light on**: subtle bugs invisible to tests, wide blast radii, decisions structuring a year of work — namely **authentication, billing, public API contracts**. And the governance warning: "the real risk is setting every switch the same way" (all off → dismantled four months later; all on → no more shipping).
- **The ratchet, SFEIR's own extension**: "**every escape becomes a constraint**" — a defect that has crossed the ring is not just fixed in the code, it **closes back up inside the ring** (test, lint rule, review rubric, harness guardrail), at **Compound-1**, with memory reloaded at the Plan phase of the next cycle. This is Osmani's *ratchet principle* (every error becomes a rule, cf. [[osmani-agent-harness-engineering-2026-04-19]]) **wired to a phase of the cycle explicitly in charge of it** — this, and nowhere else, is where SFEIR's framework adds something to the borrowed diagram. Two phrases: "a checklist is written once and goes stale, the ring thickens with every cycle" and "**a bug seen twice is not a bug, it's a hole in the system**."
- ⚠️ **Figure to handle with caution**: **− 30% fewer correction iterations after ten cycles** is labeled *Measured · SFEIR*, 2026 first-party material — **no protocol, scope, sample size, or definition of "correction iteration" is given**. It is the article's only own figure and it supports its most commercially useful thesis (the ring as an appreciating asset). Do not reuse it with clients without qualifying it.
- **Economic aphorism worth keeping**: the ring is "the only asset in the chain that **appreciates while models depreciate**" — an investment argument (the harness survives model changes) to be linked with harness engineering doctrine.
- **Economic efficiency in a *quality* grid**: the point is theoretically interesting and argued in a single sentence — "a per-task token budget is a constraint on the same footing as a performance budget, and it produces the same virtue, **bounding autonomy by the cost of verifying it**." This is the FinOps ↔ quality junction, complementary to the "risk-based tiering = FinOps policy" angle in the July 26 note.
- **Metadata**: published on **July 30, 2026**, unsigned (firm voice), site tags `sdlc`, `ia-agentique`, `software-factory`, `harness-engineering`, `code-review`. Eight numbered sources with status labels. **Published the same day as the commented Osmani post** — a remarkable turnaround, worth considering a tech-watch fact in itself (the firm follows Osmani's LinkedIn thread in real time and converts it into a series episode). The article references an SFEIR text **absent from the corpus**: *Code review in the age of AI: from creator to verifier* (April 1, 2026) — candidate for addition, already flagged in the July 26 note.
- **Tech-watch dossier connections**:
- **In-house framework, read first**: [[sfeir-sdlc-ia-cycle-11-phases-2026-06-16]] (the 11 phases and the 3 gates — essential for situating "phase 5, between Verify and Compound-1") and [[sfeir-sdlc-pdlc-articulation-2026-07-22]].
- **Twin note, same week**: [[sfeir-anthropic-sdlc-ai-native-securise-2026-07-26]] — the five anti-circularity mechanisms taken up here are its subject; this note carries the *phase specification*, that one the *condition of possibility of the cycle*.
- **Source of the Anthropic figures**: [[clinton-anthropic-secure-ai-native-sdlc-2026-07-21]] (16% → 54%, one-third of incidents, shadow mode, risk-based tiering, SIEM).
- **Osmani, conceptual foundation**: [[osmani-agent-harness-engineering-2026-04-19]] (harness, *ratchet principle*) and [[osmani-cognitive-surrender-comprehension-debt-2026-05-05]] (*comprehension debt*, ~100-line PRs, junior-standard review) — the ring's "understandability" dimension is exactly the structural guardrail that Cognitive Surrender called for.
- **Antagonistic position taken deliberately**: [[monperrus-end-of-code-review-agents-supersede-2026-06-11]] — SFEIR takes the diagnosis, rejects the conclusion.
- **Neighboring framework, to compare on gate count**: [[williams-adlc-2-two-human-gates-2026-06-12]] (**two** human gates) versus SFEIR's **three**; [[williams-adlc-4-prosecution-not-code-review-2026-06-12]] (review as a prosecution brief, the same shift toward evidence); [[williams-adlc-3-tests-are-the-spec-2026-06-12]] (the test as a language the builder cannot argue with — Osmani's phrase about "constraints the model cannot argue with" is its counterpart); [[williams-adlc-6-lifecycle-gets-cheaper-2026-06-12]] (the cycle that improves with every run = the ratchet).
- **Circular validation and the mirror effect**: [[hingel-augment-how-ai-changes-sdlc-six-stages-2026-06-08]], [[dora-report-2025-ai-software-dev-2025-09-23]], [[dora-google-cloud-roi-ai-assisted-software-development-j-curve-2026-04-21]].
- **Context for an AI reviewer**: [[comparethemarket-context-retrieval-ai-code-review-gkg-rag-2026-03-06]] — the source of the ~70% (AST graph) vs ~58% (RAG) figures over 79 MRs; to read before building an agentic review on vector RAG.
- **Factory metaphor**: [[mccarthy-strongdm-software-factory-agentic-moment-2026-02-06]] and [[wescale-usine-logicielle-augmentee-juge-strategique-2026-05-03]] — "the lights-out factory" comes from *Software Factories, Light and Dark*.
- **Token FinOps (economic efficiency dimension)**: [[tokenomics-foundation-linux-finops-token-economics-about-2026-06-03]], [[gupta-token-budget-wars-marginal-token-utility-2026-05-28]], [[beck-starving-genies-usage-limits-ai-coding-2026-04-03]].
- **The shift from creator to verifier**: [[exit-vibe-coding-place-vibe-reviewing-mogere-2025-07-07]].

## RésuméDe400mots

Fifth episode of SFEIR's series on the augmented SDLC, devoted to the Review phase, and published the same day as Addy Osmani's LinkedIn post, which it converts into a phase specification.

The starting observation: quality used to be read in the code; agents now produce more of it than anyone can review. It has therefore **changed address** — it lives in **the ring of constraints** surrounding the agent, that is, in the harness. Seven dimensions make up this ring (correctness, security, performance, accessibility, maintainability, economic efficiency, understandability), linked by the **back-pressure** rule: a loop is granted only the autonomy one knows how to verify cheaply and reliably. The corollary overturns the prevailing intuition: the bottleneck was never generation, it is verification — "generation is a wide mouth, verification a narrow neck; speeding up the mouth thickens the pile at the neck."

Hence the central architecture decision: in the eleven-phase cycle, **Review is not a human gate**, and this is deliberate. The three inviolable gates are Define, Plan, and Ship. Putting the gate on Review would place human attention — a finite resource — as the checkpoint of a generation that, itself, scales: the neck would never widen. **Review instruments, Ship decides**; Review produces an opposable body of evidence, and the decision is made on the evidence, not on the full diff. SFEIR keeps from Monperrus that human inspection of every diff does not withstand agentic speed, but rejects his conclusion: acceptance cannot be delegated.

The operational translation is a dimension-by-dimension table, separating what can be mechanized from irreducibly human judgment. The dimension systematically forgotten is **understandability**, "because it doesn't break CI" — hence the cheapest remedy in the grid: having the agent log what it tried and discarded, since "intent is not lost, it is thrown away."

The named failure mode is **circular validation**: the agent that writes the code writes the tests that validate it, CI is green, "you have built a mirror, not a ring." Five countermeasures are borrowed from Anthropic (independent gates, deterministic + agentic, shadow mode, risk-based tiering, SIEM logging), and Compare the Market warns that a reviewer built on vector RAG degrades the review (~70% for an AST graph versus ~58%).

The firm's own extension is **the ratchet**, attached to Compound-1: every escape becomes a constraint. The ring thickens with each cycle — "the only asset in the chain that appreciates while models depreciate" (− 30% fewer correction iterations after ten cycles, an internal measure). Only one question remains: **what does my system refuse to let through?**

## GrapheDeConnaissance

- SFEIR —affirme_que→ la qualité logicielle ne se lit plus dans le code mais dans l'anneau de contraintes qui entoure l'agent (AFFIRMATION, 0.98)
- anneau de contraintes —est_basé_sur→ Addy Osmani (PERSONNE, 0.97)
- SFEIR —affine→ anneau de contraintes (CONCEPT, 0.96)
- anneau de contraintes —fait_partie_de→ cycle SFEIR à 11 phases (METHODOLOGIE, 0.95)
- back-pressure —fait_partie_de→ anneau de contraintes (CONCEPT, 0.96)
- Addy Osmani —affirme_que→ "on ne confie à une boucle que l'autonomie qu'on sait vérifier à faible coût et de façon fiable, pas un pouce de plus" (CITATION, 0.96)
- SFEIR —affirme_que→ le goulot n'a jamais été la génération mais la vérification : accélérer la génération ne fait qu'épaissir le tas au col de la vérification (AFFIRMATION, 0.97)
- phase Review (SDLC) —fait_partie_de→ cycle SFEIR à 11 phases (METHODOLOGIE, 0.97)
- SFEIR —affirme_que→ "Review instrumente. Ship décide." — Review livre un faisceau de preuves opposable, Ship décide sur les preuves et non sur le diff intégral (CITATION, 0.97)
- SFEIR —affirme_que→ placer le gate humain sur Review ferait de l'attention humaine le point de contrôle d'une génération qui scale, plafonnant le débit au nombre de diffs qu'un senior peut lire dans une journée (AFFIRMATION, 0.96)
- SFEIR —s_oppose_à→ The End of Code Review: Coding Agents Supersede Human Inspection (DOCUMENT, 0.93)
- Martin Monperrus —affirme_que→ le modèle hybride "l'agent écrit, l'humain relit" est intenable et générateur d'une fausse sécurité (AFFIRMATION, 0.95)
- validation circulaire —est_instance_de→ mode d'échec de la revue agentique (CONCEPT, 0.95)
- Augment Code —référence→ validation circulaire (CONCEPT, 0.94)
- DORA 2025 —mesure→ "l'adoption de l'IA est corrélée positivement au débit de livraison et négativement à la stabilité quand les fondations ne suivent pas" (MESURE, 0.93)
- compréhensibilité —réduit→ comprehension debt (CONCEPT, 0.94)
- journal de décision —permet→ reconstruction de l'intention derrière une PR agentique (CONCEPT, 0.95)
- SFEIR —affirme_que→ "l'intention n'est pas perdue, elle est jetée" (CITATION, 0.95)
- budget de tokens par tâche —est_instance_de→ contrainte de qualité au même titre qu'un budget de performance (CONCEPT, 0.93)
- cliquet de l'anneau —est_basé_sur→ ratchet principle (CONCEPT, 0.95)
- cliquet de l'anneau —fait_partie_de→ Compound-1 (CONCEPT, 0.94)
- SFEIR —recommande→ toute échappée devient une contrainte : un défaut qui a franchi l'anneau se referme dans l'anneau sous forme de test, de règle de lint, de rubrique de revue ou de garde-fou de harnais (AFFIRMATION, 0.97)
- SFEIR —affirme_que→ "l'anneau s'épaissit à chaque cycle, et c'est le seul actif de la chaîne qui s'apprécie pendant que les modèles se déprécient" (CITATION, 0.95)
- SFEIR —mesure→ "− 30 % d'itérations de correction après dix cycles" (mesure interne first-party, protocole non publié) (MESURE, 0.78)
- Compare the Market —mesure→ "le graphe de connaissance structurel construit par analyse de l'AST place un commentaire en ligne pertinent dans environ 70 % des cas contre 58 % pour le RAG vectoriel, sur 79 merge requests" (MESURE, 0.92)
- graphe de connaissance structurel —surpasse→ RAG vectoriel (TECHNOLOGIE, 0.93)
- SFEIR —recommande→ qualifier une boucle pour l'autonomie sur cinq critères de contrôle — peu coûteux, à haute fréquence, difficile à contourner, immédiat et non dérivant (AFFIRMATION, 0.95)
- boucles courtes —améliore→ vérifiabilité d'un agent (CONCEPT, 0.92)
- SFEIR —recommande→ garder la revue humaine sur l'authentification, la facturation et les contrats d'API publics, et réviser chaque interrupteur à chaque Compound (AFFIRMATION, 0.94)
- SFEIR —recommande→ remplacer la question "ce code est-il bon ?" par "qu'est-ce que mon système refuse de laisser passer ?" (AFFIRMATION, 0.96)

---
Canonical: https://www.thekb.eu/en/fiches/sfeir-code-review-anneau-contraintes-2026-07-30/
