boardx / boardx/workspacex

ruling(rubric): V-P 评的 PersonalChatScreen 已不是裸 /chat 的落地屏——判据里「默认落地屏」那句已过期,真落地屏无人评分

Open
#2,311 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.