# Staged machine owner display correction — 2026-09-11 Owner: Codex-9e8r6t `/root/palette_finish`. Root authorized only the display path in `crates/oa-desktop/src/behavior/creation.rs` and this report. No compiler, native input, Git operations or changes to source-draft/command/recovery code were made. The existing-source chooser remains owned by its existing worker. ## Observed problem and cause On immutable GUI 52DE82 at 1100×700, root created a pending SA machine named `Field team operating modes`, opened Create new owner, explicitly chose SystemActor `Field rescue team`, then Use. The parent correctly displayed `New · System actor · Field rescue team`, but its ordinary owner picker also displayed `Selected: Missing element — choose a replacement` and a no-matching participant prompt. Root's screenshot is `.local/native-qa/contextual-source-20260911-v1/sa-machine-staged-false-missing.png`. `picker_view` looked up every selected ID through `reference_label` against the accepted Project. The staged owner's reserved ID intentionally is absent from that catalog. The parent already renders `d.source.label(d.owner)` above the picker; that helper returns a label only when the staged draft's ID equals the currently selected ID. The incorrect warning came from the redundant accepted catalog lookup, not from a missing staged owner. ## Frozen correction Only four display changes in `picker_view`: ```diff let selected = match picker { Picker::Owner => d.owner, Picker::Context => d.context, }; + let staged_owner = picker == Picker::Owner && d.source.label(selected).is_some(); let title = match picker { + Picker::Owner if staged_owner => "Or choose an existing participant", Picker::Owner => "Owned by participant", Picker::Context => "Scenario context · optional", }; ``` ```diff - if let Some(id) = selected { + if let Some(id) = selected + && !staged_owner + { out = out.push(text(format!("Selected: {}", reference_label(p, id))).size(12)); ``` ```diff out = out.push(text(match picker { + Picker::Owner if staged_owner => "No existing participants match this search. The new owner above remains selected.", Picker::Owner => "No matching participant. Refine the search or choose Create new owner.", ``` The selected staged owner is shown once by the existing New label. Existing participants remain searchable/selectable as explicit alternatives. No staged record is injected into `Project`, `choices`, pagination or accepted catalog membership. The source labels, choice messages, validation, command batches, reserved IDs, commit behavior and recovery state are unchanged. Frozen `creation.rs` SHA256: `0fb19be3a5688c4bd3ca3643c47a97da7e7f85add8a860cd046a0d9cb3ce9dfc`. The exact delta and hash were sent to `behavior_audit`; `release_audit` is coordinating the combined source freeze and compiler gate. ## Source-backed controls and native follow-up | State | Result of the new condition | | --- | --- | | Owner ID equals active staged source ID | New owner label remains; accepted-catalog missing row is omitted; empty search explains the new owner remains selected | | Existing accepted owner selected while a different staged draft is retained | `State::label` returns None; ordinary selected owner label and search behavior remain | | Missing accepted owner ID with no matching staged ID | Original `reference_label` missing-element warning remains | | No owner selected | Existing no-selection/empty-catalog guidance remains | | Scenario context picker, including a stale context | Owner-only condition is false; original context label, missing warning and empty-context behavior remain | These are source-path checks, not executed widget tests. No broad new test was added for this wording/condition correction, as requested. No compile or native pass is claimed here. Root's acceptance path: on the matching rebuilt GUI, repeat the exact minimum window machine/owner route, confirm the New owner appears once without the false missing warning, and confirm search/selection of an existing owner still works. For an empty or unmatched accepted catalog, the text must distinguish existing choices from the selected staged owner. Retain a separate real missing accepted owner control in source/recovery review. The independently specified machine, owner, first-view and one-step history/source oracle remains unchanged.