Skip to content

feat(org): bidirectional asset bus — loop ingest into managed control plane (P1.1) - #76

Merged
XYAIStudio merged 1 commit into
mainfrom
cursor/org-asset-bus-p11-709d
Sep 20, 2026
Merged

XYAIStudio merged 1 commit into
mainfrom
cursor/org-asset-bus-p11-709d

Conversation

@XYAIStudio

Copy link
Copy Markdown
Owner

摘要

打通 FreeOS 宿主与组织控制面的双向资产总线(P1.1)。有托管组织运行时(或 OPENXYOS_BASE_URL / {FREEOS_HOME}/org-os/runtime.json)时,自增长循环与 assets apply 会 ingest 进当前组织工作区租户(remote_applied=true);没有运行时地址时保持镜像-only,且不拉起 Node。

宿主 ↔ 组织资产方向

方向 行为
FreeOS → 组织控制面 freeos org loop run / POST /api/org-module/loop/run / assets apply 在控制面 URL 可用时 POST /api/freeos/ingest(员工 / 人才 / 技能 / 插件 / MCP)
组织 → FreeOS apply 后回流 import,同事继续登记为可对话的 org-<slug> 智能体
无运行时 只写 {FREEOS_HOME}/openxyos-mirror/<tenant>/,remote_applied=false,不 ensure_sidecar

托管运行时启动时把 origin 写入 {FREEOS_HOME}/org-os/runtime.json,CLI 与 BFF 都能发现,不必依赖调用方导出 OPENXYOS_BASE_URL。隐式 127.0.0.1:3780 仍不是必选控制面。

Managed Node / iframe 仍是过渡桥;本 PR 走宿主路径(src/octop/modules/org_os、/api/org-module/*)以及有无 Node 都能工作的 mirror/ingest。

租户与身份

  • ingest 租户跟随组织工作区租户(--tenant-id / FREEOS_ORG_TENANT_ID / modules.org_os.tenant_id / 组织房间 organization_id),不再硬编码 1。
  • 数字工作区租户优先于边车 session 的 ui_tenant_id;非数字租户才回退到控制面 session。
  • FreeOS 本地工作室账号与组织「房间」身份不合并。

如何验证

uv run pytest tests/unit/test_org_loop.py tests/unit/test_openxyos_apply.py tests/unit/test_org_module.py tests/unit/test_org_notes.py tests/e2e/test_org_growth_loop.py tests/unit/i18n -q

重点:

  • test_growth_loop_does_not_require_node_sidecar 仍为绿(无 URL 时不启 Node,只写镜像)。
  • test_growth_loop_ingests_when_runtime_json_present / test_apply_ingests_via_runtime_json_without_env_url:仅有 runtime.json、未设 OPENXYOS_BASE_URL 时 remote_applied=true,ingest 租户为工作区租户。
  • test_apply_ingests_org_workspace_tenant_not_sidecar_session:工作区租户 1 不会被边车 session 2 覆盖。

范围外

完整 App.tsx 迁移、export-standalone 重写(P1.2)、IM /approve、砍掉 Node(P2)、website CSS。

Open in Web Open in Cursor 

@XYAIStudio
XYAIStudio marked this pull request as ready for review September 20, 2026 10:22
When a managed organization runtime, OPENXYOS_BASE_URL, or
org-os/runtime.json is present, loop run and assets apply POST ingest
into that control plane for the current org workspace tenant
(remote_applied=true). Without a runtime URL, keep mirror-only behavior
and do not start Node. Colleagues stay registered as org-<slug> agents.

Co-authored-by: XYAI Labs <haoboy8@gmail.com>
@cursor
cursor Bot force-pushed the cursor/org-asset-bus-p11-709d branch from c957395 to 9c412d6 Compare September 20, 2026 10:22
@XYAIStudio
XYAIStudio merged commit 12254f4 into main Sep 20, 2026
2 of 4 checks passed
@XYAIStudio
XYAIStudio deleted the cursor/org-asset-bus-p11-709d branch September 20, 2026 10:23
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.

2 participants