Pull Request已成功合入, 合并人@sergeymalenkov
(感谢 sergeymalenkov 的贡献)Pipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89737


Pipeline has failed ❌ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89737


rri_opensource/arkui3:master,bba4ecd9-Bump toolchain to 78036-10166,625e662f-Use chai for failing tests after harness updaterri_opensource/arkui3:master,bba4ecd9-Bump toolchain to 78036-10166,625e662f-Use chai for failing tests after harness updatePipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89747


Pipeline has finished successfully ✅ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89747


Pipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89753


Pipeline has failed ❌ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89753


rri_opensource/arkui3:master,623051bd-Bump toolchain to 78036-10166,127d7a9d-Use chai for failing tests after harness update,7993e108-Get rid of common/compat dependenciesrri_opensource/arkui3:master,623051bd-Bump toolchain to 78036-10166,127d7a9d-Use chai for failing tests after harness update,7993e108-Get rid of common/compat dependenciesPipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89757


Pipeline has finished successfully ✅ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89757


Pipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89759


Pipeline has failed ❌ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89759


Pipeline has finished successfully ✅ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89759


rri_opensource/arkui3:master,af5ae846-Bump toolchain to 78036-10171rri_opensource/arkui3:master,af5ae846-Bump toolchain to 78036-10171Pipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89786


Pipeline has failed ❌ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89786


rri_opensource/arkui3:master,7870a9e5-Bump toolchain to 78036-10175,d360fa62-fix tests after harness updaterri_opensource/arkui3:master,7870a9e5-Bump toolchain to 78036-10175,d360fa62-fix tests after harness updatePipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89817


Pipeline has failed ❌ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89817


Pipeline has started https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89823


Pipeline has finished successfully ✅ https://gitlab.cn.bz-openlab.ru:10443/koala/koala-idlize-ci/-/pipelines/89823


Automated Code Review
PR: #292 — Bump toolchain to 78036-10175
Author: sergeymalenkov
Files changed: 25 (+132 / -91)
Verdict: COMMENT
Critical Issues (0)
None found — good work!
Important Issues (1)
- The same record-comparison helper is added twice in one change, and neither copy names the other —
koala-haus/haus2/engine/test/utils.ts:59-69(assertRecord) andkoala-haus/haus2/loader/test/options.test.ts:24-32(assertParams). The bodies are identical — the sorted-key-listdeepEqualplus a per-keyequalloop — differing only in the message suffix. Both exist because the updated harnessdeepEqualtakes arrays only. The duplication itself is defensible: no cross-package test import exists anywhere underkoala-haus/haus2, each package keeps its owntest/utils.ts, andrelease.mjspacks the packages separately. What is missing is the recorded reason: a one-line cross-reference in each doc comment (or liftingassertParamsinto the loader's owntest/utils.tswith the same note) keeps a later harness change from fixing one copy and not the other.
Suggestions (1)
docs/second-brain/40_Development_Workflow/Testing_Guide.md— document the constraint once instead of four times. The guide teaches the test schema against the same@koalaui/harnessbut never says thatassert.deepEqualacceptsReadonlyArrayonly, so the workaround now appears in four comment blocks (assertEntry,assertParams,assertRecord,assertExit) and a fifth inline comparison ingeneration/test/readers.test.ts. One sentence plus a pointer toassertRecordprevents the next test author from rediscovering it through a failed assertion. Nothing existing is stale — this is missing information.
Positive Observations
- The pin bump is complete and consistent: no
1.5.0-dev.78036-10137remains in any tracked file, and every hand-bumped manifest is insidescripts/bump-koala-toolchain.mjs's coverage, so the next automated bump will not strand these files. No lockfiles are tracked. - Dropping the five
@koalaui/*devDependencies fromkoala-haus/package.jsonis safe and improves the shape: no root-level consumer imports them, every member that uses one declares its own bumped pin, and each member's manifest is now the single source of its pins — which is whatrelease.mjs's per-package rewrite expects. - The test repairs match the installed harness rather than guessing:
deepEqualreally is array-only andassert.fail(): neveris what makes theif (x === undefined) assert.fail(...)narrowings compile; the!assertions on optional arrays still fail loudly if a value is actuallyundefined. - The rewrites preserve the strength of the original checks — storage asserts the
FileBuildInfofield by field after an explicitundefinedguard, the readers tests still pin both the key set and the value. - Security: the diff is pins plus cold test code — no credentials, env reads, shell interpolation, network or native surface; the
storage.test.tsclose()/rmSynccleanup is preserved. - Performance: no
.etsfiles, no@memocall sites, no hot-path or power-relevant code; the runtime and memo-plugin jump is upstream and gated by the suites. - Conventions: all touched
.tsfiles carry 2026 copyright headers, import order is external-first, the helper names are full words, and each new comment is accurate against the installed typings. - CI: pipeline 89823 finished successfully on this head; 89817 failed on an earlier head and 89759 was green before that.
Review Details
Review agents: Architecture, Security, Performance, Conventions
Context: Checked against project second brain (design principles, coding standards, dependency graph)
Reviewed by arkui3 automated review system


Bumps the Koala toolchain to
1.5.0-dev.78036-10175and repairs the loader teststhe harness update broke.
@koalaui/*pin moves from1.5.0-dev.78036-10137to10175: theworkspaceOverridesinarkts.yml, the rootpackage.json, and the manifestsof
billboard-slides,diagram, the generator demo,video-codec-gav1,koala-hausand its members.@koalaui/*devDependencies are dropped fromkoala-haus/package.json.They were the only pins outside
scripts/bump-koala-toolchain.mjs's reach(
EXTRA_PROJECTSnever covered thekoala-hausroot), and no root-level codeimports them — every member declares its own.
an assertion library:
koala-haus/haus2/loader/test/executor.test.ts— the twoAsync.testcallbacks are
async, matchingcontent?: () => Promise<void>.koala-haus/haus2/loader/test/help.test.tsandoptions.test.ts— the harnessassert.deepEqualaccepts arrays only, so the object comparisons now go througha small local helper in each file (
assertEntryfor aDocEntry,assertParamsfor the-Dparameter record) and compare field by field.