已合并
Bump toolchain to 78036-10175 #292
sergeymalenkov创建于 7 天前
Bump toolchain to 78036-10175 #292
已合并
sergeymalenkov创建于 7 天前
sergeymalenkov
sergeymalenkov成员
7 天前

Bumps the Koala toolchain to 1.5.0-dev.78036-10175 and repairs the loader tests
the harness update broke.

  • Every @koalaui/* pin moves from 1.5.0-dev.78036-10137 to 10175: the
    workspaceOverrides in arkts.yml, the root package.json, and the manifests
    of billboard-slides, diagram, the generator demo, video-codec-gav1,
    koala-haus and its members.
  • The five @koalaui/* devDependencies are dropped from koala-haus/package.json.
    They were the only pins outside scripts/bump-koala-toolchain.mjs's reach
    (EXTRA_PROJECTS never covered the koala-haus root), and no root-level code
    imports them — every member declares its own.
  • The tests that stopped compiling under the new harness are fixed without adding
    an assertion library:
    • koala-haus/haus2/loader/test/executor.test.ts — the two Async.test
      callbacks are async, matching content?: () => Promise<void>.
    • koala-haus/haus2/loader/test/help.test.ts and options.test.ts — the harness
      assert.deepEqual accepts arrays only, so the object comparisons now go through
      a small local helper in each file (assertEntry for a DocEntry,
      assertParams for the -D parameter record) and compare field by field.
likedislike
Pull Request已成功合入, 合并人@sergeymalenkov
(感谢 sergeymalenkov 的贡献)
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchikpavelmironchik成员
7 天前 重置了测试状态
sergeymalenkovsergeymalenkov成员
7 天前 强制推送  4 个提交:d08550a4-2 commits from branch rri_opensource/arkui3:master,bba4ecd9-Bump toolchain to 78036-10166,625e662f-Use chai for failing tests after harness update
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchik
pavelmironchik成员
7 天前 评论:
likedislike
pavelmironchikpavelmironchik成员
7 天前 通过测试
sergeymalenkovsergeymalenkov成员
7 天前 测试状态已重置,测试人: pavelmironchik
sergeymalenkovsergeymalenkov成员
7 天前 推送  1 个提交:b7677fa0-Get rid of common/compat dependencies
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchikpavelmironchik成员
7 天前 重置了测试状态
sergeymalenkovsergeymalenkov成员
7 天前 强制推送  4 个提交:acd1dcb3-1 commit from branch 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 dependencies
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchik
pavelmironchik成员
7 天前 评论:
likedislike
pavelmironchikpavelmironchik成员
7 天前 通过测试
sergeymalenkovsergeymalenkov成员
7 天前 测试状态已重置,测试人: pavelmironchik
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchik
pavelmironchik成员
7 天前 评论:
pavelmironchikpavelmironchik成员
7 天前 重置了测试状态
pavelmironchik
pavelmironchik成员
7 天前 评论:
likedislike
pavelmironchikpavelmironchik成员
7 天前 通过测试
sergeymalenkovsergeymalenkov成员
6 天前 测试状态已重置,测试人: pavelmironchik
sergeymalenkovsergeymalenkov成员
6 天前 强制推送  2 个提交:63eec3d5-1 commit from branch rri_opensource/arkui3:master,af5ae846-Bump toolchain to 78036-10171
sergeymalenkovsergeymalenkov成员
6 天前 修改标题为 “Bump toolchain to 78036-10171”,原标题为“Bump toolchain to 78036-10166”
pavelmironchik
pavelmironchik成员
6 天前 评论:
pavelmironchik
pavelmironchik成员
6 天前 评论:
pavelmironchikpavelmironchik成员
6 天前 重置了测试状态
sergeymalenkovsergeymalenkov成员
6 天前 强制推送  4 个提交:05d1ba72-2 commits from branch rri_opensource/arkui3:master,7870a9e5-Bump toolchain to 78036-10175,d360fa62-fix tests after harness update
pavelmironchik
pavelmironchik成员
6 天前 评论:
sergeymalenkovsergeymalenkov成员
6 天前 修改标题为 “Bump toolchain to 78036-10175”,原标题为“Bump toolchain to 78036-10171”
sergeymalenkovsergeymalenkov成员
6 天前 修改了pull request 的描述
pavelmironchik
pavelmironchik成员
6 天前 评论:
pavelmironchikpavelmironchik成员
6 天前 重置了测试状态
sergeymalenkovsergeymalenkov成员
6 天前 强制推送  1 个提交:2c842e40-fix tests after harness update
pavelmironchik
pavelmironchik成员
6 天前 评论:
pavelmironchik
pavelmironchik成员
6 天前 评论:
likedislike
pavelmironchikpavelmironchik成员
6 天前 通过测试
sergeymalenkov
sergeymalenkov成员
6 天前 评论:

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)

  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) and koala-haus/haus2/loader/test/options.test.ts:24-32 (assertParams). The bodies are identical — the sorted-key-list deepEqual plus a per-key equal loop — differing only in the message suffix. Both exist because the updated harness deepEqual takes arrays only. The duplication itself is defensible: no cross-package test import exists anywhere under koala-haus/haus2, each package keeps its own test/utils.ts, and release.mjs packs the packages separately. What is missing is the recorded reason: a one-line cross-reference in each doc comment (or lifting assertParams into the loader's own test/utils.ts with the same note) keeps a later harness change from fixing one copy and not the other.

Suggestions (1)

  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/harness but never says that assert.deepEqual accepts ReadonlyArray only, so the workaround now appears in four comment blocks (assertEntry, assertParams, assertRecord, assertExit) and a fifth inline comparison in generation/test/readers.test.ts. One sentence plus a pointer to assertRecord prevents 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-10137 remains in any tracked file, and every hand-bumped manifest is inside scripts/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 from koala-haus/package.json is 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 what release.mjs's per-package rewrite expects.
  • The test repairs match the installed harness rather than guessing: deepEqual really is array-only and assert.fail(): never is what makes the if (x === undefined) assert.fail(...) narrowings compile; the ! assertions on optional arrays still fail loudly if a value is actually undefined.
  • The rewrites preserve the strength of the original checks — storage asserts the FileBuildInfo field by field after an explicit undefined guard, 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.ts close()/rmSync cleanup is preserved.
  • Performance: no .ets files, no @memo call sites, no hot-path or power-relevant code; the runtime and memo-plugin jump is upstream and gated by the suites.
  • Conventions: all touched .ts files 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

likedislike
Konstantin ChukharevKonstantin Chukharev成员
6 天前 通过审查
sergeymalenkovsergeymalenkov成员
6 天前 合入了pull request