ruling(rubric): V-P 评的 PersonalChatScreen 已不是裸 /chat 的落地屏——判据里「默认落地屏」那句已过期,真落地屏无人评分
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 判据与实现已经错位,需要人类裁一条
`.harness/rubrics/chat-main-fidelity-rubric.md` 的 V-P 一节(第 14-18 行)写着:
> `PersonalChatScreen`(不带 projectId 的个人对话)……
> ⚠ 这条很重要——`/chat` 不带 projectId 是**人类在 devapp 上的默认落地屏**。
**这句话今天已经不成立了。** 实测 SHA `2ddc3e0df28562eb5ec5e020a857ad4509f6289b`,
`apps/web/app/chat/page.tsx:38-40`:
```tsx
if (projectId === null && threadId === null) return ;
if (projectId === null) return ;
return ;
```
即:**裸 `/chat`(人类真正的落地屏)现在渲染的是 copilotkit-v2 壳,不是 `PersonalChatScreen`**。
`PersonalChatScreen` 只在 `/chat?thread=` 或显式回退入口 `/chat/legacy` 上出现
(`apps/web/e2e/chat-read.spec.ts:310` 那条测试逐字锁死了这个入口形态)。
取证脚本也是这样走的:`apps/web/e2e/chat-main-shots.spec.ts:205` 先 `goto("/chat/legacy")`,
所以 V-P 的 19 张截图里那 11 张个人对话图,拍的是 **legacy 屏**。
## 后果
V-P 这条 track 现在评的是一个**人类不会落到的屏**。它评到 10/10 也不代表人类打开 devapp
看到的那一屏是 10/10——而 copilotkit-v2 壳(真正的落地屏)**没有任何一条 V 系判据在管它**。
这正是 AGENTS.md 那条「静态痕迹 ≠ 动态事实」的形状:判据里那句「这是默认落地屏」写得很具体、
读起来很权威,但它描述的是写下它那天的路由,不是今天的路由。
## 请在这三条里裁一条(ADR-023:设计口径只有人能改,评分员不自行改判据)
- **A. 判据跟着实现走**:V-P 的被评对象改成裸 `/chat` 渲染的 copilotkit-v2 壳,
`PersonalChatScreen`/legacy 退出评分范围(它是灰度回退路径,DA-19h 之后本就要删)。
代价:P1「与 ChatReadScreen 的壳一致」要重新对照 `copilotkit-v2-shell.tsx`,历史 10/10 作废重评。
- **B. 实现跟着判据走**:把裸 `/chat` 改回 `PersonalChatScreen`。代价:等于回退 v2 灰度落地决策,
与 `chat-read.spec.ts:310` 锁死的入口形态冲突。**不建议**,这里只是列全。
- **C. 加一条 track**:V-P 保留评 legacy 屏,另起一条 track 评 v2 落地屏。
代价:两条 track 评两个高度重合的屏,和评分卡自己反对的「同一件事两做」相冲。
我倾向 **A**,但这是产品口径不是工程判断,不自行决定。
## 附带的小事实(不单独开 issue,记在这里)
`PersonalChatScreen` 的左栏**不渲染「今天/本周」时间分组标签**(`personal-chat-screen.tsx:232`
把 `threads.groups` 直接 `flatMap` 平掉了),而 `ChatReadScreen` 与 `copilotkit-v2-shell.tsx:629`
都渲染分组标签。截图对照:`chat-main-default.png` 左栏有「今天」,`chat-main-personal-created.png` 没有。
P1 判据只点名了「栏头 / 新建入口 / 会话卡(含副行格式)」三项,这三项确实逐组件一致,
所以本轮 P1 仍记 1;但如果裁决走 A,这条差异就自动消失了。
Contributor guide
No contributing guide indexed for this repository
Research direction
Read .harness/rubrics/chat-main-fidelity-rubric.md alongside apps/web/app/chat/page.tsx:38-40, apps/web/e2e/chat-read.spec.ts:310, and apps/web/e2e/chat-main-shots.spec.ts:205. First obtain the human decision required by ADR-023 among options A, B, and C; done means the rubric, evaluated route, and referenced screenshot or test evidence agree with that decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- documentation, frontend
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100