Skip to content

Web 端未对齐 PR #655 的验收事件清理,残留失效 verification 协议并保留无效展示链路 #656

@Yumiue

Description

@Yumiue

关联 RFC / 架构

  • 关联变更:PR pref(runtime):清理验收重构后的残留 verify 死代码 #655 pref(runtime):清理验收重构后的残留 verify 死代码
  • 当前问题:
    • runtime 已删除 verification_started / verification_stage_finished / verification_finished
    • Web 端协议和状态管理仍保留这三类旧事件及其展示链路
    • 当前仓库处于“runtime 已切到 Accept Gate,Web 仍保留旧 verifier 中间态模型”的半清理状态

实现设计(How)

  • 关键改动点:
    • 清理 Web 协议层对已删除 verification_* 事件的残留定义
    • 按方案 A 彻底移除旧 verification 中间态展示链路,不再保留依赖 VerificationStarted 的 history/message/store 逻辑
    • Web 端后续只消费当前仍有效的最终态事件:
      • verification_completed
      • verification_failed
      • acceptance_decided
  • 影响模块:
    • web/src/api/protocol.ts
      • 删除失效事件常量:
        • EventType.VerificationStarted
        • EventType.VerificationStageFinished
        • EventType.VerificationFinished
      • 删除失效 payload 类型:
        • VerificationStartedPayload
        • VerificationStageFinishedPayload
        • VerificationFinishedPayload
    • web/src/utils/eventBridge.ts
      • 删除对上述 3 个事件的分支处理
      • 删除仅服务于旧 verification message 同步的辅助逻辑,避免保留无生产来源的状态更新链路
    • web/src/stores/useRuntimeInsightStore.ts
      • 删除仅服务于旧 verifier 中间态的状态和方法,包括但不限于:
        • verificationRunning
        • verificationStarted
        • verificationStages
        • verificationFinished
        • verificationHistory
        • startVerification
        • upsertVerificationStage
        • finishVerification
      • 保留当前仍有 runtime 来源的最终态数据:
        • verificationCompleted
        • verificationFailed
        • acceptanceDecision
    • 测试文件同步收敛到新模型:
      • web/src/utils/eventBridge.test.ts
      • web/src/stores/useRuntimeInsightStore.test.ts
  • 边界与非目标:

任务拆解

  • 删除 web/src/api/protocol.ts 中已失效的 verification_started / verification_stage_finished / verification_finished 事件定义与 payload 类型
  • 删除 web/src/utils/eventBridge.ts 中对这 3 个旧事件的处理分支
  • 删除 web/src/stores/useRuntimeInsightStore.ts 中仅服务于旧 verification 中间态的状态、类型和 action
  • 清理所有依赖 verificationHistorystartVerification()finishVerification()upsertVerificationStage() 的调用和残留同步逻辑
  • 更新 web/src/utils/eventBridge.test.ts,移除围绕旧 verification 中间态事件的测试
  • 更新 web/src/stores/useRuntimeInsightStore.test.ts,移除围绕旧 verification history 的测试
  • 补充/保留围绕 verification_completedverification_failedacceptance_decided 的有效测试,确保最终态事件仍可正常落到 Web 状态层

测试与验证(Done)

  • 正常路径
    • Web 构建通过
    • 已不存在对 verification_started / verification_stage_finished / verification_finished 的引用
    • verification_completed / verification_failed / acceptance_decided 事件仍能被正确消费
  • 边界条件
    • 在未收到任何旧 verification 中间态事件的情况下,Web 不会创建无效 history/message/store 状态
    • 删除旧状态后,现有页面/面板不会因读取空字段或已删字段报错
  • 异常分支
    • 事件桥接层在收到未知或缺失 payload 的 runtime 事件时不崩溃
    • 测试中不再假设 runtime 会发出已删除的 verification_started / verification_stage_finished / verification_finished

风险与回滚

  • 风险:
    • Web 某些组件可能仍隐式依赖 verificationHistory 或旧 verification message 数据结构,清理后会暴露隐藏耦合
    • 测试删除过程中可能遗漏实际仍被 UI 消费的字段
  • 回滚方案:
    • 若发现仍有 UI 依赖旧 verification 中间态,可先回退到“只删除协议暴露、保留内部兼容状态”的最小变更,再单独拆 issue 清理 UI 依赖

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions