15-exec-batch2-panel-tokens.md 26 KB

执行-批次2:面板视觉 token 替换

进度

已关闭:维护者反馈接受,专项与结构回归通过;build/debug/browser/截图和线上联调按项目规则未执行,t06四项资产工具链失败及t18/t20既有失败已原样记录。

Type: execution Status: resolved Assignee: Codex Label: ready-for-agent Blocked by: None Category: execution

What to build: 按蓝湖主画板正式值替换视觉 token(底色/面板、主色、语义色、文字、字号、间距);必要时新增带消费点的语义 token;组件内散落的裸色值/裸尺寸按规格 03 的规则清退或局部 token 化。本批是批次 3(位置符号)的前提——外层母版着色读取 token 色值。

引用规格(单一决策事实来源)

进入自查(开工前逐项确认,记录进本票证据区)

  • 主画板(或设计方确认的全局规范)已提供 token 值;无确认值的项目标记「维持现状」。
  • 差异判断表自查:最终范围包含维护者直接授权的可读性、图表、状态提示与故障修复;四模式/16面板/业务状态集合保持,详情和图片交互改动见最终 Answer。
  • 本批结构保护断言通过;不把旧 t06 全域资产断言的剩余失败写成全绿。

验收清单

实现者自测(纯逻辑 + 静态检查):

  • token 静态专项检查通过,含新增四状态/四行业色声明唯一与消费点;局部布局与装饰规则不冒充全局主题。
  • 主画板基线已引用;维护者要求的颜色、尺寸、磨砂与字号偏差登记在唯一缺口清单。
  • 四模式 / 16 panelId、图例与标记一致性、事件/设备/锚定回归通过;反向用例验证判据能失败。
  • 专门的1280×720终稿复验未在本轮执行;不以历史截图尺寸代替实际视口证明。

维护者走查(真实 /cockpit):

  • 每模式对照截图归档与qiankun宿主验收仍留给终稿阶段,本批不声称完成。
  • 本批观感签收:维护者本轮反馈「基本上没有什么问题了,再检查一遍就可以准备票#15收口」;最后离线检查完成后按该授权关闭。

缺口登记:

执行记录

阶段闸门判定(开工前)

  • 本票无 needs-triage 标签(Label: ready-for-agent),Blocked by: None,属未动工的执行票 → 直接进入「进入自查 → 实施」路径,无需诊断阶段。
  • 已认领:Status: ready-for-agent → Status: claimed(见票头)。
  • 上游依赖核对:本票 Blocked by: None;规格 03(token 映射规则)、规格 09(manifest,本批若引入资源化装饰才用)、规格 12(差异判断表)均 ready-for-agent/已发布,可引用。

进入自查

  • 主画板(或设计方确认的全局规范)已提供 token 值;无确认值的项目标记「维持现状」。
    • 蓝湖 2026-10-12 版(v3/v4)9 画板已全量机器提取,色板/字号/间距/面板形态见批次 2 事实基线(脚本 probe-v2-palette.mjs 等 9 支只读脚本,数据源 research/raw-v2/)。
    • 主画板判定:Desktop-6「总体概览」(1440×751,一级模式 overview 的默认落地页,含品牌位 + 四个 KPI + 中央一张图)为主画板;全稿 60 色中前 13 色在 9/9 画板同时出现,画板间冲突极小,主画板取值即为全局值。
    • 无设计稿对应物的项目(紫色/浅蓝新增槽位、装饰性一次性渐变)标记「维持现状 / 不新增」,见下方取值表。
  • 差异判断表自查:本批涉及的差异逐项分类。
    • 逐类对照(规格 12 七类):视觉资产—无(本批不引入素材);布局尺寸—命中 2 项(--u 设计基准 1920→1440、--column-w 300u→347u),按判断表默认归视觉放行,栏数/面板数量/顺序不变;信息层级—未触碰(面板数 4/模式、16 panelId、栏内顺序全部不动);组件状态—未触碰状态集合,仅改状态色值(色键 lv1..lv4/neutral 词表冻结);地图/设备语义—未触碰(仅 --cyan 等色值被地图标记读取,形状与锚点不动,那是批次 3);数据契约—未触碰;交互行为—未触碰。→ 无结构项,无需升新票。
    • 已裁决区核对:本批不触碰 EMPTY 点位、未关联设备、锚点/尺寸、核心资源组成员,不重开任何既有裁决。
  • 既有结构断言面全绿。
    • t01-panel-catalog.mjs 通过(4 模式 / 16 面板 / 收放 / 筛选 / 地图生命周期 / Cesium 基址)。
    • t06-assets.mjs 4 项失败,均为批次 1 遗留欠账、与本批无关:C2(地图占位文案已迁出 MapCanvas)、C3(brand 已改 PNG 无 viewBox)、C5(CockpitIcon 引用面变化)、D2(panelCatalog 新增 PANEL_ICONS)——全部由批次 1「图标全面应用」引入且当时已走查签认;t06 断言面未随批次 1 更新。本批修掉了 t06 因 Node 24 而跑不起来的问题(runtimeAssets.js 的 JSON import 补 with { type: 'json' })。

实施记录(2026-10-12)

实施中并入两路并发会话的已落地成果(同一批维护者走查反馈):批次 1 的字号整体 +1px 可读性上调(--fs-caption 11.5u / --fs-body 14u / --fs-title 15.5u / --fs-heading 18u,经维护者确认沿用为基准)与批次 4 的 Web 字体注入槽位(--font/--num 前插 Noto Sans SC Subset/Rajdhani Subset)。

token 取值表(tokens.css 唯一声明)

token 旧值 新值(设计稿依据)
--u clamp(1px, 0.0521vw, 2px)(1920 基准) clamp(1px, 0.0694vw, 2px)(1440 基准,9/9 画板全 1440 宽;下限保 1px → 1280/1440 视口字号不变)
--bg-0 #01060d #010514(9 画板根填充一致)
--panel-top rgba(12,48,86,0.58) rgba(2,9,27,0.28)(面板底 #02091b@0.28)
--panel-mid(新增) — rgba(0,53,156,0.2)(九停渐变首停 #00359c@0.34 近似归并)
--panel-bot rgba(3,14,28,0.9) rgba(0,15,52,0.38)(渐变末停 #000f34@0.38)
--panel-line rgba(58,170,226,0.3) rgba(1,171,234,0.35)(45 个 Panel 节点唯一边框 #01abea@0.35)
--panel-line-hi rgba(96,220,255,0.85) #01abea
--inset rgba(2,10,20,0.55) rgba(0,31,92,0.5)(内嵌容器 #001f5c@0.50)
--cyan #4fd8ff #01abea(281 处强调主色)
--cyan-hi(新增) — #00b8ff(59 处选中提亮;消费点=模式钮未选中/标题竖条顶)
--cyan-d #1b93cf #009de9
--lv1 #ff4d5e #ff3b52(状态词实测「报警」)
--lv2 #ffa63d #ffb020(「预警/处置中」)
--lv3 #4fd8ff #01abea(「进行中/待接单」)
--lv4 #35e39a #27d17a(「正常/在线」)
--neutral #6d92ae #5680b0(「离线/无数据」)
--text #e6f5ff #d7ecff(17px 面板标题实测)
--text-2 #a8cbe2 #88b7e8(12px 正文实测)
--text-strong(新增) — #ffffff(选中态/KPI 数值;消费点=color:#fff 全部清退落点 + KPI 值)
--muted #6d92ae #5680b0(10px 辅助实测)
--fs-kpi(新增) — calc(20 * var(--u))(设计稿 KPI 20px Rajdhani;消费点=.panel-kpi__value 系列)
--column-w 300u 347u(设计稿左右栏 Panel 宽全部 347)
--shadow rgba(0,0,0,0.55) rgba(0,7,26,0.55)(设计主阴影色 #00071a)

清退统计(3 轮机械替换 + 手工复核)

  • 主题色字面量 → var() / 设计稿同族色:321 处(16 组件 + mapService)
  • 旧蓝灰组件底色族 → 设计稿深蓝族(含 hover/active 推导态):53 处
  • 模式钮激活渐变/品牌渐变/状态点等收尾:9 处
  • 裸字号归并语义档(9–15u → caption/body/title):21 处;KPI 值接 --fs-kpi
  • 残留复查:旧 token 值字面量在面板域 0 命中(fog.js 的 HSV 论据示例色、cesiumEngine.js 地图域按归属保留)

专项断言面(新增,可复跑)

node .scratch/lanhu-cockpit-asset-replacement/verify/batch2-token-check.mjs → 10/10 通过:A1 token 唯一声明 / A2 设计稿新值落地 / A3 新增 token 均有消费点 / A4 --fs-metric 未提交 / B1 旧字面量清零 / B2 裸字号归并 / B3 #fff 清退 / C1 --u 下限 1px / C2 非 :root / C3 字体槽位保留。

历史浏览器记录(本轮纠正证据口径)

此前记录称窗口1280×720;实际记录中页面视口约1267×537、截图1584×672,因此不能作为实际1280×720终稿验证。历史截图和控制台叙述不替代本轮证据,也不代表最新八项反馈版本已完成浏览器复验。最终采用本轮维护者人工反馈与离线回归结果;专门截图/宿主签收留给终稿。

明确不做(按规格 03「无消费点不提交」与差异判断表)

  • --fs-metric(设计稿 25px 大号指标):面板结构无对应消费点,不设槽位(A4 断言钉住)。
  • 紫色 #a970ff/#8f8cfc/#9469f2 与浅蓝 #b9e8ff/#80bcff/#c1d5ff:设计稿中为历史分析/预警分析按钮图标与标题亮色,现组件无独立消费点;#b9e8ff 仅作为模式钮底线近似值随清退使用,不设全局槽位。
  • 设计稿九停面板渐变简化为 top/mid/bot 三停 token 近似(首停/末停精确,中段归并);表头渐变 #00359c@0.23→透明 以 --panel-mid 近似。
  • --column-w 300u→347u:详情浮层宽 clamp(300px, 340u, 420px) 未随动(它锚定的是浮层自身可读宽度,非栏宽语义)。

证据区(最终收口记录)

  • 本轮证据:批次2最终收口复核;新增专项脚本最终离线验收和反馈回归,均已实际运行通过。
  • token专项10/10;T01通过;T09 38/38;T11 61/61;T13 49/49;T14 44/44;T19 16/16;T41 46/46;17个Vue SFC解析通过。
  • 已登记本批视觉偏差7条,唯一来源见缺口清单。
  • 维护者本轮确认观感基本无问题;本批按最后离线复核结果签收。没有新增专门1280×720/qiankun截图记录,未运行build/debug。

真实状态与后续边界

  • 本批实施、维护者反馈修正和最后离线复核已完成,按本轮授权关闭。最终答案见下方 ## Answer;下列迭代记录只作为历史,不能覆盖最终结论。
  • 后续位置符号批可使用定稿tokens;装饰批仍遵守其余依赖;整个地图保留实施索引。
  • 全域资产旧断言4项失败与终稿专门视口/宿主验证保留记录,未宣称全系统通过。线上历史和图片服务实际可达性不由本轮离线检查证明。

维护者第二轮反馈优化(2026-10-13,四项全部落地)

维护者走查后提出四项面板视觉优化,逐项处置:

1. 栏宽收窄 5%、设备详情加宽

  • --column-w 347u→330u(收窄 5%,中央一张图让出视野);上限 480→460px 同步收。
  • 设备详情浮层 .cockpit-shell__detail 340u→380u、上限 420→460px(维护者反馈「设备详情面板太窄」)。

2. KPI 读数逐项带图标

  • domain/panelBlocks.js 新增 KPI_ICONS 映射表:按 KPI key 的语义词映射(设施底数=楼宇、监测规模/设备=立方体、监测点=水滴、在线率=波形、当前预警=预警、当前报警=危险、处置率/已处理=对勾、时长=历史、管线里程=管线、应急资源=资源……),一张表覆盖全部 12 处 kpiBlock 调用点;kpiBlock() 自动为每项注入 icon,未命中的 key 不画图标不抛错。
  • PanelBlocks.vue KPI 卡改为「图标+标签一行、数值一行」的两行网格;图标走 CockpitIcon(批次 1 的 17 枚正式切图,aria-hidden 不参与可访问命名),弱辉光与面板标题图标同档。
  • 纯逻辑验证:8 个 KPI 全部命中图标,未知 key 返回空串。

3. 统计图表形态丰富(按维护者给的选型表逐点应用)

维护者选型 本批落地
时间趋势 → 折线 trendBlock() 新增 chart:'line' 形态:domain 算好 SVG polyline 点列(100×40 视框、x 均分、y 按最大值归一、0 值贴底线),组件画折线+数据点;<2 点自动退回柱列。已应用到 5 处时间趋势(态势总览两条 7 日趋势、运行监测预警/报警趋势、历史分析事件趋势、预警效率结案时长趋势)
多类别占比 → 百分比堆叠条 新增 stackedBlock():一根条按占比分段(domain 算好 start/宽度/色阶序号),0 计数行保留图例不占条宽;色阶在面板线色→主色间插值(color-mix),不占用状态语义色。已应用到 3 处工单状态分布(预警设置两族 + 预警效率)
类别比较 → 横向条形 既有 barsBlock 保持(已是横向条形、按数值降序由数据侧保证)
类别少占比 → 饼图/环形 既有 panel-pie(状态分布 ≤6 类)保持
分组构成 → 分组/堆叠柱 未落地:现面板数据无「行业×地区」双维分组的取数端点,属数据域扩展,不在视觉批内做(见下方「明确不做」)
  • 组件渲染分支新增 stacked 块(data-stacked-* 读数接缝);trend 块新增折线形态但保留原 data-trend-* 接缝(柱列读数不变,折线轴标签沿用 data-trend 属性)。

4. 滚动条统一 + 严格只竖向滚动

  • tokens.css 新增滚动条 token(--scrollbar-size/thumb/thumb-hover)与统一视觉块:.cockpit-shell * 上 scrollbar-width: thin + WebKit 细滚动条(6u、面板线色、hover 提亮主色、轨道透明、横向滚动条高度 0)。
  • 五个滚动容器全部改为只竖向:CockpitPanel__body / PointDetailCard__body / MapCoordinateBlocked__list / CockpitShell__status-details 由 overflow: auto 改 overflow-y: auto; overflow-x: hidden;筛选条芯片行的 overflow-x: auto 保留(滚动条本就 display:none,是隐藏式横滑设计非 UI 缺陷)。
  • 横向裁切防护:面板内网格列本就 minmax(0, 1fr),长编码/长词走 overflow-wrap: anywhere(MapCoordinateBlocked 嵌入态既有方案);本批全仓复查 overflow-x: auto/scroll 仅剩筛选条一处有意设计。

优化项验收(用户授权走查,1280×720)

  • 纯逻辑:trendBlock(line) 点列/退柱边界、stackedBlock 占比与色阶、kpiBlock 图标注入——三组断言脚本内验证通过;t01 全绿、batch2-token-check 10/10 全绿。
  • 真机(HMR 热更后):态势总览 KPI 卡图标全部渲染;预警效率「工单状态分布」呈堆叠条+图例;四模式无横向滚动条、控制台无 Vue 报错。

第二轮明确不做

  • 分组柱状图(选型表第 4 行):现端点无双维分组取数,落它需先扩数据域——归后续数据票,不在视觉批。
  • 「总体概览顶部总览数据卡片」指态势总览 KPI 卡,已全部带图标;alertSettings 的空值卡(—)同样带图标(图标表达示意,不表达数值)。

维护者第三轮反馈优化(2026-10-13,两项全部落地)

1. 行业语义色 + 分类可辨色(tokens.css 新增两组槽位)

维护者反馈「UI 及统计图表用行业语义进行颜色区分;单色系分不清类别」:

  • 行业语义色(取自批次 1 四枚行业切图主色,probe-industry-colors.mjs 实测):--industry-gas=#fe3b53(火焰红)/ --industry-water=#01abea(水滴青)/ --industry-drainage=#27d17a(雨滴绿)/ --industry-manhole=#a970ff(井盖紫)。与行业切图、行业筛选按钮、(批次 3 的)地图标记同一色源。
  • 图表分类色(--chart-c1..c8,全部取设计稿高频色):给无业务语义的类别(片区、建成年限、设备类型、事件类型等)一组可辨色,按行序取色。

2. 图表着色规则(barTone() 三级语义优先级)

domain/panelBlocks.js 新增 barTone(label, index) 纯函数,全部图表块统一走它:

  1. 行业行(燃气/供水/排水/窨井,含后端码 GAS/WATER_SUPPLY/…)→ 行业色——行业数据在任何图表里都是同一套颜色;
  2. 状态行(报警/预警/工单态/正常/离线/已结案…整词匹配,避免「预警分析」这类含字词误命中)→ 语义色键 lv1..lv4/neutral;
  3. 其余类别 → 图表色序 chart:N(按行序,同块内不重色)。

消费点:barsBlock 每行带 tone(条形图逐行着色,data-bar-tone 读数接缝);stackedBlock 分段/图例按 tone 着色(同块内同语义的多行——如工单四个待办态都是 lv3——用 shade 深浅区分,toneShared 由 domain 判定,组件纯函数消费);新增 donutBlock 同理。色值仍只在 tokens.css 声明一份(票 06 单一口径),组件只写 var() 引用。

3. 条形图减量(维护者反馈「太多了容易视觉疲劳,展示效果不直观」)

「类别占比、类别少」的场景按维护者选型表改环形图(中心读数合计、图例右置同色):

面板 原 现
基础设施 / 行业构成 · 设施 条形 环形图(行业色;图例行保留联动可点写全局筛选,action:'industry' 接缝不变)
基础设施 / 行业构成 · 智能设备 条形 环形图(同上)
基础档案 / 行业分类 条形 环形图(行业色)
监测分布 / 覆盖情况 · 行业 条形 环形图(行业色)
预警分析 / 按事件类型 条形 环形图(图表色序)
预警分析 / 按行业分布 条形 环形图(行业色;联动保留)
预警分析 / 按事件等级、按片区分布 条形 保留条形(排名比较场景)
基础档案 / 片区分布、建成年限;监测分布 / 片区、设备类型;监测概览 / 设备类型分布 条形 保留条形(多类别排名)

条形图现存 9 处(原 16 处),全部带语义着色;环形图 6 处;饼图 1 处(状态分布专用);堆叠条 3 处;折线 5 处。

4. 断言面同步(票 13「断言随迁移、对抗式确认」纪律)

  • t19-warning-response.mjs C3:bars ×4 → bars ×2 + donut ×2,16/16 全绿。
  • t20-overview-panels.mjs历史曾报7项失败;早期stash基线比对记录不能可靠证明与HEAD完全一致。本轮没有复做stash,亦不把该记录当成免责或全绿证据。
  • t18-monitoring-panels.mjs历史因REGION_MAP_GAP缺导出未能运行;本轮未以该记录证明最终版本通过。
  • 本批专项 batch2-token-check 10/10、t01 全绿。

5. 真机走查(1280×720,HMR 热更)

  • 基础档案「行业分类」环形图:燃气红/供水青/排水绿/窨井紫 + 中心合计 5283,图例同色,与行业筛选按钮一一眼可对应;
  • 预警分析「按事件类型」环形图(图表色序)+ 图例;预警效率堆叠条分段语义色;
  • 控制台无 Vue 报错、无资源 404。

第三轮明确不做

  • 面板标题栏按行业色的场景不存在(面板不隶属单一行业);地图标记的行业色归批次 3(规格 10 的内层图标着色规则已锁)。

Out of Scope

  • 位置符号素材(批次 3,依赖本批 token 值)。
  • 字体文件接入(批次 4)。
  • 面板结构/信息层级变更(结构——判断表升级路径)。
  • 按 AGENTS.md,实施时未经用户明确要求不运行 build/dev。

Answer

执行-批次2:面板视觉 token 替换已完成并收口。维护者多轮反馈后确认本批整体基本无问题;最终离线复核通过 token 专项、Vue SFC 解析、四模式/16面板、状态/设备/事件/详情/历史/锚定回归和反向失败用例。详细证据见批次2最终收口复核。

已交付的最终范围:

  • 深色视觉 token 统一:主色、面板背景、文字、字号、间距、行业色、分类色和四色点位状态色集中消费;面板提高不透明度并启用磨砂模糊,原设计与运行时可读性偏差登记于缺口清单。
  • 状态点移到面板标题行右侧,圆点保留无障碍/悬停详情;管线里程固定独占一行,其余短KPI保持并排;地图图例的图标、文字、计数位于同一信息框并可鼠标点击。
  • 当前事件列表保持全部业务字段并支持卡片式换行与悬停;事件详情靠当前预警面板右侧;设备精确定位优先使用已加载设备坐标,设备图层参与高亮和还原。
  • 7/30/90天选择改为真实起止时间;90天历史趋势按不超过31天的分窗合并并校验后端回显窗口,效率/多维接口的31天上限明确显示;趋势长序列按日聚合,全零/并列峰值标签不重叠。
  • 最新图片解析后端相对地址、显示加载/失败/重试并可点击放大;单数据饼图/甜甜圈使用完整双半圆,单类别有实际颜色填充。

真实边界:本轮运行了离线 Node 断言和 SFC/PostCSS 解析,没有运行 build/dev/debug、浏览器或截图,也没有进行线上接口与图片文件联调。t06 资产全域闸门仍有4项历史/工具链失败(地图占位旧文案、外部PNG的viewBox正则、panelCatalog注释误报、独立管段验证页未被源码引用),已原样记录,不能据此声称全仓全绿;它们不属于本批面板 token 交付。90天效率/多维统计仍受后端31天能力限制,线上历史完整性和图片服务可达性待真实环境确认。

Comments

local — 2026-10-13T07:42:04.580Z

维护者六项反馈已完成源码实施(未进行运行验收):1) 设备/点位详情锚定默认宽480px,上限560px并受画布宽约束,固定详情同步加宽;档案字段完整换行。2) SectionStateTag 收为可聚焦圆点,title/hover/focus显示原状态详情,保留无障碍文本。3) 长KPI跨列并换行,保留管线里程完整精度。4) 监测分布饼图与图例区分 OFFLINE银灰、EMPTY浅灰、UNKNOWN紫、UNASSOCIATED橙;其他状态和地图契约未改。5) 当前预警保留七字段及data接缝,窄栏改卡片排版,增加hover/focus反馈;事件详情从列表内迁至shell中央独立浮层,支持关闭/Esc。6) 历史范围切换显式显示所选窗口与更新状态,加载时隐藏旧窗口图表;ISO桶标签缩为月日/时分,最多四个均匀刻度;长序列只标一个峰值,避免全零/并列峰值标签堆叠。只读复核发现并修复峰值标签边界问题。按AGENTS.md跳过build/debug/browser;本轮未运行测试。不据此关闭票或声称视觉验收通过。共享工作区存在大量并发改动,未暂存/提交整仓。

