Covers
AC1、AC5(父票 #653 )。基线(rev3)小节:§1.1 / §1.4 / S1 / §4 序 3。
Boundary
packages/ui-mac/src/renderer/sidebar/alpha-sidebar.tsx —— newChat() 与冷启动落地(didLaunchNav)收敛到单一 startDraft({ server, directory })
packages/ui-mac/src/renderer/alpha-ui/providers.ts —— 转口 useTabs / useServer(ADR-016 借用面单点)
packages/ui-mac/src/renderer/sidebar/use-projects.ts:284-299 —— ensureDefaultWorkspace 检查 {ok:false} 返回值(IPC 不 throw,main/ipc.ts:186-189)
Out of scope
新对话页 UI 与工作区选择器([REQ-126][CODE] 新对话页加回工作区选择器,并在切目录时保住已输入内容 #657 )
/:dir/session 路由本身:保留 给深链兼容(packages/app/src/pages/layout/deep-links.ts:77-86),本票只保证 alpha 入口不再进它
远端 server 的默认工作目录语义(fail-closed 即可,真需要另立需求)
改上游 packages/app(触 UPSTREAM_PATHS)
Exit condition
合并 PR + bin/check 绿。可观察结果:
点「新对话」与冷启动落地都不经 session-admission;
等 tabs.ready() 后再建 draft;
{server, directory} 同源 :宿主机默认对话目录 ~/Alpha(main/alpha-user-workspace.ts 供给)只配本地 sidecar server;当前 server 为 WSL/remote 时只能用该 server 上已知项目,取不到则要求显式选择 —— 不得把宿主机路径配到远端 server;
连点两次只产生一个 draft;
未显式选择目录时目录 = 默认对话目录,建 draft 前 先 ensure,ensure 失败有提示且不建 draft。
闸门形制(基线 §3.7):挂真实 AppInterface + AlphaSidebar,点新对话后断言在 data-alpha-new-session 出现之前从未出现 legacy sidebar 或 session workspace DOM。
实现第一步 :先运行时捕获(DOM mutation / 逐帧)确认 owner 看到的「最左侧内容」到底是 legacy SidebarContent 还是 alpha session workspace 空态 —— 基线把归因标为 UNVERIFIED,不要把推测写成结论。修法对两者都成立。
Parent
Refs #653
Covers
AC1、AC5(父票 #653)。基线(rev3)小节:§1.1 / §1.4 / S1 / §4 序 3。
Boundary
packages/ui-mac/src/renderer/sidebar/alpha-sidebar.tsx——newChat()与冷启动落地(didLaunchNav)收敛到单一startDraft({ server, directory })packages/ui-mac/src/renderer/alpha-ui/providers.ts—— 转口useTabs/useServer(ADR-016 借用面单点)packages/ui-mac/src/renderer/sidebar/use-projects.ts:284-299——ensureDefaultWorkspace检查{ok:false}返回值(IPC 不 throw,main/ipc.ts:186-189)Out of scope
/:dir/session路由本身:保留给深链兼容(packages/app/src/pages/layout/deep-links.ts:77-86),本票只保证 alpha 入口不再进它packages/app(触UPSTREAM_PATHS)Exit condition
合并 PR +
bin/check绿。可观察结果:session-admission;tabs.ready()后再建 draft;{server, directory}同源:宿主机默认对话目录~/Alpha(main/alpha-user-workspace.ts供给)只配本地 sidecar server;当前 server 为 WSL/remote 时只能用该 server 上已知项目,取不到则要求显式选择 —— 不得把宿主机路径配到远端 server;闸门形制(基线 §3.7):挂真实
AppInterface + AlphaSidebar,点新对话后断言在data-alpha-new-session出现之前从未出现 legacy sidebar 或 session workspace DOM。实现第一步:先运行时捕获(DOM mutation / 逐帧)确认 owner 看到的「最左侧内容」到底是 legacy
SidebarContent还是 alpha session workspace 空态 —— 基线把归因标为 UNVERIFIED,不要把推测写成结论。修法对两者都成立。Parent
Refs #653