HEL-750 检查工具与既有诊断修复(独立复核通过) #5
Open
leefer
wants to merge 20 commits from
fix/hel-750-code-checks into feat/hel-730-management
pull from: fix/hel-750-code-checks
merge into: :feat/hel-730-management
:main
:agent/agent/a64a969a6a44
:leefer/hel-731-studio-project
:feat/hel-887-delete-cleanup
:feat/hel-884-locate-canvas-refs
:fix/hel-883-visual-investigation
:agent/2/c3a0e79ab52a
:agent/agent/967a6a05022d
:agent/2/9c4d105d16eb
:leefer/hel-853-chinese-render-approval
:agent/hel-849-dropdown
:agent/hel-845-library-day
:agent/agent/8ffd8de46402
:agent/hel-840-v2
:fix/hel-836-original-desk-orbits
:agent/agent/8ec6e532b3ac
:feat/hel-732-agent-results
:feat/hel-731-studio-project
:fix/hel-771-theme-tile-details
:fix/hel-769-theme-preview
:fix/hel-767-sample-alignment
:feat/hel-751-task-table
:fix/hel-750-code-checks
:feat/hel-730-management
:feat/hel-729-creative-desk
:feat/hel-728-night-foundation
:feat/hel-665-refract
:deploy/hel-691
:feat/hel-685-visual-sweep
:deploy/hel-690
:feat/hel-684-project-attach
:deploy/hel-689
:feat/hel-683-desk-console
:deploy/hel-688
:feat/hel-682-workflow-import-admin
:deploy/hel-687
:agent/agent/c85587840139
:deploy/hel-680
:feat/hel-680-grayscale-foundation
:deploy/hel-672
:feat/hel-671-first-last-frame
:deploy/hel-670
:feat/hel-669-last-frame
:deploy/hel-664
:feat/hel-656-f-pages
:deploy/hel-663
:feat/hel-655-e-drawers
:deploy/hel-662
:feat/hel-654-d-records
:deploy/hel-661
:feat/hel-653-c-generate
:deploy/hel-660
:feat/hel-652-b-shell
:deploy/hel-657
:fix/hel-657-edited-amber
:deploy/hel-651-a
:feat/hel-651-a-tokens
:proto/hel-648-fusion-motion
:proto/hel-646-flow-desk
:deploy/hel-644
:agent/2/010d22e88c85
:agent/agent/0724efcfa6a1
:agent/agent/abdb3353f04f
:deploy/hel-640
:agent/agent/2350b119e3bd
:deploy/hel-639
:agent/agent/be709ab7edbd
:deploy/hel-637
:deploy/hel-634
:feat/hel-633
:deploy/hel-627
:fix/hel-627
:agent/agent/73ee85561aa1
:deploy/hel-623
:agent/agent/06348f87748e
:agent/agent/ba0c7ee03ba4
:feat/a-shell-home-models
:agent/agent/bfe3b338e3af
:agent/agent/0e53f65b05e4
:agent/agent/eaeab494548f
:agent/agent/f76dc3192b3b
:agent/agent/56f29db8e35f
:feat/models-settings-page
:feat/zh-default-llm-test
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
本请求承接 HEL-730,补齐前端检查工具并分批修复既有诊断。累计包含 HEL-750/752 的格式、配置和兼容修复,HEL-753 的14处搭景类型修复,HEL-756 的第一批125处导航、列表和只读状态修正,HEL-758 的第二批10处资源链接修正,HEL-760 的第三批七处响应性集合和临时地址替换,HEL-762 的第四批29项局部检查例外与逐位置说明,以及 HEL-764 的第五批素材库入口恢复和字幕检查局部例外。
批1—5及整份检查修复已独立复核通过(HEL-765,精确 head 54880e9),仅代表检查修复收口。 剩余未豁免 ESLint 诊断为0,干净安装、lint/check/test/build均成功。字幕检查采用已明确的节点级例外,字幕能力及相关无障碍欠缺仍存在。通过不代表B2管理页/任务页已与确认样本一致,也不代表部署许可。总管保留本PR为open、未合并;HEL-751从已审head新开串行返工分支,单独PR以本分支为目标,避免将布局改动混入本请求。B2整体独立样本审核通过前不部署。
精确版本与历史
fix/hel-750-code-checks@54880e900bc2fc83cfce7d979379c5bfbbf1825efeat/hel-730-management@64c1116bca1150e413ab51151bade6844f1ec914a666f6bd12cd437629cd52debadbd9da79b67f57;批1交付:22f82fbed6797f83de44395d69adb3bb49c1ced9fc6616b118f0d905427efffdadc3c76d8f2fde1f。46fd5bbc86244c349abb4196a0eb93bf54a52172。4c849e9ef9bdd899312073c775efe70b2807e8b9。54880e900bc2fc83cfce7d979379c5bfbbf1825e。已有检查工具及类型修复
eslint-plugin-svelte精确固定3.23.1,仅调整获准开发插件及必要传递依赖,未改运行时依赖。保留error级prefer-const及v3推荐集移出的valid-compile/no-dynamic-slot-name,排除仅限既有构建产物,不降低规则或吞退出码。未用绑定清理保留Props契约、模块求值和副作用。内置SVG、固定翻译、文件名控制字符过滤三处单点例外均保留说明,HEL-755已独立复核其合理性。
HEL-753按真实mannequin-js 5.2.3源码补齐人物、关节、数值访问器及姿态类型,以有限键和运行时窄化清除14条no-explicit-any,无宽泛索引或断言绕过。合法人物的关节范围、镜像、姿态序列化保持;缺失关节安全退出,非法第三方姿态明确报错。HEL-755在旧head a666f6b独立复核通过:188→174仅消除指定14条,check/test/build通过,真实人物关节、镜像、姿态及WebGL导出隔离验证通过。该结论只覆盖已审核范围。
批1:HEL-756交付,HEL-757独立复核通过
HEL-757在22f82fb独立复算174→49,按文件/规则/消息多重差集恰消除74导航+48补键+3只读状态、零新增。干净npm ci=0、lint=1、check/test/build=0。独立浏览器旧/新66/67条断言通过,终态快照deep-equal,覆盖导航参数、草稿归属、选中/焦点与重复路径视频插删替换、播放/暂停和DOM位置;296组导航地址等价、7组createHref边界等价通过。
播放中视频截图会因取帧时序出现局部差异,不宣称像素完全相同;以可复核行为断言与快照为准。这些证据不是整站确认样本视觉验收。
批2:HEL-758交付,HEL-759独立复核通过
完整增量仅9文件、10个已有download或target的资源链接追加external到rel。保留noopener/noreferrer、href、下载文件名、target、事件、undefined/#回退与原外层守卫;资源/API/blob地址不套resolve,批1createHref保留。无CSS/布局/文案/依赖/检查配置/接口/用户配置改动,不夹带后续批次。
位置:ImageLightbox两处;WorkflowTestDialog、desk/Artboard、generate/Inspector、generate/TakeCard、video/ClipMonitor、workbench/AssetsStagePanel、tasks页、workbench/[id]页各一处。施工以Svelte AST逐处核其他属性源码相同,并验证去掉rel增量逐文件还原旧版。
以下施工自测已由HEL-759独立复跑核实(Node/npm版本一致;重新干净安装、审计脚本后在两棵隔离树运行):
批3:HEL-760交付,HEL-761独立复核通过
独立复核范围为fc6616b→46fd5bb,恰六文件、七处构造器和必要导入:StudioDesk submittedIds/mediumLink,takeDelete entries,两管理组件autoProbed,agents compositionCache,settings临时URL。独立patch与施工证据逐字节相同;全部读写、响应式读者、untrack、队列时序、回调、会话键与持久化已逐处核实,CSS逐字不变,inflight/seenIds/instances保持原生集合。
HEL-761独立干净安装并复跑:Node24.16.0/npm11.13.0,npm ci=0、lint=1、check/test/build=0;两棵隔离树ESLint JSON按文件/规则/消息多重差集39→31,恰消除指定8条、零新增,余3导航+17响应性+10命令式DOM+1字幕。既有字幕warning及构建提示保留,默认Prettier不覆盖Svelte模板。
独立浏览器旧版42、新版43条断言(含终态deep-equal)全部通过;两版各164请求、零pageerror,结果文件与施工证据哈希一致。覆盖假提交与成功/失败事件、一次错误提示、无请求循环或EventSource重建、mediumLink保重复query/空格/hash、连接探测及缓存重挂载、agent跨会话/跨agent草稿附件与sessionStorage刷新恢复、settings第一段replaceState保参。
删除队列独立复跑真实工厂/API客户端/toast的隔离探针:重复请求去重、撤销、独立计时、异步成功/失败、destroy幂等、SPA离开和pagehide真实被拦截fetch keepalive DELETE。HEL-761裁定该探针足以支持本批等价结论:改动仅位于工厂内部,调用点与监听注册均未变化。未实测页面删除按钮、物理关窗、真实SSE传输与存储配额失败分支;模拟事件与探针不冒充这些实测。所有API被拦截,外部origin中止,无真实生成/收费调用或用户数据写入。临时路由/服务已清理,工作树干净,局部截图不是整站样本视觉验收。
两项既有行为旧新一致、未扩修:models第二段固定跳转丢额外参数/hash;pagehide后destroy额外DELETE。批3施工证据见HEL-760,独立复核结果见HEL-761评论01a1600d-29f8-717c-b992-7b5ad0ccfc87。
撤回批3:
git revert 46fd5bbc86244c349abb4196a0eb93bf54a52172,正常推送同分支,不reset或强推。该阶段通过后串行进入批4,后续最终结论见文末。批4:HEL-762交付,HEL-763独立复核通过
独立核对46fd5bb→4c849e9完整patch:19文件、96行纯新增(18源码文件加1说明文档),29条均为指定诊断前一行的单规则eslint-disable-next-line及理由:导航2、响应性17、命令式DOM10。原3项已审例外未触碰;无全局/文件级豁免、配置/依赖/lockfile变动。精确删除新增注释后源码逐字节一致,client/SSR编译JS AST仅去位置与词法属性后等价,CSS逐字一致。逐条移除29次均只恢复1条指定诊断,无无效或范围外压制。
HEL-763独立干净安装:Node v24.16.0/npm11.13.0;npm ci=0、lint=1、check/test/build=0;两棵隔离树ESLint JSON按文件/规则/消息多重差集31→2,恰消除指定29条、零新增。原字幕warning及构建提示保留;默认Prettier不覆盖Svelte模板,不能称模板格式全通过。
逐处独立核清effect/untrack与读写链:inflight、seenIds、instances保原生集合,copy→mutate→assign整体替换发布、settings动态导航选项及DOM所有权/清理依据属实。施工比较脚本未过度忽略语义,夹具attempt1—13均未改产品。
独立旧/新隔离浏览器5对均通过:旧39/新40断言(新版多终态deepEqual),零pageerror,DELETE各1。GET总量33—34双侧对称抖动来自/create settings refetch时序,规范化一对为33/33,不能宣称每次固定33。建议后续夹具对该计数使用范围或规范化。覆盖settings参数/守卫、真实contenteditable草稿/chip/光标/序列化/清空、三个portal、详情失败请求不增长/入场不重播/库选择、Three挂载/orbit/离页清理。所有API拦截、外部origin中止,无真实生成/收费或用户数据读写。既有Google Fonts引用未改。
未覆盖IME/粘贴/上传、导入向导展开点击、真实SSE/物理关窗、全量WebGL资源释放;/models第二跳旧行为未扩修。隔离探针及模拟事件不冒充真实页面全链实测,局部截图不是整站样本验收。这些边界不影响本批仅加注释的等价结论。完整独立证据见HEL-763评论01a1602c-60f2-773d-b31d-23822bc7d84f附件,施工证据见HEL-762。临时树/路由/服务/端口已清理。
撤回批4:
git revert 4c849e9ef9bdd899312073c775efe70b2807e8b9,正常推送原分支,不reset或强推。该阶段尚余批5两项,最终结论见下文;确认样本还原仍未完成。批5:HEL-764交付,HEL-765独立复核通过
批5仅3文件:Artboard素材库入口/assets→resolve('/library')及必要导入;ShotStagePanel仅加一处有效字幕诊断局部例外;对应说明文档。单列例外原文:生成产物暂无字幕资产,保留声音与手动播放;字幕无障碍欠缺仍存在,无空track、无静音/自动播放。原3项及批4的29项例外、配置/依赖/lockfile、CSS、文案均未变。
HEL-765独立核远端与API版本,独立patch与施工证据一致;Node v24.16.0/npm11.13.0,干净npm ci及完整lint/check/test/build全部exit 0,check 0/0。起点4c849e9与head全量ESLint JSON按文件/规则/消息多重差集恰2→0、零新增。字幕注释移除恰恢复原唯一诊断,未压其他诊断;client/SSR编译JS AST仅忽略位置/词法字段后等价,CSS逐字一致。默认Prettier不覆盖Svelte模板;保留@xyflow未使用导入及大chunk提示。
本轮独立隔离浏览器前后复跑:before 16/16(含旧/assets 404复现)、after 17/17,两轮0 pageerror。真实/create素材库入口新版进入已有/library、显示假素材并返回,按钮几何与样式不变。真实组件探针和workbench页验证默认controls/metadata/非静音/音量1/无autoplay/0 track,显式播放、暂停、跳播、音量、静音、镜头切换、卸载/离页,以及原图下载/灯箱/复用参考回调;ffmpeg生成440Hz音轨,验证音频解码>0。
API全GET假响应,外部origin中止,原生下载走禁proxy本地假文件服务。未覆盖真实字幕、实体声音输出、原生控件逐个鼠标命中、全屏、整站样本/四主题多尺寸、真实后端/SSE/IME;不将组件探针或显式浏览器媒体API冒充原生控件鼠标操作。临时树、路由、配置、服务已清理,19764释放,工作树clean。
最终独立审核卡HEL-765:01a16039-4d18-7182-bc77-151271f46775;结果评论01a16041-8792-7aa6-adbe-0a27f3820b9d,完整附件HEL765-independent-evidence.zip。施工卡HEL-764及其完整证据保留。批5回滚:git revert 54880e900bc2fc83cfce7d979379c5bfbbf1825e后正常推送,禁reset/强推。
整份累计PR最终独立结论
HEL-765独立核对base 64c1116→head 54880e9,139文件、+26534/−23320、20提交。base/head同一Prettier归一后,工具配置与仅格式文件符合预期;61个非模板文件归一检查通过,未加载Svelte模板插件的边界保留。工具配置无降规则/全局豁免,valid-compile/no-dynamic-slot-name保持error,prefer-const使用Svelte感知等价规则;lockfile的25个顶层包变化仅限ESLint家族及传递依赖,运行时依赖零变化。
累计Svelte差异逐类核对:导航resolve/createHref保查询/hash及goto选项;keyed each、rel external、响应集合、未用代码与props及类型边界均核清。head eslint-disable=32(原3+批4的29);svelte-ignore=15(23−9迁移+1批5);as any 2→0、ts-ignore全程0,无断言掩错。未用绑定删除保留必要求值与组件props契约。
跳转守卫/query/hash、列表选择删除撤销、请求去重、草稿portal清理、搭景手动播放,采用HEL-755/757/759/761/763各自冻结版本独立证据;本轮对批5相关导航和播放完整前后复跑,并完成累计静态集成核对,未机械重跑历史全量脚本。settings refetch 33—34仍按双方对称夹具时序解释。实际覆盖与未覆盖项见各证据,不称整站样本验收通过。
结论:批5通过,整份检查修复通过,无必须修复项。两条非阻塞维护建议为agents两处catch注释缩进、三处副作用裸导入补用途注释;本轮不改代码、不借建议扩大范围。
证据、回滚与后续门槛
HEL-756/757保留批1施工及独立证据。HEL-758附件包含完整patch、逐位置原/新属性、命令/版本/退出码、诊断差集、可复跑浏览器脚本和必要截图、清理记录;HEL-759附件含独立命令/退出码、诊断差集、浏览器日志/结果/截图;该精确head的批2复核已通过。
撤回批2:
git revert fc6616b118f0d905427efffdadc3c76d8f2fde1f,回到22f82fb。批1按逆序逐提交revert:22f82fb、67eb822、99574c2、88965fa、9d54b9d,回到a666f6b;不reset或强推。更早修复沿用HEL-750/752/753回滚记录。无部署及数据迁移。批1—5及整份累计检查修复均已独立复核通过。字幕仅为局部检查例外,能力欠缺仍在。总管已核对精确head/base;PR #5保持open、未合并,不部署。HEL-751将以本请求冻结head 54880e9为准确基底新开任务页返工分支,单独PR目标fix/hel-750-code-checks;原请求不混入布局施工。管理页和任务页仍需完整样本一致性审核;PR #4及后续产品批次不据本检查结论自动通过。
独立证据计数说明:旧/新各111条断言,终态deep-equal另1条,共223条。verify.cjs在deep-equal前写results.json,因此结果文件after计111而日志TOTAL计112;以日志为准。该记录写序建议非阻塞,本轮未为此改业务或证据脚本。
WIP: HEL-750 补齐检查配置与格式整理(lint 债务待处理)to WIP: HEL-750 检查工具与既有诊断修复(待最终独立审核)WIP: HEL-750 检查工具与既有诊断修复(待最终独立审核)to HEL-750 检查工具与既有诊断修复(独立复核通过)View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.