feat: Add verify-package skill for local packaging verification - #35
Merged
Conversation
Builds, stages, and locally verifies TUI/desktop packages with zero release side effects: reuses the CI cmake install components, hash checks bundled models.dev and seed resources, checks desktop bundle layout, and launches the staged binaries under an isolated profile. Mirrored to the .acecode/.claude/.codex/.agents skill directories and covered by a POSIX contract test registered under if(UNIX). Closes #34
LIUXIN557
pushed a commit
that referenced
this pull request
Sep 2, 2026
tests/scripts/verify_package_test.sh 的 darwin app bundle 用例先用 mkdir -p
创建了 .../share/acecode/seed 目标目录,随后执行
cp -R "$fixture/assets/seed" .../share/acecode/seed
由于目标目录已存在,cp -R 会把源目录复制为目标目录下的同名子目录,
实际布局变成 seed/seed/{MANIFEST.json,seed.version,skills/demo/SKILL.md},
与 assets/seed 比对时产生 missing + unexpected,校验器只回传最后一行
unexpected,表现为:
[FAIL] seed bundle (app bundle): seed bundle unexpected: seed/skills/demo/SKILL.md
改为复制目录内容(cp -R src/. dst/),使 app bundle 内 seed 布局与
assets/seed 一致。该失败自 verify_package_contract 引入(PR #35)起在
master 上即为 pre-existing,与子模块指针变更无关。
验证:以同一 fixture 对比两种写法,旧写法 FAIL(1 of 9),新写法 PASS(9 checks)。
This was referenced Sep 2, 2026
LIUXIN557
added a commit
that referenced
this pull request
Sep 2, 2026
fix: 恢复 master CI 全绿——ftxui gitlink 同步 + verify_package_contract 两处 #35 引入缺陷
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
verify-packageskill: builds, stages, and locally verifies ACECode TUI/desktop packages with zero release side effects. It reuses the exact CI staging commands (cmake --installwith themodels_dev_registryanddefault_seed_bundlecomponents), hash-checks the bundled models.dev registry and seed bundle against source assets, validates the desktop layout (flat daemon adjacency on Windows/Linux,ACECode.appbundle structure and bundled resources on macOS), and probes the staged TUI (--version,--validate-models-registryresolving from the staged share/ tree) and desktop binaries under an isolated user profile..acecodeforce-added since.gitignoreexcludes it, matching theacecode-releaseprecedent;.claude,.codex,.agents).tests/scripts/verify_package_test.shasverify_package_contractin the existingif(UNIX)ctest block withLABELS "unit". It covers the full TUI/linux/darwin flows with stub executables plus negative cases (missing web/dist, mutated models.dev file set, failing registry validation, desktop exiting immediately, unconfigured build dir with--skip-build). On non-POSIX hosts it degrades to the preflight-only subset.Closes #34
Test plan
python -m py_compileand a real end-to-end run on Windows againstbuild/windows-x64-releasewith--skip-build: exit 0, 12 PASS + 1 SKIP (desktop launch skipped because an ACECode instance was running; single-instance guard). The TUI registry probe resolvedmodels_dev/api.jsonfrom the stagedshare/tree, proving resource staging.verify_package_contractfull flow viactest -L unit.python3 .acecode/skills/verify-package/scripts/verify_package.pyagainst a builtACECode.app.