boardx / boardx/workspacex

C1 子判据④「刷新后仍在」未被单独证伪过——缺 hydrate 路径的缺陷形状

Open
#3,298 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

复核(实测 SHA `93a86d75665aac8ec96abfcd305ab3850d1783f7`)确认 @path:C1 整体**可证伪**:抹掉回环替身 human message 的 `id` 会把断言从绿打成红(`Expected: 3 / Received: 0`),证明 `readTurnReply` 运行时走 anchor 分支而非静默 fall back。

但复核方如实交代了一处**未证到同等强度**的子判据:

- 子判据 ④「刷新后画布仍在」**从未被单独打红过**。
- 原因是结构性的:②③④ 读的是同一行 `chat_messages`,任何落在这条共享持久化路径上的缺陷都会**先把 ② 打红**(注入 B「产品代码里 `readTurnReply`→`readFinalReply`」与注入 D「落库那步剥围栏」两次实测都印证了这点)。
- 唯一能单独红 ④ 的缺陷类是:**hydrate-on-reload 这一段单独丢围栏,而实时渲染不丢**。需要在前端 hydrate 路径上另造一个形状,本次没造。

这正是本仓反复吃亏的那个形状——「集合相等看不见共同缺失」「替身产不出缺陷的形状」:④ 现在的绿,一部分是搭 ② 的便车。

**待办**:在前端 hydrate 路径上造出「重载时丢围栏、实时渲染不丢」的缺陷形状,确认 C1 的 ④ 断言因此单独变红,再撤掉确认恢复绿。三步齐了才算 ④ 有判别力。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the C1 assertion and trace the frontend hydrate-on-reload path around readTurnReply and readFinalReply, using the shared chat_messages persistence path as context. Create a defect shape where reload hydration loses the boundary while real-time rendering does not; the C1 subcriterion ④ should turn red, then removing the defect should restore green.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, testing
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.