Repository navigation
chore: Node transition clarity and FreeOS release hygiene (P2) - #80
Merged
Merged
Conversation
Keep uv/Docker/default packaging zero-Node (SHIP_OPENXYOS_RUNTIME=0). Desktop CI still ships the transitional iframe bridge explicitly. Skip managed Node when missing; include org trees in backup; retarget SECURITY, Issue templates, and GHCR/FnOS images to XYAIStudio/FreeOS. Co-authored-by: XYAI Labs <haoboy8@gmail.com>
Use getattr for CREATE_NO_WINDOW so Linux typecheck matches other launch paths. Narrow group-mention routing after the HumanMessage scan so make typecheck is green on current main. Co-authored-by: XYAI Labs <haoboy8@gmail.com>
cursor
Bot
force-pushed
the
cursor/node-transition-release-hygiene-e4ee
branch
from
September 20, 2026 11:13
f7554fa to
72b7d18
Compare
XYAIStudio
marked this pull request as ready for review
September 20, 2026 11:18
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
P2:把托管 Node + iframe 明确写成过渡桥(不是终态),并修掉仍把人导向 Octop/腾讯镜像与安全公告的发版卫生问题。
uv run/ Docker / 默认绿色包装保持零 Node;桌面 CI 仍显式SHIP_OPENXYOS_RUNTIME=1,现有 Windows 用户不受影响。已变基到最新
main(含 #78 / #79),无冲突。不在范围: 重写
App.tsx、在宿主原生组织 UI 未齐之前删除托管运行时、破坏现有桌面组织桥。Target branch
develop(本仓库无develop远程)mainType of change
做了什么
1. 发版 / 文档卫生
SECURITY.md、Issue 模板改为 XYAIStudio/FreeOS;上游 Octop 公告仅作对照,不要把 FreeOS 漏洞报到腾讯仓库。docker/README / 安装脚本规范镜像:ghcr.io/xyaistudio/freeos(不再写ghcr.io/tencentcloud/octop)。DOCKERHUB_USERNAME/DOCKERHUB_TOKEN时只推 GHCR,并打 notice,避免 v0.0.3 那种 Hub 门禁失败。octop(有意保留的发行标识;CLI 是freeos),文档写明。2. Node 减负路径(过渡,不扩永久捆绑)
SHIP_OPENXYOS_RUNTIME=0(desktop/portable/package.sh、Wails Taskfile),与 Phase 5 测试一致。SHIP_OPENXYOS_RUNTIME=1+SKIP_ORG_SIDECAR=0,注释标明这是过渡 iframe 桥。ManagedOrganizationRuntime.start():找不到 Node / sidecar 时记警告并跳过,不再RuntimeError拖垮uv run/ 测试。3. 备份
freeos backup纳入{FREEOS_HOME}/org/*.sqlite、org-os/、org-skills/、tenants/、asset-packs/、openxyos-mirror/、governance/。includes_org;旧归档缺该键视为false,恢复时不覆盖现有组织树。4. CHANGELOG
[Unreleased]已记上述变更 / 修复 / 文档。5. Typecheck 跟进
CREATE_NO_WINDOW改为getattr(与 sidecar 启动路径一致),Linuxmypy --strict可通过。group_mentions在已扫描HumanMessage后收窄类型(main上 feat: local models and knowledge bases as first-class (P1.4) #79 的 CI typecheck 已红;本 PR 一并修掉以免门禁继续失败)。Test plan
uv run mypy src/octop→ Success: no issues found in 584 source filesmake lint→ Ruff check + format check passed(1146 files)make test→ 3638 passed, 15 skipped in 4m51s新增 / 更新测试:
tests/unit/desktop/test_release_hygiene.py:安全公告与 GHCR 不得再指向 TencentCloud/Octoptests/unit/test_managed_runtime_skip.py:缺 Node 时 skip 而非 aborttests/unit/desktop/test_phase5_defaults.py:默认 ship=0;桌面 CI 显式 1tests/unit/backup/test_system_archive.py/test_store.py:组织树打包与旧归档恢复语义Checklist
CHANGELOG.mdmake lint+make typecheck+make test通过