---
title: "Let people check and change what a model · Agent Wranglers"
url: https://agentwranglers.se/playbook/app-ui/generated-interfaces/review-generated-input
id: APP-67
level: Recommended
applies: ai-features
updated: 2026-10-22
tokens: 1011
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Let people check and change what a model filled in

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Generated interfaces](https://agentwranglers.se/playbook/app-ui/generated-interfaces.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-22.

- ID: APP-67
- Level: Recommended
- Chapter: [Generated interfaces](https://agentwranglers.se/playbook/app-ui/generated-interfaces.md)
- Rule: Mark every form field a model filled in, keep it editable, and save nothing until the person submits. A later suggestion never replaces a value the person typed.
- Check: A browser test lets the model fill 3 fields. Each field has a visible "Filled by AI" note in its description, and no save request is sent before submit. After the test edits one field, a second suggestion leaves that field as typed.
- Applies when: The project uses AI models.
- How: A model that fills a form from a spoken request or a document gets some fields wrong. Label each filled field in text, tied to it with `aria-describedby`, as [Label AI output where people see it](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/label-ai-output.md) asks. Track which fields the person has changed, and skip those when a new suggestion arrives, as [Never lose what people typed](https://agentwranglers.se/playbook/app-ui/forms/keep-user-input.md) requires. Decisions that matter stay with a person, as [Let a person decide what matters](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/human-decides.md) says.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### TypeScript example

```ts
const editedByPerson = new Set<string>();
form.addEventListener('input', event => editedByPerson.add((event.target as HTMLInputElement).name));

export function applySuggestion(values: Record<string, string>) {
  for (const [name, value] of Object.entries(values)) {
    if (editedByPerson.has(name)) continue;
    const field = form.elements.namedItem(name) as HTMLInputElement;
    field.value = value;
    field.setAttribute('aria-describedby', `${name}-ai-note`);
  }
}
```

### Python example

```python
from playwright.sync_api import expect

def test_suggestion_keeps_typed_value(page):
    page.goto("https://staging.example.com/invoices/new?draft_from=upload_42")
    expect(page.get_by_label("Customer")).to_have_accessible_description("Filled by AI")
    page.get_by_label("Customer").fill("Acme Bakery")
    page.get_by_role("button", name="Suggest again").click()
    expect(page.get_by_label("Customer")).to_have_value("Acme Bakery")
```

## Sources

- [OWASP LLM09:2025 Misinformation](https://genai.owasp.org/llmrisk/llm092025-misinformation/)

## Related rules

- AIF-37 [Label AI output where people see it](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/label-ai-output.md) in AI features
- APP-19 [Never lose what people typed](https://agentwranglers.se/playbook/app-ui/forms/keep-user-input.md) in Web app interface
- AIF-36 [Let a person decide what matters](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/human-decides.md) in AI features

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/app-ui/generated-interfaces/review-generated-input">Agent Wranglers web app interface playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Build generated screens only from your own components](https://agentwranglers.se/playbook/app-ui/generated-interfaces/generated-ui-components.md)
- [Generated interfaces](https://agentwranglers.se/playbook/app-ui/generated-interfaces.md)