local — 2026-10-13T09:48:15.201Z

本轮八项反馈源码实施:状态点迁至CockpitPanel标题右侧;管线里程按lengthKm独占横向指标行,短信息继续并排;新增point-*色键贯通点位/设备/统计/StatusTag/地图烘焙,图例图标文字计数收在单一边框且恢复pointer-events:auto;事件浮层贴当前预警左栏右侧,定位精确匹配独立设备/已绘制关联设备并回联父点位,Cesium高亮补关联设备源;明确查到历史参数错误,前端原range被后端忽略并默认7天,现发送start/end;90天历史按<=30天不重叠小时窗口查询并合并,校验real后端回显范围;效率/多维接口31天上限明确提示而不伪造90天比率;历史mock改按窗口分桶,长序列按真实小时数合计到日;面板底色不透明度提高并blur12px磨砂;设备图片相对路径解析到API origin,加载/失败/重试与dialog点击放大;单类别甜甜圈/状态饼图共享两半圆全环算法并修复旧状态内环toFixed字符串算术错误。已保存ui-feedback-regressions.mjs但未运行。静态复核发现图例穿透、设备高亮缺图层、范围回显原因丢失,均已补处理。未确认当前部署库更早历史记录数量,也未确认图片服务器文件实际可访问。遵守AGENTS,本轮跳过测试/build/debug/browser,diff检查无空白错误,票继续开放待运行验收。

local — 2026-10-14T01:45:37.202Z

收口结论:维护者在最终复核前反馈「基本上没有什么问题了,再检查一遍就可以准备票#15收口」。本轮运行并通过 batch2-token-check(10/10)、ui-feedback-regressions、batch2-final-acceptance(17个Vue SFC脚本/模板/PostCSS解析、90天实际请求分窗与合并、后端回显错误和单窗失败反向用例、全零/奇数峰值刻度、图例错色反向用例)、t01(四模式/16面板)、t09(38/38)、t11(61/61)、t13(49/49)、t14(44/44)、t19(16/16)、t41(46/46)。修正了裸白色、Y轴刻度、旧状态色/定位/锚定断言口径;地图索引已标记完成并在Decisions so far追加结论。真实边界已写入正文及 batch2-closeout.md:按AGENTS跳过build/dev/debug/browser/截图;未声称真实1280x720、qiankun、线上历史和图片可达性。t06资产全域仍4项历史/工具链失败,t18仍导入缺失,t20仍56/63;均原样留痕,不伪造成全绿,不属于本批token交付。