Skip to content

fix(webui): repair the three inherent reds carried into main by squash merges - #105

Closed
fengzhi09 wants to merge 3 commits into
mainfrom
feat/sidebar-alignment
Closed

fengzhi09 wants to merge 3 commits into
mainfrom
feat/sidebar-alignment

Conversation

@fengzhi09

Copy link
Copy Markdown
Collaborator

修复 main 固有红(三 commit,内容经两条独立修复线交叉验证一致):

  1. runtime-host.test.js:305 rmSync ReferenceError(main 的 test:webui 红):test(webui): deterministic tmp dir teardown + signal exit codes (35) #86 把该文件 import 迁移 helper-only 后,feat(webui): runtime-first S3 — catalogue traffic via runtime host (R3+R4) #91 squash(a341a65d)又加了 rmSync 调用 → S2-RH-03b 抛 ReferenceError。改为 rmTmpDir(dir)(与该文件其余 teardown 一致)。
  2. test:release-tools registry 红(bare mkdtemp):feat(webui): runtime-first S3 — catalogue traffic via runtime host (R3+R4) #91 squash 把 bare 形态的 catalogue 测试带进 main(catalogue-fallback.test.js:21、catalogue-via-runtime.test.js:54/59),lint 的 bare 检查命中。迁移到 mkTmpDir/mkSubTmpDir + KNOWN_PREFIXES 注册 mcode-webui-s3-catalogue-/mcode-webui-s3-fallback-。
  3. 清单幽灵条目:main 的 public-source.json 第 32 行登记了私有验收材料 .s47-accept.md(树中无文件,干净 checkout 的 check:source 必红)。删除该行。

验证(两条独立修复线各自跑全 + 交叉验证一致)

  • test:release-tools 73 pass / 0 fail ✅(registry 断言 ✔)
  • test:webapp 1470/1470 ✅、test:webui 2042 pass / 2 skip / 0 fail ✅(main 的 rmSync 红由此消除)
  • webapp:typecheck ✅、repo typecheck ✅、check:ci ✅、check:source 4859 files ✅

背景:#91/#92 的内容此前已分别 squash 合并(a341a65d / a739fa7),但合并把上述三个固有红一并带进了 main;本 PR 只含修复,不重复功能内容。

s39-dev added 3 commits September 29, 2026 21:14
The QA report was recorded while it sat inside the worktree tree during an
early --write run. main now ships the isPrivateReport predicate (dot-prefixed
*-accept.md files are skipped at the scanner), so a fresh --write drops the
stale registration without touching any reviewed source path.
a341a65 added an rmSync(dir, ...) teardown to S2-RH-03b after #86 had
already migrated the file's imports to the shared tmp helper (node:fs
no longer exports rmSync here), so the suite died with
ReferenceError: rmSync is not defined. dir comes from mkTmpDir, so
rmTmpDir(dir) is the matching tracked removal.
The test:release-tools registry gate ('test-tmp-leak registry:
KNOWN_PREFIXES covers every prefix ... no bare mkdtemp') flagged the
S3 catalogue tests: both files staged their tmp base with bare
mkdtempSync and cleaned up with ad-hoc rmSync, so the directories
were invisible to the helper's exit-hook sweep (AGENTS.md test
hygiene: every per-test tmp dir goes through helpers/tmp.js).

Route both files through mkTmpDir/rmTmpDir, mirroring the
runtime-host.test.js idiom: module-level tmpBase via mkTmpDir,
per-test children via mkTmpDir(`${label}-`, { parent: tmpBase }),
teardown via rmTmpDir. Behaviour is unchanged — same prefixes, same
isolation, same MINIMAX_DATA_DIR wiring; the dirs are additionally
registered for signal/exit sweep.

Register the two now-visible literal prefixes
(mcode-webui-s3-catalogue-, mcode-webui-s3-fallback-) in
KNOWN_PREFIXES in alphabetical position, as collectActualPrefixes()
requires once the helper calls carry them as literals.
@fengzhi09

Copy link
Copy Markdown
Collaborator Author

被 #50 替代:#105 的 CI 暴露了 S3 探针测试的环境噪声误红(S3-RH-04/05,R4 质检报告过的场景),其修复(相对基线探针)在 #50 分支内;#105 的 rmSync/registry/清单三项修复与 #50 内容一致(两条独立修复线交叉验证)。请合入 #50。

@fengzhi09 fengzhi09 closed this Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant