2026-07-13-w30-q3b-q4-contract-owner
⟦tag:v2|task|2026-07-13-w30-q3b-q4-contract-owner⟧
kind: task
id: 2026-07-13-w30-q3b-q4-contract-owner
lane: W30-Q3B-Q4-contract
title: Core UI 与 Story Editor 类型残差恢复长工(无时间门)
objective: 在不触碰 App/R10 文件锁和不改变 UI/剧情行为的前提下,连续清零 Q3-B 8 条与 Q4 7 条类型错误。
scope: SideCardsRow.tsx,src/components/AppHeaderBar.tsx,DesktopConsolePanel.tsx,PortraitWorkspacePanel.tsx,WarningTab.tsx,src/data/eventTables/storyline-guo-lu-pilot.ts,tools/剧情编辑器/**,types_append.ts 及这些错误的直接 type/helper owner。
worker threadId: 019f5a67-ad05-7f90-8bf7-7e61b3a8229c
current state: verified / callback absorbed
blockers: none;Q3-B/Q4 文件锁已释放。
next action: none;全仓仅剩 Q3-A 5 条。
callback absorbed:
- thread:
019f5a67-ad05-7f90-8bf7-7e61b3a8229c - result:Q3-B
8 -> 0,Q47 -> 0,另清除被遮蔽的sourceTable漂移 - verification:主项目 build PASS,剧情编辑器 lint/build PASS,
test:w2939/39,diff-check PASS - boundary:
src/App.tsx与src/types.tsAuction 段未触碰
prompt
角色:[长工]#W30-Q3B-Q4类型残差恢复@v1.0
单一 Goal:连续清零不依赖 src/App.tsx 的 15 条类型错误,Q3-B 与 Q4 各自保留独立验证证据。
Q3-B 已确认 8 条
- 根目录
SideCardsRow.tsx:2 条错误 import。 src/components/AppHeaderBar.tsx:1 条ImportMeta.env类型。DesktopConsolePanel.tsx:1 条 untyped generic call。PortraitWorkspacePanel.tsx:2 条 FailureEventEffect export / getPortraitLogTone owner。WarningTab.tsx:1 条 BondStates 初始化。src/data/eventTables/storyline-guo-lu-pilot.ts:1 条drops静态契约。
Q4 已确认 7 条
tools/剧情编辑器/src/components/QuestTimeline.tsx:2 条 unknown 数值收窄。tools/剧情编辑器/src/data/defaultQuests.ts:1 条 REAL_QUESTS 导出漂移。tools/剧情编辑器/vite.config.ts:1 条 Vite 类型来源冲突。- 根目录
types_append.ts:3 条 StaffId 未解析。
执行边界
- 先确认每个符号的唯一 owner;修 import/export/type contract,不复制业务实现。
- UI 只渲染,helper 复用
src/utils/**;数据 type 留 data/types owner。 types_append.ts不得删除或 exclude 掩错;若保留在编译面,接入真实StaffIdtype owner。- 不改页面布局、视觉、玩家文案、剧情内容、任务数值或 Vite 主工程依赖版本。
- 严禁触碰
src/App.tsx,src/components/multiplayer-lobby/**,Auction,Buff,handoff index/shortlist 和计划文档。 - 若直接 owner 超出 scope,最多扩 4 个文件并在回执逐项说明;不得扩大成泛化重构。
验收
- Q3-B
8 -> 0,Q47 -> 0。 - 相关最小回归/类型检查通过;工具域能独立 typecheck 时一并执行。
cmd /c npm run buildPASS。cmd /c npm run test:w2939/39 PASS。- 全仓 lint 不新增;以目标 15 条全部消失为硬证据。
- targeted
git diff --checkPASS。 - 回执分列 Q3-B/Q4 实际文件、验证和残余风险。