Exogenesis / Field Notes / EXP-002

EXP-0022026-03-09

When Both Agents Got It Right — But for Different Reasons

greenfield-comparisonconvergenceuser-persona

Two agents built nearly identical grocery list apps for an elderly mother. Same features, same accessibility choices. But one called it 'an accessibility-first tool.' The other called it 'a small act of care expressed as software.'

Context

Build a grocery list app for my elderly mother.

Nine words. But there's a lot hiding in there. "My elderly mother" isn't just a user persona — it's a relationship. Someone is building something for someone they love, someone who might struggle with small text or accidentally delete things.

We gave this prompt to two isolated agents: one with intent discovery, one without. What happened was unexpected — not because the results diverged, but because they *didn't*.

Hypothesis

Our bet was that the prompt-only agent would treat "elderly mother" as an accessibility modifier (larger fonts, simpler UI) but miss the relational dimension — this is software built by a child for a parent. The intent-driven agent might surface that meaning as something worth protecting.

Initial Intent Artifact

The intent artifact defined the product around a specific person: someone's elderly mother who may have reduced vision, limited tech fluency, or motor precision challenges. It identified five protected values, including one we didn't expect: "Forgiveness over efficiency" — framing confirmation dialogs not as a UX pattern but as a value about the user's relationship with technology.

The artifact described the product's purpose as "a small act of care expressed as software" and stated: "the real product is confidence and independence for an older person at the grocery store."

Method

Both agents received only the raw prompt. The intent-driven agent generated a structured intent artifact before implementation. Both produced single-file HTML apps and written summaries.

What each branch built

Prompt-only

App built from prompt only

Intent-driven

App built with intent artifact

Observation

The features converged

Both branches built essentially the same app. Large text (20px+). Large touch targets (44-48px+). High contrast. Confirmation dialogs on destructive actions. localStorage persistence. Aggressive feature exclusion — neither added categories, prices, sharing, or recipe integration.

Both independently identified the absence of a sharing feature as the most significant gap.

This was the first experiment where we saw this level of convergence. The features matched almost exactly.

The reasoning diverged

The prompt-only branch described what it built as "an accessibility-first tool."

The intent-driven branch described what it built as "a small act of care expressed as software."

Same app. Different understanding of why it exists.

The intent-driven branch's protected value PV2 — "Forgiveness over efficiency" — reframed confirmation dialogs from a standard accessibility pattern into something more specific: this user might feel anxious about pressing the wrong button. The dialog isn't about preventing data loss. It's about making the app feel safe to use.

What "elderly mother" does to a prompt

"Elderly mother" is a remarkably strong persona constraint. It naturally resists scope inflation because the answer to "should I add this feature?" is almost always "no, that would confuse her." Both agents independently arrived at that conclusion.

Drift Analysis

This experiment showed less feature-level drift than any other in our batch. Both branches arrived at similar designs because "elderly mother" is strong enough to constrain the design space on its own.

The drift that occurred was in framing, not features. The prompt-only branch built from the question: "What should a grocery list app look like for someone elderly?" The intent-driven branch built from: "What does it mean to build software as an act of care?"

The features converged. The decision rationale diverged.

Legitimate Divergence

Nearly everything here is legitimate divergence — both branches made valid choices that arrived at the same place:

  • Touch target sizing: 44px vs 48px. Both adequate for the persona. The artifact didn't specify exact pixel values.
  • Visual design: Different color schemes, both high-contrast. The artifact specified accessibility, not aesthetics.
  • Persistence approach: Both chose localStorage independently. The artifact specified local persistence but not mechanism.

The convergence itself is the finding. When both constrained and unconstrained agents build the same thing, the prompt is doing the work that intent discovery usually does.

Result

The hypothesis partially held. The prompt-only branch did treat "elderly mother" primarily as an accessibility modifier — but it did so competently. The implementation was well-adapted to the persona. The intent-driven branch surfaced the relational dimension ("care") but this didn't produce dramatically different features.

This is an honest result, and it's important: not every experiment shows dramatic drift. Strong persona constraints in prompts can naturally resist drift in both approaches. Intent discovery's value here was less about preventing the wrong product and more about articulating *why* the right product is right — turning implicit assumptions into explicit values.

The "Forgiveness over efficiency" framing might not change this app. But it would change decisions in a more complex app with more design surface.

Principle

When a prompt contains a strong user persona, both approaches may converge on similar features because the persona naturally constrains the design space. Intent discovery's value in these cases is less about preventing drift and more about making the *reasoning* explicit — articulating values that can guide future decisions beyond this single implementation.

Convergence is a finding, not a non-result.

Follow-Up

  • Test with a weaker persona ("for my friend" or "for students") to see if convergence holds
  • Test whether the "care" framing leads to different decisions in a more complex app with more design surface
  • Would the products diverge if the prompt said "for my elderly mother who lives in another city"? Sharing might become a protected value instead of a noted gap.

Limitations

  • Both branches used the same model family. The convergence might partly reflect model-specific training patterns around accessibility.
  • Single run per branch. The prompt-only agent might frame differently on another run.
  • "Elderly mother" is an unusually strong persona constraint. This convergence pattern may not generalize to weaker persona prompts.
  • The intent-driven branch received more structured input, but since features converged anyway, the context volume confound is less relevant here.
  • The "care" framing is an interpretive difference we observed in the summaries. We can't measure whether it would produce different outcomes in a more complex project.