Kodori's product promise is "the agent only proposes; the user's decision is what becomes the source of truth." Dismissing an AI suggestion is one half of that decision — but it isn't the end of it. If a doc's docType, sensitivity, keywords, collection, or retention class was proposed by the agent and you dismissed the proposal, Kodori treats that field as **required manual entry** until you set it. The audit chain ends up with a clean two-step story ("dismissed by X on Y, set to Z by X on Y") instead of a doc with a question mark hanging over it.
**Where it shows up.** On the doc detail page (/doc/[id], Overview tab), the Required panel appears above the "Suggested by Kodori" list. It's styled in red with the heading **"Required: your manual entry"**. Each card explains:
- which field needs setting (docType / sensitivity / keywords / collection / retention class) - a one-sentence CTA pointing at the affordance that satisfies it (Metadata panel below, Sensitivity selector on the Overview block, Versions tab for collections, retention class dropdown on the Overview block) - when it was dismissed + who dismissed it
**How a requirement clears.** As soon as the field is set by any means — typing it into the Metadata panel, accepting a different suggestion, an admin editing it, the agent writing to it via an authorized tool — the corresponding card disappears on next render. There's no "mark resolved" button; the field state IS the resolution. Per-kind rules:
- **docType**: `metadata.docType` is a non-empty string. - **keywords**: `metadata.keywords` is a non-empty array. - **sensitivity**: the label is not the default `internal` tier. (If your real choice IS `internal`, the cleanest path is to accept the suggestion when it next proposes `internal`, since the system can't tell the difference between "you actively picked internal" and "you haven't touched it.") - **collection**: the document is pinned to at least one collection. - **retention class**: a retention class is assigned.
**Combined with content-type required fields (D341).** If the doc's docType matches one of your tenant's content types (see /help/content-types), the content type's required fields show up in the same Required panel alongside the dismissed-suggestion cards. One block, two sources, one job: make sure the doc has every fact it needs before downstream work (search, retention review, finalization) leans on it.
**What does NOT happen.** v1 of this feature is *advisory* — the Required panel surfaces the missing field but the existing per-key Metadata panel still saves one field at a time without checking the whole set. Hard-block-on-finalize ships when the /triage queue lands (D344). If you want zero unsatisfied required fields before a doc is "done," wait for /triage; in the meantime, treat the Required panel as a Post-It on the doc that says "still owes you something."
**Why dismiss creates a requirement at all.** Kevin McArthur (CSO) at our 2026-05-18 working session: *"if somebody dismisses one, then that field should show up in the metadata as a manual entry requirement."* The alternative — letting a dismiss silently leave the field blank — undercuts the whole "operator is the source of truth" framing. Dismissing means "I'll handle it"; the Required panel is Kodori holding you to it.