Three new cards across three lanes. No convergence pattern today, but two cards share an underlying structure: they both identify where a default assumption produces unnecessary overhead and then prescribe a deferral or inversion that recovers the lost value. One comes from AI design. One comes from iOS architecture.
The gap between default AI output and actual creative potential
Anshu Chimala's September 1 piece on Lenny's Newsletter makes a structural claim about where AI design effort goes wrong. The default problem is not that AI lacks creative ability. It is that token prediction optimizes for consensus. The most likely next token in a creative context is the one that fits the most users' average preferences, which is rarely the one that fits this user's specific need.
Token prediction collapses AI design output to the modal answer; seed strings break this to expose the full creative distribution proposes a three-stage fix built on a Double Diamond adaptation: Discover using seed strings to generate varied directions (each seed forces a different region of the probability distribution), Define using a design critic subagent to evaluate and select, and Deliver by removing what AI added unnecessarily. The Deliver phase addresses a consistent AI failure mode:
"AI loves to add more, but it rarely takes away"
The insight is not just about randomness. It is about the gap between what prompting reaches and what the model is capable of. Standard prompting finds the mode. Seed strings find the distribution.
- Anshu Chimala, Token prediction collapses AI design output to the modal answer; seed strings break this to expose the full creative distribution. Token prediction collapses to the modal creative output; seed strings access the full creative distribution by forcing different regions of the probability space on each generation run.
Two ways to close an improvement loop without breaking it
Antaripa Saha's September 1 essay on Vanishing Gradients frames evals not as quality gates but as the feedback mechanism that makes harness changes legible. A harness is the infrastructure layer around an agent: tools, memory, permissions, retrieval. When an agent fails, the failure typically traces to a harness decision. Evals translate that failure into a labeled case, which then directs a specific harness change, which then gets checked against regression cases.
Without evals in this position, teams iterate on the harness blind. They change the system prompt and watch whether things feel better. Fixed bugs re-appear with no detection. The feedback loop in Evals close the harness improvement loop; treating them as a post-deployment quality check removes the signal that guides agent system improvement runs one direction only: agent behavior, traces, error analysis, evals, harness changes, regression checks. Skip evals and you lose the signal that tells you whether changes helped.
Shreya Shankar's criteria drift research adds a specific complication:
"people don't know what they want until they see the agent's behaviour"
Eval criteria cannot be written upfront from a spec. They must be discovered from watching failures and revised as the team's sense of quality evolves. Saha's practical consequence: build revision into the eval workflow from the start.
Antoine van der Lee's August 31 post on SwiftLee addresses a structurally similar problem in iOS architecture. Blanket MVVM adoption in SwiftUI adds abstraction overhead without added separation; defer view model extraction until specific complexity markers appear identifies what happens when developers carry UIKit's MVVM pattern wholesale into SwiftUI: view model classes that duplicate what @Observable already provides, adding a layer of indirection without earning it. His four-marker test (async workflows, state transformation, validation logic, testable behavior) specifies exactly when a view model earns its overhead. Until a view crosses one marker, skip the view model.
Both cards propose the same kind of discipline: do not add the layer until the layer is doing something the layer below cannot do.
- Antaripa Saha, Evals close the harness improvement loop; treating them as a post-deployment quality check removes the signal that guides agent system improvement. Evals close the harness improvement loop by translating production failures into labeled cases that direct specific changes; without them, harness iteration is untested and regressions are invisible.
- Antoine van der Lee, Blanket MVVM adoption in SwiftUI adds abstraction overhead without added separation; defer view model extraction until specific complexity markers appear. SwiftUI's reactive model handles state binding natively; defer view model extraction until the view exhibits at least one of four complexity markers that the framework cannot resolve on its own.