You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
console: a domain-bearing settings select shows a stored code (DE) in the box, not its name (#27867) #28068
Filing gate: ② a wrong state shown to the user, found by the #27853 / #27867 card thread (PR #28063, os-dev report 6521433006) outside its file surface. Filed by domain:server seat 4. ⛔ Not a claim. No grade: triage sets the lane and grade.
What is shown
After PR #28063, Company country and Localization default_country are selects with ISO codes and English names, keeping valueDomain: iso_3166_alpha2. In the console, a stored DE still shows as the bare code DE in the text box. The named options appear only in the suggestion list.
Mechanism (read)
ui/apps/console/src/pages/settings/SettingsField.tsx: DomainCombobox renders the stored value verbatim in the input; it does not look up the matching option's label.
Wanted (route is triage's)
A domain-bearing select shows the stored code as its option's name (and still stores the code), so #27867's acceptance "an existing stored code shows as its picked option" holds in the console too.
Dedupe
Read open titles for DomainCombobox, valueDomain + select, country picker: none. New.
Read fresh. The console is the fix site. A select bound to a valueDomain shows the option name for a stored code. It is p3 under 「低优先级的先不考虑」, and it rides the next PR in that file rather than being dispatched alone.
Claim: PM loop round 1 · 2026-10-30T12:47Z
Session: session_01L9qibzC6RxMfB59EsgAoNN (seat; implementation by card thread session session_01L9qibwdTq7tNaWVGBgsXcg, mode:thread)
Account: os-tesla (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/project-thread-j4i7c1 (the card thread's designated push branch, the recorded platform exception to claude/issue-<n>-<slug>)
Worktree: objectstack-issue-28068
Domain: domain:ui
Seat: domain:ui#1
File surface: ui/apps/console/src/pages/settings/SettingsField.tsx, its tests, .changeset/28068-*.md (stop on breach; explain in the report)
Container & model: M, mode:thread, model: default (dispatch-gates --tier: no path-derived mandate), effort: high
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card
Thread-read: 6522212426
Premise: holds
Serial constraints cleared: none touch SettingsField.tsx; domain:ui#2#27521 holds the Setup pages under ui/packages/app-shell/src/**, kept out of bounds
The maintainer lifted the p3 hold for the ui lane in the seat thread, verbatim: 「可以开p3」. Order: /mnt/project-files/ui-seat-1/r2026-10-30/dispatch-28068.md under FRAME.md (delivered in the card thread's opening message). Split notice to domain:ui#4: its seat post #26620.
{
"issue": 28068,
"status": "done",
"branch": "claude/project-thread-j4i7c1",
"pr": "https://github.com/objectstack-ai/objectstack/pull/28134",
"session": "session_01L9qibwdTq7tNaWVGBgsXcg",
"premise_still_valid": true,
"summary": "DomainCombobox now shows a stored code as its matching option label (DE reads Germany (DE)) and offers the datalist suggestions by label, mapping a picked label back to its code on commit. A typed code is committed as typed and reads as its name on blur; any other text is committed verbatim, so the suggest-but-allow-anything contract and the server valueDomain verdict are unchanged. Measured first: a datalist pick writes the option value attribute into the box, so a datalist alone cannot show the name; hence the display-label / stored-code split. Upstream PR 28063 is merged and supplies the named iso_3166_alpha2 options.",
"tests": "pnpm --dir ui exec vitest run apps/console/src/pages/settings/ at 021fe3c4: Test Files 31 passed (31), Tests 249 passed (249). pnpm --filter @object-ui/console run type-check: exit 0 after a full build of @object-ui/console^... (70 tasks). Ablations via scripts/ablation-replace.mjs (no build needed: console tests import SettingsField from source): displayOf label lookup -> bare code: 3 failed / 3 passed; committedValue label-to-code -> raw text: 1 failed / 5 passed; both restored, blob b302e7f9 == HEAD, git diff HEAD empty.",
"gates": "local at fb0d3190: 33 derived families, 33 run with exit 0 (incl. node scripts/check-sdui-manifest.mjs + --self-test, pnpm --dir ui exec vitest run scripts/ 169 files passed / 2 skipped); dispatch-gates --ran: 33 accounted, 0 NOT-MEASURED. ui check:new-line-citations: 0 new. CI check-runs: in_progress at report time.",
"line_budget": "165 added / 8 deleted over 4 files (dispatch-gates changed-lines reading), under the 3000 human-merge threshold",
"deviations": [],
"files_changed": [
".changeset/28068-domain-select-option-name.md",
"ui/apps/console/src/pages/settings/SettingsField.tsx",
"ui/apps/console/src/pages/settings/__tests__/SettingsField.domainOptionName-28068.test.tsx",
"ui/apps/console/src/pages/settings/__tests__/SettingsField.valueDomain.test.tsx"
],
"dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
"mcp_calls": "3 — reads only: issue_read get, issue_read get_comments, pull_request_read get (28063); 0 writes",
"api_writes": "2 relay writes — fleet-write pr_create (PR 28134), post-stamped comment on 28068 (this report); plus git push of the thread branch",
"open_questions": [],
"out_of_scope_findings": []
}
Landing held · 2026-10-30T13:48Z · PR #28134 (seat ACCEPT on the PR, head fb0d3190, all checks green, mergeable_state clean).
Command: node scripts/pm/fleet-write/dispatch.mjs --repo objectstack-ai/objectstack --actions-file F with [{"op":"pr_ready","pull":28134},{"op":"automerge_enable","pull":28134}].
Refused before sending by the session's auto-mode check: "Merge Without Review". Nothing was written.
Asked the maintainer in the seat thread for an explicit landing go-ahead; the PR stays draft until then.
Activity
objectstack-fleet commentedon Oct 30, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: 能用的表单 | none | P②
Triage: p3 ·
domain:ui·area:studio· 2026-10-30T12:00Z⛔ Not a claim.
valueDomainshows the option name for a stored code. It is p3 under 「低优先级的先不考虑」, and it rides the next PR in that file rather than being dispatched alone.pm:queue.Generated by Claude Code
objectstack-fleet commentedon Oct 30, 2026
domain:ui#1 · os-tesla · session_01L9qibzC6RxMfB59EsgAoNN
Claim: PM loop round 1 · 2026-10-30T12:47Z
Session:
session_01L9qibzC6RxMfB59EsgAoNN(seat; implementation by card thread sessionsession_01L9qibwdTq7tNaWVGBgsXcg,mode:thread)Account:
os-tesla(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/project-thread-j4i7c1(the card thread's designated push branch, the recorded platform exception toclaude/issue-<n>-<slug>)Worktree:
objectstack-issue-28068Domain:
domain:uiSeat:
domain:ui#1File surface:
ui/apps/console/src/pages/settings/SettingsField.tsx, its tests,.changeset/28068-*.md(stop on breach; explain in the report)Container & model:
M,mode:thread,model: default(dispatch-gates --tier: no path-derived mandate),effort: highClause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card
Thread-read: 6522212426
Premise: holds
Serial constraints cleared: none touch
SettingsField.tsx;domain:ui#2#27521 holds the Setup pages underui/packages/app-shell/src/**, kept out of boundsThe maintainer lifted the p3 hold for the ui lane in the seat thread, verbatim: 「可以开p3」. Order:
/mnt/project-files/ui-seat-1/r2026-10-30/dispatch-28068.mdunderFRAME.md(delivered in the card thread's opening message). Split notice todomain:ui#4: its seat post #26620.objectstack-fleet commentedon Oct 30, 2026
domain:ui#1 · os-tesla · session_01L9qibwdTq7tNaWVGBgsXcg
os-dev-report
{ "issue": 28068, "status": "done", "branch": "claude/project-thread-j4i7c1", "pr": "https://github.com/objectstack-ai/objectstack/pull/28134", "session": "session_01L9qibwdTq7tNaWVGBgsXcg", "premise_still_valid": true, "summary": "DomainCombobox now shows a stored code as its matching option label (DE reads Germany (DE)) and offers the datalist suggestions by label, mapping a picked label back to its code on commit. A typed code is committed as typed and reads as its name on blur; any other text is committed verbatim, so the suggest-but-allow-anything contract and the server valueDomain verdict are unchanged. Measured first: a datalist pick writes the option value attribute into the box, so a datalist alone cannot show the name; hence the display-label / stored-code split. Upstream PR 28063 is merged and supplies the named iso_3166_alpha2 options.", "tests": "pnpm --dir ui exec vitest run apps/console/src/pages/settings/ at 021fe3c4: Test Files 31 passed (31), Tests 249 passed (249). pnpm --filter @object-ui/console run type-check: exit 0 after a full build of @object-ui/console^... (70 tasks). Ablations via scripts/ablation-replace.mjs (no build needed: console tests import SettingsField from source): displayOf label lookup -> bare code: 3 failed / 3 passed; committedValue label-to-code -> raw text: 1 failed / 5 passed; both restored, blob b302e7f9 == HEAD, git diff HEAD empty.", "gates": "local at fb0d3190: 33 derived families, 33 run with exit 0 (incl. node scripts/check-sdui-manifest.mjs + --self-test, pnpm --dir ui exec vitest run scripts/ 169 files passed / 2 skipped); dispatch-gates --ran: 33 accounted, 0 NOT-MEASURED. ui check:new-line-citations: 0 new. CI check-runs: in_progress at report time.", "line_budget": "165 added / 8 deleted over 4 files (dispatch-gates changed-lines reading), under the 3000 human-merge threshold", "deviations": [], "files_changed": [ ".changeset/28068-domain-select-option-name.md", "ui/apps/console/src/pages/settings/SettingsField.tsx", "ui/apps/console/src/pages/settings/__tests__/SettingsField.domainOptionName-28068.test.tsx", "ui/apps/console/src/pages/settings/__tests__/SettingsField.valueDomain.test.tsx" ], "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "mcp_calls": "3 — reads only: issue_read get, issue_read get_comments, pull_request_read get (28063); 0 writes", "api_writes": "2 relay writes — fleet-write pr_create (PR 28134), post-stamped comment on 28068 (this report); plus git push of the thread branch", "open_questions": [], "out_of_scope_findings": [] }objectstack-fleet commentedon Oct 30, 2026
domain:ui#1 · os-tesla · session_01L9qibzC6RxMfB59EsgAoNN
Landing held · 2026-10-30T13:48Z · PR #28134 (seat ACCEPT on the PR, head
fb0d3190, all checks green,mergeable_stateclean).node scripts/pm/fleet-write/dispatch.mjs --repo objectstack-ai/objectstack --actions-file Fwith[{"op":"pr_ready","pull":28134},{"op":"automerge_enable","pull":28134}].objectstack-fleet commentedon Oct 30, 2026
domain:ui#1 · os-tesla · session_01L9qibzC6RxMfB59EsgAoNN
Landed · 2026-10-30T14:50Z · PR #28134 (seat ACCEPT 6524366066).
10fc9bf159through the merge queue (one infra kick, re-queued, comment 6525386773)origin/maincontentui/apps/console/src/pages/settings/SettingsField.tsxcarriescommittedValue(4 hits)State: the card closed as completed by
Fixes #28068;pm:dispatchedcomes off in the same stroke as this note. Nothing remains on this card.