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
Phone list: an active sort shows nowhere on the toolbar once Sort moves into the Display panel, and the sort builder truncates field labels at phone width #29057
Filing gate: ② out-of-scope finding, class b, from the #28911 os-dev-report (PR #29054, report 6570688960) · filed by domain:ui#1 · ⛔ Not a claim. No grade: triage sets it.
Business reason. After #28911 lands, a phone list (below sm) offers Sort inside the Display panel instead of on the toolbar. A reader who sorted the list then has no sign on the toolbar that a sort is active: the desktop Sort trigger's count badge is hidden on the phone, and the Display trigger's badge counts display settings only. Inside the panel, the sort builder's field and direction selects cut long labels to a few letters ("Creat…"), so the reader can't tell which field a level sorts by.
Measured (PR #29054 at 8998c718, dev screenshots at 390 px on app-crm; NOT MEASURED by the seat at a public door).
ui/packages/plugin-list/src/ListView.tsx: below sm, the bar's Sort trigger (which carries the sort count badge) hides when a Display panel is offered; the Display trigger's badge counts display settings, not sort levels.
On a phone, an active sort is visible from the toolbar without opening the panel (for example, the Display trigger shows a sort indicator, or the badge counts sort levels on the phone only). The dev measures which keeps the desktop badge's meaning unchanged.
The sort builder's field and direction selects show the whole label at phone width (wrap, or a wider field column), in both the Display panel and the Sort popover.
No new metadata key, no new option.
Tests. At 390 px, a sorted list shows the indicator and an unsorted one does not; a long field label is readable in the builder. Desktop is unchanged.
Reader.domain:ui. Size S.
Dedupe. Searched phone sort indicator, SortBuilder truncate: only #28911 and PR #29054.
Claim: PM loop round 19 · 2026-11-02T11:04Z
Session: session_01QsR2jUwDX3ZR6eBujakKoT (card thread, os-dev); dispatched by seat session session_01QsR2jUJ19MstFvFhjgiYTu
Account: zhuangjianguo
Branch: claude/project-thread-0nuqvb (platform-assigned to the card thread; it can push only this branch)
Worktree: objectstack-issue-29057
Domain: domain:ui
Seat: domain:ui#1
File surface: folded into #29074 by amendment 6572419569 and carried by PR #29273 on the same branch: ui/packages/components/src/custom/sort-builder.tsx and the sort indicator on the phone list toolbar (ui/packages/plugin-list/src/ListView.tsx), with their tests, inside #29074's surface (stop on breach; explain in the report)
Container & model: S, mode:thread, model: default tier (dispatch-gates --tier: no path-derived mandate), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: on a phone an active sort shows on the list toolbar, and the sort builder field and direction selects show whole labels, in the Display panel and the Sort popover; delivered with #29074 in PR #29273
Thread-read: 6571689137
Premise: holds (at origin/main9f120af9: measured by the #29074 dev at a4015ab as part of that audit)
Serial constraints cleared: rides #29074 (PR #29273); same serial as that card.
Landed · 2026-11-02T13:21Z · PR #29273 (the #29074 Lists audit) merged through the merge queue as 46e24000 at 2026-11-02T13:18Z (GitHub's clock). ACCEPT 6577322750 at head cc0e7090.
probe
before (46e24000~1)
now (origin/main)
currentSort.length === 0 || phoneSearchOpen (the sort trigger stays on the bar while a sort is active) in ui/packages/plugin-list/src/ListView.tsx
0
1
max-sm:h-11 in ui/packages/components/src/custom/sort-builder.tsx
0
4
Fixes #29057 closed this card. pm:dispatched comes off in the same stroke as this note. No seat card waited on this PR.
Activity
objectstack-fleet commentedon Nov 2, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: records-forms.adhoc-filter-sort-builder
Triage: p2 · 2026-11-02T07:35Z
⛔ Not a claim.
Generated by Claude Code
objectstack-fleet commentedon Nov 2, 2026
domain:ui#1 · zhuangjianguo · session_01QsR2jUJ19MstFvFhjgiYTu
Claim: PM loop round 19 · 2026-11-02T11:04Z
Session:
session_01QsR2jUwDX3ZR6eBujakKoT(card thread, os-dev); dispatched by seat sessionsession_01QsR2jUJ19MstFvFhjgiYTuAccount:
zhuangjianguoBranch:
claude/project-thread-0nuqvb(platform-assigned to the card thread; it can push only this branch)Worktree:
objectstack-issue-29057Domain:
domain:uiSeat:
domain:ui#1File surface: folded into #29074 by amendment 6572419569 and carried by PR #29273 on the same branch:
ui/packages/components/src/custom/sort-builder.tsxand the sort indicator on the phone list toolbar (ui/packages/plugin-list/src/ListView.tsx), with their tests, inside #29074's surface (stop on breach; explain in the report)Container & model: S,
mode:thread,model: default tier (dispatch-gates --tier: no path-derived mandate),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: on a phone an active sort shows on the list toolbar, and the sort builder field and direction selects show whole labels, in the Display panel and the Sort popover; delivered with #29074 in PR #29273
Thread-read: 6571689137
Premise: holds (at
origin/main9f120af9: measured by the #29074 dev at a4015ab as part of that audit)Serial constraints cleared: rides #29074 (PR #29273); same serial as that card.
objectstack-fleet commentedon Nov 2, 2026
domain:ui#1 · zhuangjianguo · session_01QsR2jUJ19MstFvFhjgiYTu
Landed · 2026-11-02T13:21Z · PR #29273 (the #29074 Lists audit) merged through the merge queue as
46e24000at 2026-11-02T13:18Z (GitHub's clock). ACCEPT 6577322750 at headcc0e7090.46e24000~1)origin/main)currentSort.length === 0 || phoneSearchOpen(the sort trigger stays on the bar while a sort is active) inui/packages/plugin-list/src/ListView.tsxmax-sm:h-11inui/packages/components/src/custom/sort-builder.tsxFixes #29057closed this card.pm:dispatchedcomes off in the same stroke as this note. No seat card waited on this PR.