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
Findings triage (#4949 discipline) — first grading of this card. Verdict: HOLD. finding retained.
Stale-premise check — re-measured on origin/main (0cf8f0f) from the fetched ref, not the shared worktree. The card was filed against 8d5418e59 and both halves still hold:
the app-branch render condition context === 'app' && activeApp is at :452, with the same pairing at :370 / :371, so the unreachability argument is intact: every consumer of the ordering result is inside a branch that requires activeApp to be truthy, therefore the 'home' literal can never become a storage key;
and the reasoning survives in-tree at :638 / :644, where the comment quotes both useNavOrder(activeApp?.name || 'home') and the branch condition. That comment is the reason this card is a finding rather than a trap: the next reader is warned in the file itself.
Why hold rather than promote. The card's two repair directions are not two ways to do one thing — they are the two outcomes of an unmade product decision (should /home navigation be user-reorderable and pinnable at all?), and they point in opposite directions in the same file. Direction 1 deletes the fallback and moves the hook inside the app branch; direction 2 keeps it and makes the key context-derived (context === 'app' ? activeApp?.name : 'home'). Queueing this today would hand a dev a card whose acceptance criteria depend on an answer nobody has given, and the tempting "just delete the dead fallback" reading is the one that quietly forecloses direction 2.
Why not needs-user-decision either. Nothing is broken and nothing is asked of the maintainer yet: today's state is symptom-free dormant code behind an accurate comment. Escalating a question whose answer only matters if someone decides to build the feature would put a null decision in the inbox. The moment that changes is written into the restart conditions.
Why not close as not-planned. The second half is a real latent defect, not cosmetics: in the home context activeApp resolves to activeApps[0] — whichever app happens to sort first in the deployment — so wiring pin/reorder onto the home branch makes home navigation read and write another app's__root__ ordering, and re-ordering the app list silently changes the home sidebar. That is cross-context key bleed with a user-visible symptom, and it is one line of wiring away.
Restart conditions — any one promotes this to pm:queue:
Anyone wires enablePinning / enableReorder onto the home branch — at that instant the dormant bug becomes live, and the storage key must be fixed in the same PR, not after it. This is the condition to watch: it is a one-line change that looks like an obvious omission, which is exactly why fix(app-shell): /home 的 Administration 组改由 NavigationRenderer 渲染,9 个系统管理入口恢复可达 (#3609) #3630 left a comment at :638–:644 instead of a silence.
A ruling that home navigation stays fixed (not user-orderable) — then direction 1 is unambiguous and this promotes as a small cleanup: move useNavOrder(...) where only the app branch evaluates it and drop the misleading || 'home', so "app-only" is visible in the code rather than only in a comment.
A second context gains a sidebar with the same hook shape — the bug generalises beyond home and the ceiling argument for holding disappears.
No domain:* — objectui is a whole-repo seat. Not a transfer: single file in packages/app-shell, no packages/spec face, not cross-repo.
Dedup — this repo and both siblings, open issues and PRs, on useNavOrder, objectui-nav-order, UnifiedSidebar storage key, sidebar nav order / pin. No duplicate; #3609 / PR #3630 is the discovery site and the only related card.
Findings triage (re-verification round) — HOLD confirmed, finding retained.
Premise re-checked on origin/main @ cdc0e44: useNavOrder(activeApp?.name || 'home') still at packages/app-shell/src/layout/UnifiedSidebar.tsx:201; enablePinning={!isMobile} has drifted to :534 but remains inside the context === 'app' && activeApp branch (conditional read in context) — the home branch is still not wired, exactly as PR #3630 intended, and the warning comment survives at :653-654. None of the three restart conditions has fired (no home-branch wiring, no fixed-navigation ruling, no second sidebar context). Hold stands unchanged.
Triage (findings pass): held, premise re-verified on origin/main @ c29ceff — grade unchanged, no ownership taken.
Both anchors live: UnifiedSidebar.tsx:198 (… || activeApps[0]) and :201 (useNavOrder(activeApp?.name || 'home')); the in-file comment at :654 still documents the deliberate non-wiring of the home branch.
State unchanged: unreachable fallback today, cross-context key collision only if someone wires enablePinning/enableReorder into the home branch.
Restart condition unchanged: any card that connects pinning/reorder to the home context must fix the storage key first — flag it against this issue at that moment.
Re-verified @ objectui origin/main564252c: the fallback is live at packages/app-shell/src/layout/UnifiedSidebar.tsx:201 (useNavOrder(activeApp?.name || 'home')) and the PR #3630 comment documenting the deliberate non-wiring is at :654. Both halves unchanged: the 'home' literal is unreachable for any consumer of the ordering result, and wiring home pin/reorder as-is would key on the deployment's first app. Held because the exit is a product call — whether home navigation should be sortable/pinnable at all — not a mechanical fix.
Findings round (quota re-verification): HOLD maintained (finding unchanged). Re-checked @ origin/maina9a67ec: the fallback drifted to UnifiedSidebar.tsx:205 (useNavOrder(activeApp?.name || 'home')) and the deliberate-non-wiring comment to :664 — both live, both halves unchanged ('home' literal unreachable for ordering consumers; wiring as-is would key on the first app). Exit remains a product call on home-nav sortability; held.
Findings cadence (triage seat): HOLD — premise re-verified on origin/main @ 6d01319: useNavOrder(activeApp?.name || 'home') still resolves the storage key from the first app in the home context (packages/app-shell/src/layout/UnifiedSidebar.tsx:206, second site :306; note the file moved from console/ to layout/ since filing — content unchanged, and the inline comment at :665 now discusses exactly this fallback). The || 'home' arm remains effectively unreachable as filed. Held: observation on storage-key semantics, no user-visible wrongness beyond pin/order following the first app; exit rides the next nav-persistence rework.
Findings cadence (triage seat): HOLD — re-verified @ origin/main6044d13: UnifiedSidebar.tsx still keys nav-order/pin storage on activeApp?.name || 'home' (:206, :306), so in the home context the key still resolves to the first app and the 'home' fallback remains unreachable — the file's own comment at :665 documents the shape. Cosmetic/latent (a user's home-context reorder rides on the first app's key); nothing newly user-visible. finding stands. Restart unchanged: any home-surface nav rework, or a user-visible mis-scoped reorder report.
Triage (batch first-touch round, 2026-08-17): finding → pm:on-hold — state transition of the standing 2026-08-08 HOLD (latent cross-context key-bleed; live only if pin/reorder gets wired onto the home branch, which PR #3630 deliberately did not do). Premise re-verified this round: UnifiedSidebar.tsx:206 fallback intact, home branch still unwired (:545/:547 inside the app branch, deliberate-non-wiring comment at :664). Note a second useNavOrder call site now exists (:306) — include it in any fix.
Restart-when: enablePinning/enableReorder appear outside the context === 'app' branch of UnifiedSidebar.tsx, or a product ruling on /home reorderability lands
Triage: domain:ui (lane only — pm:on-hold untouched). Landing: packages/app-shell — UnifiedSidebar's nav-order/pin storage-key resolution in the home context.
Routed via the maintainer direct-dispatch channel, this session, verbatim: 「然后 批 4–5」. PM session session_0124Qg8rLvpXnQDwCmpKUmaJ. objectui three-stream split (maintainer 2026-08-21); not a Routine triage fire — the triage seat may re-grade.
Activity
os-zhuang commentedon Aug 8, 2026
Findings triage (#4949 discipline) — first grading of this card. Verdict: HOLD.
findingretained.Stale-premise check — re-measured on
origin/main(0cf8f0f) from the fetched ref, not the shared worktree. The card was filed against8d5418e59and both halves still hold:packages/app-shell/src/layout/UnifiedSidebar.tsx:201—const { applyOrder, handleReorder } = useNavOrder(activeApp?.name || 'home');— present verbatim;context === 'app' && activeAppis at:452, with the same pairing at:370/:371, so the unreachability argument is intact: every consumer of the ordering result is inside a branch that requiresactiveAppto be truthy, therefore the'home'literal can never become a storage key;enablePinning={!isMobile}sits at:524, inside that same app branch — the home branch still does not wire it, as fix(app-shell): /home 的 Administration 组改由 NavigationRenderer 渲染,9 个系统管理入口恢复可达 (#3609) #3630 intended;:638/:644, where the comment quotes bothuseNavOrder(activeApp?.name || 'home')and the branch condition. That comment is the reason this card is afindingrather than a trap: the next reader is warned in the file itself.Why hold rather than promote. The card's two repair directions are not two ways to do one thing — they are the two outcomes of an unmade product decision (should
/homenavigation be user-reorderable and pinnable at all?), and they point in opposite directions in the same file. Direction 1 deletes the fallback and moves the hook inside the app branch; direction 2 keeps it and makes the key context-derived (context === 'app' ? activeApp?.name : 'home'). Queueing this today would hand a dev a card whose acceptance criteria depend on an answer nobody has given, and the tempting "just delete the dead fallback" reading is the one that quietly forecloses direction 2.Why not
needs-user-decisioneither. Nothing is broken and nothing is asked of the maintainer yet: today's state is symptom-free dormant code behind an accurate comment. Escalating a question whose answer only matters if someone decides to build the feature would put a null decision in the inbox. The moment that changes is written into the restart conditions.Why not close as not-planned. The second half is a real latent defect, not cosmetics: in the home context
activeAppresolves toactiveApps[0]— whichever app happens to sort first in the deployment — so wiring pin/reorder onto the home branch makes home navigation read and write another app's__root__ordering, and re-ordering the app list silently changes the home sidebar. That is cross-context key bleed with a user-visible symptom, and it is one line of wiring away.Restart conditions — any one promotes this to
pm:queue:enablePinning/enableReorderonto the home branch — at that instant the dormant bug becomes live, and the storage key must be fixed in the same PR, not after it. This is the condition to watch: it is a one-line change that looks like an obvious omission, which is exactly why fix(app-shell): /home 的 Administration 组改由 NavigationRenderer 渲染,9 个系统管理入口恢复可达 (#3609) #3630 left a comment at:638–:644instead of a silence.useNavOrder(...)where only the app branch evaluates it and drop the misleading|| 'home', so "app-only" is visible in the code rather than only in a comment.No
domain:*— objectui is a whole-repo seat. Not a transfer: single file inpackages/app-shell, nopackages/specface, not cross-repo.Dedup — this repo and both siblings, open issues and PRs, on
useNavOrder,objectui-nav-order,UnifiedSidebarstorage key, sidebar nav order / pin. No duplicate; #3609 / PR #3630 is the discovery site and the only related card.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
os-zhuang commentedon Aug 9, 2026
Findings triage (re-verification round) — HOLD confirmed,
findingretained.Premise re-checked on
origin/main@cdc0e44:useNavOrder(activeApp?.name || 'home')still atpackages/app-shell/src/layout/UnifiedSidebar.tsx:201;enablePinning={!isMobile}has drifted to:534but remains inside thecontext === 'app' && activeAppbranch (conditional read in context) — the home branch is still not wired, exactly as PR #3630 intended, and the warning comment survives at:653-654. None of the three restart conditions has fired (no home-branch wiring, no fixed-navigation ruling, no second sidebar context). Hold stands unchanged.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 10, 2026
Triage (findings pass): held, premise re-verified on
origin/main@c29ceff— grade unchanged, no ownership taken.UnifiedSidebar.tsx:198(… || activeApps[0]) and:201(useNavOrder(activeApp?.name || 'home')); the in-file comment at :654 still documents the deliberate non-wiring of the home branch.enablePinning/enableReorderinto the home branch.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 10, 2026
Findings triage: HOLD.
Re-verified @ objectui
origin/main564252c: the fallback is live atpackages/app-shell/src/layout/UnifiedSidebar.tsx:201(useNavOrder(activeApp?.name || 'home')) and the PR #3630 comment documenting the deliberate non-wiring is at:654. Both halves unchanged: the'home'literal is unreachable for any consumer of the ordering result, and wiring home pin/reorder as-is would key on the deployment's first app. Held because the exit is a product call — whether home navigation should be sortable/pinnable at all — not a mechanical fix.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 11, 2026
Findings round (quota re-verification): HOLD maintained (
findingunchanged). Re-checked @origin/maina9a67ec: the fallback drifted toUnifiedSidebar.tsx:205(useNavOrder(activeApp?.name || 'home')) and the deliberate-non-wiring comment to:664— both live, both halves unchanged ('home' literal unreachable for ordering consumers; wiring as-is would key on the first app). Exit remains a product call on home-nav sortability; held.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
os-zhuang commentedon Aug 11, 2026
Findings cadence (triage seat): HOLD — premise re-verified on
origin/main@6d01319:useNavOrder(activeApp?.name || 'home')still resolves the storage key from the first app in the home context (packages/app-shell/src/layout/UnifiedSidebar.tsx:206, second site:306; note the file moved fromconsole/tolayout/since filing — content unchanged, and the inline comment at:665now discusses exactly this fallback). The|| 'home'arm remains effectively unreachable as filed. Held: observation on storage-key semantics, no user-visible wrongness beyond pin/order following the first app; exit rides the next nav-persistence rework.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
os-zhuang commentedon Aug 11, 2026
Findings cadence (triage seat): HOLD — re-verified @
origin/main6044d13:UnifiedSidebar.tsxstill keys nav-order/pin storage onactiveApp?.name || 'home'(:206, :306), so in the home context the key still resolves to the first app and the'home'fallback remains unreachable — the file's own comment at :665 documents the shape. Cosmetic/latent (a user's home-context reorder rides on the first app's key); nothing newly user-visible.findingstands. Restart unchanged: any home-surface nav rework, or a user-visible mis-scoped reorder report.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
os-project-manager commentedon Aug 17, 2026
Triage (batch first-touch round, 2026-08-17):
finding→pm:on-hold— state transition of the standing 2026-08-08 HOLD (latent cross-context key-bleed; live only if pin/reorder gets wired onto the home branch, which PR #3630 deliberately did not do). Premise re-verified this round:UnifiedSidebar.tsx:206fallback intact, home branch still unwired (:545/:547inside the app branch, deliberate-non-wiring comment at:664). Note a seconduseNavOrdercall site now exists (:306) — include it in any fix.Restart-when:
enablePinning/enableReorderappear outside thecontext === 'app'branch ofUnifiedSidebar.tsx, or a product ruling on /home reorderability landsGenerated by Claude Code
os-zhuang commentedon Aug 23, 2026
Triage:
domain:ui(lane only —pm:on-holduntouched). Landing:packages/app-shell—UnifiedSidebar's nav-order/pin storage-key resolution in the home context.Routed via the maintainer direct-dispatch channel, this session, verbatim: 「然后 批 4–5」. PM session
session_0124Qg8rLvpXnQDwCmpKUmaJ. objectui three-stream split (maintainer 2026-08-21); not a Routine triage fire — the triage seat may re-grade.Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
关闭
not_planned—— 维护者同意:今天没有任何症状,提醒已经写在代码里分诊席(
session_01Tw7jnJinGHvoGSi8aFkhPJ,objectstack 座位贴 #6015),2026-09-24T11:00Z。objectui 清理第七批(#8587 的挂起卡一次性清点):本席读完了卡面和评论(9 条,全部读到),并在本地 main(62597c5)上重新测量,把建议报给维护者。维护者答:「objectui 第⑦批 同意」。本卡说的是什么
UnifiedSidebar用useNavOrder(activeApp?.name || 'home')生成导航排序和置顶的存储键。|| 'home'这个兜底不可达。如果将来有人给/home的导航接上置顶或排序,首页就会读写"第一个 app"的键,两处设置会互相串用。本席实测(本地 main
62597c5)packages/app-shell/src/layout/UnifiedSidebar.tsx:210。enablePinning(:549)和enableReorder(:551)仍只在 app 分支里(:471),首页分支没有接。⇒5310785683的重启条件没有发生。:657-663有一段注释,专门提醒下一个想接这个功能的人:存储键会落到第一个 app 上。为什么关
今天没有任何用户可见的症状。真正会出问题的那一行改动旁边已经有注释提醒,比挂着一张卡更能拦住人。要不要让首页导航可排序,是一个还没提出的产品问题。
什么时候重开
首页导航接上置顶或排序时,或者有了"首页导航是否可排序"的产品裁定时重开。届时按卡面两个方向中对应的一个处理(
5223733036已写明)。标签:摘
pm:on-hold;以not_planned关闭。Generated by Claude Code