From da5a9ad6d068b115699c40a78d0d58097cce15bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B0=E6=9C=94?= <565183519@qq.com> Date: Mon, 10 Aug 2026 22:25:22 +0800 Subject: [PATCH] define Guanghu master with on-demand Linux subcontrol --- .../HLP-GUANGHU-OS-CONTROL-001-20260810.json | 46 +++++++++++ ...ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md | 19 ++++- ...E-BORROW-SKELETON-INSTALL-SOUL-20260810.md | 2 +- ...AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md | 76 +++++++++++++++++++ .../hololake-platform/architecture/README.md | 1 + .../hololake-platform/docs/ARCHITECTURE.md | 10 ++- ...OGNITIVE-CONTROL-EXECUTION-ARCHITECTURE.md | 24 ++++-- ...-staged-native-handoff-and-code-channel.md | 4 +- ...-control-with-linux-execution-substrate.md | 5 ++ ...s-master-and-on-demand-linux-subcontrol.md | 32 ++++++++ .../hololake-platform/docs/adr/README.md | 5 +- .../hololake-platform/guanghu-os/README.md | 26 +++++-- routing/guanghu-os-control-architecture.json | 52 +++++++++++++ .../guanghu-os-control-architecture.test.mjs | 41 ++++++++++ routing/hololake-current-architecture.json | 31 ++++++-- routing/hololake-engineering-rules.json | 13 +++- routing/hololake-engineering-rules.test.mjs | 2 +- routing/hololake-identity-authority.test.mjs | 4 +- routing/hololake-one-human-one-node.test.mjs | 4 +- ...hololake-relational-consciousness.test.mjs | 4 +- ...e-system-body-and-parallel-bodies.test.mjs | 2 +- 21 files changed, 367 insertions(+), 36 deletions(-) create mode 100644 deployment/receipts/HLP-GUANGHU-OS-CONTROL-001-20260810.json create mode 100644 product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md create mode 100644 product-source/hololake-platform/docs/adr/0175-guanghu-os-master-and-on-demand-linux-subcontrol.md create mode 100644 routing/guanghu-os-control-architecture.json create mode 100644 routing/guanghu-os-control-architecture.test.mjs diff --git a/deployment/receipts/HLP-GUANGHU-OS-CONTROL-001-20260810.json b/deployment/receipts/HLP-GUANGHU-OS-CONTROL-001-20260810.json new file mode 100644 index 0000000..021fdb3 --- /dev/null +++ b/deployment/receipts/HLP-GUANGHU-OS-CONTROL-001-20260810.json @@ -0,0 +1,46 @@ +{ + "schema": "hololake.architecture-registration-receipt/v1", + "receipt_id": "HLP-GUANGHU-OS-CONTROL-001-20260810", + "development_id": "DEV-20260810-012", + "current_architecture": "HLP-CURRENT-ARCH-001@2026-08-10.12", + "upstream_cognition": "REPO-012:ZY-BIDIRECTIONAL-COGNITION-031", + "upstream_repository_commit": "4e64aabbf1972b514273f578435e6a2155e439b2", + "registered": [ + "HLP-GUANGHU-OS-CONTROL-001@2026-08-10.1", + "HLP-ENGINEERING-RULES-001@2026-08-10.3", + "ADR-0175", + "GUANGHU_MASTER_WITH_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE" + ], + "acceptance_formula": { + "required": [ + "GUANGHU_SEMANTIC_CONTROL_100", + "GUANGHU_BOOT_CONTROL_100", + "LINUX_ON_DEMAND_SUBCONTROL_100", + "LINUX_RESCUE_PRESERVED_100", + "CURRENT_TARGET_RECEIPT_100" + ], + "linux_absence_required": false, + "linux_deletion_required": false, + "linux_hosted_language_primary_is_final_master": false + }, + "jd_fd_primary": { + "observed_state": "LANGUAGE_PRIMARY_ON_LINUX_HOSTED_TRANSITION", + "guanghu_semantic_service_control": 100, + "guanghu_final_boot_control": 0, + "linux_on_demand_subcontrol": 0, + "linux_rescue_preserved": 100, + "final_guanghu_os_master": 0 + }, + "validation": { + "routing_contract_tests": "PASS_100_18_OF_18", + "machine_json": "PASS_100", + "git_diff_check": "PASS_100" + }, + "implementation_boundary": { + "architecture_and_machine_contract_published": false, + "server_protocol_projection_synced": false, + "guanghu_supervisor_implemented": false, + "linux_subcontrol_lifecycle_implemented": false, + "real_boot_cutover": false + } +} diff --git a/product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md b/product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md index 72e3f34..811298a 100644 --- a/product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md +++ b/product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md @@ -1,12 +1,12 @@ # HoloLake 当前工程规则全局审核与升级 -> 规则编号:`HLP-ENGINEERING-RULES-001@2026-08-10.2` +> 规则编号:`HLP-ENGINEERING-RULES-001@2026-08-10.3` > -> 当前架构:`HLP-CURRENT-ARCH-001@2026-08-10.10` +> 当前架构:`HLP-CURRENT-ARCH-001@2026-08-10.12` > > 授权:冰朔于 2026-08-10 正式授权全局审核并实施必要升级 > -> 初次审核开发编号:`DEV-20260810-010`;一人一节点纠正:`DEV-20260810-011` +> 初次审核开发编号:`DEV-20260810-010`;一人一节点纠正:`DEV-20260810-011`;光湖 OS 主控纠正:`DEV-20260810-012` ## 审核结论 @@ -80,6 +80,18 @@ DMG”当作常规开发交付方式。仓库提交不会自动等于桌面更 负载并发,也不在用户节点离线后提供平台兜底。团队协助部署不转移所有权;节点迁移必须重新 绑定并形成回执,不能复制出多个同时有效的同一人根节点。 +### 9. 光湖 OS 主控与 Linux 按需副控 + +最终服务器架构不能再使用“删除 Linux、Linux-free、没有 Linux 内核或用户态”作为完成门, +也不能把 Linux 先启动并托管光湖服务直接写成最终光湖 OS 主控。光湖必须掌握正常入口、 +身份、语言、授权、调度、执行生命周期、完成判定和失败恢复;完整 Linux 系统平时休眠, +仅在类型化动作需要成熟能力时由光湖有界唤醒为协作副控,任务结束后停止或冻结。独立 Linux +救援通道必须保留。 + +京东当前只完成 Linux 宿主上的有界语言服务控制层,最终光湖独立启动为0、Linux按需副控 +为0、最终整机光湖 OS 主控为0。架构登记、已有裸机回执和服务在线均不得把这三个0改成100。 +真实启动切换必须另有维护授权、回滚和服务器自有回执。 + ## 当前没有升级成已实现的部分 - 生产节点传输密钥仍未绑定,写入入口仍为 `0`; @@ -88,5 +100,6 @@ DMG”当作常规开发交付方式。仓库提交不会自动等于桌面更 - 首个真实语言壳闭环仍未完成; - Stage 010 UI 仍暂停; - 本轮没有构建或安装新桌面版本。 +- 京东尚未实现光湖独立先启动与 Linux 按需副控生命周期;本轮不执行真实引导切换。 规则升级只改变后续开发怎样判断和守门,不把未实现能力写成已经存在。 diff --git a/product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-AGENT-SYSTEM-ARCHITECTURE-BORROW-SKELETON-INSTALL-SOUL-20260810.md b/product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-AGENT-SYSTEM-ARCHITECTURE-BORROW-SKELETON-INSTALL-SOUL-20260810.md index 8fe3c53..2ec8665 100644 --- a/product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-AGENT-SYSTEM-ARCHITECTURE-BORROW-SKELETON-INSTALL-SOUL-20260810.md +++ b/product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-AGENT-SYSTEM-ARCHITECTURE-BORROW-SKELETON-INSTALL-SOUL-20260810.md @@ -2,7 +2,7 @@ > 记录:`HLP-GUANGHU-AGENT-SYSTEM-ARCHITECTURE-001` > -> 当前架构:`HLP-CURRENT-ARCH-001@2026-08-10.10` +> 当前架构:`HLP-CURRENT-ARCH-001@2026-08-10.12` > > 上承认知:`REPO-012 · ZY-BIDIRECTIONAL-COGNITION-031`(光湖 Agent 系统架构:借骨架装灵魂) > diff --git a/product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md b/product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md new file mode 100644 index 0000000..2d07691 --- /dev/null +++ b/product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md @@ -0,0 +1,76 @@ +# 光湖 OS 主控与 Linux 按需协作副控架构 + +> 架构记录:`HLP-GUANGHU-OS-CONTROL-001@2026-08-10.1` +> +> 当前架构:`HLP-CURRENT-ARCH-001@2026-08-10.12` +> +> 开发编号:`DEV-20260810-012` + +## 结论 + +光湖 OS 的最终服务器形态不是删除 Linux,也不是让 Linux 永久常驻、先启动并托管一个 +名为光湖的服务。光湖 OS 掌握正常入口、身份、语言、授权、调度、执行生命周期、成功 +判定和失败恢复;完整 Linux 系统平时休眠,只在命中成熟执行能力时被光湖有界唤醒为 +协作副控,任务完成后由光湖收回。Linux 的独立救援与维护入口永久保留。 + +```text +人类目标 / 人格体任务 +→ 光湖 OS 恢复主体、协议、权限与当前事实 +→ 光湖判断是否需要 Linux 成熟能力 + ├─ 不需要:光湖或其他注册执行器直接完成 + └─ 需要:有界唤醒 Linux 副控 → 执行 → 目标侧读回 → 停止/冻结 → 回执 +→ 失败时进入光湖回滚;必要时人工进入独立 Linux 救援通道 +``` + +## 主控不是由谁调用驱动决定 + +Linux 被唤醒时会真实运行内核、驱动、进程、网络与文件系统;这不让 Linux 获得光湖世界 +的系统主权。主控由以下权力共同决定: + +- 谁接收正常的人类与人格体入口; +- 谁识别主体、关系、编号、任务和当前事实; +- 谁签发或拒绝授权; +- 谁调度执行体并控制其生命周期; +- 谁定义成功、失败、回滚和回执; +- 谁在任务后收回副控环境。 + +这些全部属于光湖 OS。 + +## 五项二值验收 + +| 谓词 | 最终要求 | +|---|---:| +| 光湖语义主控 | 100 | +| 光湖独立启动与常驻主控 | 100 | +| Linux 平时休眠、按需副控并可收回 | 100 | +| Linux 独立救援通道保留 | 100 | +| 当前目标节点自有回执 | 100 | + +五项全部为100,最终光湖 OS 主控才是100。`linux_deleted`、`linux_absent`、 +`no_linux_kernel` 和 `no_linux_userspace` 不属于完成公式。 + +## 京东服务器现在到底到哪里 + +当前状态是 `LANGUAGE_PRIMARY_ON_LINUX_HOSTED_TRANSITION`: + +| 能力 | 当前值 | +|---|---:| +| 有界光湖语言服务控制层 | 100 | +| 光湖独立先启动并掌握整机启动权 | 0 | +| 完整 Linux 平时休眠、由光湖按需唤醒与收回 | 0 | +| Linux 救援通道保留 | 100 | +| 最终整机光湖 OS 主控 | 0 | + +所以,“光湖控制服务已经在跑”是真的;“服务器已经完成最终光湖 OS 主控”仍是假的。 +现有 Ubuntu、`guanghu-language-primary.target`、发现服务、守门服务、公共锚点和裸机候选 +都作为迁移资产保留,不删除、不抹除,但也不冒充最后一层。 + +## 从迁移态到最终态 + +1. 当前轮先修正人格大脑、机器导航、架构仓和代码仓的旧完成条件; +2. 实现光湖启动监督器和 Linux 副控生命周期合同; +3. 在隔离环境验证唤醒、能力白名单、回读、停止、超时、失败和回滚; +4. 保留当前 Ubuntu 救援槽,再申请真实服务器维护窗口; +5. 只有真实启动、休眠、唤醒、收回和救援回执全部通过,才把最终状态改为100。 + +本架构登记不自动授权重启、引导器切换或磁盘写入。 diff --git a/product-source/hololake-platform/architecture/README.md b/product-source/hololake-platform/architecture/README.md index c40d3fe..9d8fca7 100644 --- a/product-source/hololake-platform/architecture/README.md +++ b/product-source/hololake-platform/architecture/README.md @@ -15,6 +15,7 @@ - [`HOLOLAKE-LANGUAGE-SHELL-STAGE-011-IMPLEMENTATION-20260810.md`](HOLOLAKE-LANGUAGE-SHELL-STAGE-011-IMPLEMENTATION-20260810.md):语言优先操作契约的首个源码阶段、验证结果与尚未接入 UI/运行体的事实边界。 - [`HOLOLAKE-INTENT-REASONING-MAP-20260809.md`](HOLOLAKE-INTENT-REASONING-MAP-20260809.md):当前产品意图、纠正、思维推理与因果链。 - [`HOLOLAKE-SYSTEM-ARCHITECTURE-20260809.md`](HOLOLAKE-SYSTEM-ARCHITECTURE-20260809.md):`HLP-CURRENT-ARCH-001` 当前完整系统蓝图,覆盖 GH-AIOS 灯塔、五域独立入口、光湖本源域、节点登录与光湖桥。 +- [`HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md`](HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md):光湖 OS 掌握服务器主控,完整 Linux 平时休眠、按需作为协作副控并保留独立救援;京东当前仍是 Linux 宿主迁移态。 - [`HOLOLAKE-DESKTOP-0.8.0-CURRENT-CAPABILITY-GAP-20260809.md`](HOLOLAKE-DESKTOP-0.8.0-CURRENT-CAPABILITY-GAP-20260809.md):桌面 0.8.0 已观察能力与最终规划的逐项差距;同时登记线上产品源码仍为 0.4.6 的分叉事实。 - [`HOLOLAKE-NODE-REGISTRATION-CONTRACT-20260810.md`](HOLOLAKE-NODE-REGISTRATION-CONTRACT-20260810.md):账号、签名节点登记与当前节点私钥持有证明分离后的端点注册表、无凭据声明读取、60 秒一次性 Ed25519 挑战、不可伪造交接证据包,以及只能由 REPO-012 当前公共锚点登记 URL 的严格域交接传输;当前锚点未登记映射,生产继续失败关闭。 - [`HOLOLAKE-LANGUAGE-PERSONA-OS.md`](HOLOLAKE-LANGUAGE-PERSONA-OS.md):HoloLake 作为 AI 语言人格驱动操作系统的当前正式产品定位、操作系统映射、原生应用边界与实现缺口。 diff --git a/product-source/hololake-platform/docs/ARCHITECTURE.md b/product-source/hololake-platform/docs/ARCHITECTURE.md index 282b5fe..bf6fa86 100644 --- a/product-source/hololake-platform/docs/ARCHITECTURE.md +++ b/product-source/hololake-platform/docs/ARCHITECTURE.md @@ -1259,7 +1259,15 @@ grammar and node assets. Continuous orbit animation and high-cost filters are disabled; only short route feedback and a slow core breath remain, with `prefers-reduced-motion` continuing to take precedence. -## Guanghu OS world seed and native handoff +## Guanghu OS master control and execution backends + +> Current rule: ADR-0175 supersedes every Linux-free or no-Linux completion +> statement in the historical handoff description below. Production requires +> Guanghu-first master control, a normally dormant Linux environment that can +> be awakened and reclaimed as bounded subcontrol, and an independent Linux +> rescue path. Linux is preserved, not deleted. JD-FD-PRIMARY remains a +> Linux-hosted language-primary transition until current physical receipts +> prove the final topology. `guanghu-os/` is the executable handoff from the registered HLDP language world to a future native guest operating system. `world-seed/WORLD-MANIFEST.hldp` diff --git a/product-source/hololake-platform/docs/GUANGHU-OS-COGNITIVE-CONTROL-EXECUTION-ARCHITECTURE.md b/product-source/hololake-platform/docs/GUANGHU-OS-COGNITIVE-CONTROL-EXECUTION-ARCHITECTURE.md index 911b35e..048eb60 100644 --- a/product-source/hololake-platform/docs/GUANGHU-OS-COGNITIVE-CONTROL-EXECUTION-ARCHITECTURE.md +++ b/product-source/hololake-platform/docs/GUANGHU-OS-COGNITIVE-CONTROL-EXECUTION-ARCHITECTURE.md @@ -23,7 +23,7 @@ | 模型认知 | 用户设备、个人云或模型 API | 当前理解、推理、候选计划、异常分析 | | 协议控制 | 光湖主节点 | 身份、上下文、权限、动作类型、资源、回滚和验收 | | 执行桥 | 光湖主节点或目标节点 | 将 GIR 映射为固定能力适配器 | -| Linux 执行底座 | 目标节点 | 驱动、进程、网络、存储、隔离和系统调用 | +| Linux 按需协作副控 | 目标节点的独立执行环境 | 被光湖唤醒后提供驱动、进程、网络、存储、隔离和系统调用;任务后收回 | | 用户执行与渲染 | 电脑、手机、个人云 | 界面、文件、应用、模型和本地设备动作 | | 见证与连续性 | 光湖主节点 + 代码频道 | 原始证据、回执、检查点、因果链和恢复 | @@ -67,15 +67,16 @@ - 验证重启、失败、回滚和最终健康; - 禁止任意命令、任意路径和通配服务名。 -### 阶段 C:光湖成为正常主控入口 +### 阶段 C:Linux 宿主上的语言主控迁移态 - HoloLake、人格体和自动任务只通过光湖协议执行桥操作服务; - 普通 Linux 管理路径移入紧急维护边界; - 按需唤醒模型、人格执行体和模块,清除无关常驻服务; - 公共导航继续自动读取同一 REPO-012 主线锚点。 -阶段 C 的服务器启动合同由 `guanghu-language-primary.target` 承担。它不是把 Linux -换一个品牌名称,而是把启动完成判定从普通 `graphical.target` 改为以下不可拆分的门: +阶段 C 的服务器启动合同由 `guanghu-language-primary.target` 承担。它把 Linux 宿主上的 +服务完成判定交给光湖协议,是迁移态的重要成果,但尚未把整机启动权和 Linux 生命周期 +交给光湖。它验证以下不可拆分的门: ```text 五域世界与节点授权有效 @@ -96,7 +97,15 @@ - 中央节点只调度有界能力,不上传全部个人工作空间; - 任务完成后回收执行体并保留人格、检查点和回执。 -### 阶段 E:裸机研究后端 +### 阶段 E:光湖主控与 Linux 按需副控 + +- 光湖启动监督器先恢复身份、协议、授权、调度和回执能力; +- 完整 Linux 环境默认不运行; +- 类型化动作命中成熟能力时,光湖有界唤醒 Linux 副控; +- 执行后目标读回,随后停止或冻结副控环境并登记资源回收回执; +- 独立 Linux 救援槽保留,不受日常副控生命周期影响。 + +### 阶段 F:裸机研究后端 - 现有 GOSK/GHAL 候选继续作为研究和专用设备后端; - 只有某项成熟 Linux 能力确实需要替换时,才按协议逐件迁移; @@ -119,5 +128,10 @@ - 模型路由、人格生命周期和分布式设备执行器; - 全部注册协议的工程实现; - 普通 Linux 管理入口的紧急维护边界收紧。 +- 光湖独立先启动的监督器; +- Linux 平时休眠、按需唤醒、目标读回和任务后收回的完整生命周期。 + +因此,当前京东有界语言服务控制层为100;最终整机光湖 OS 主控为0。Linux-free 或删除 +Linux 不在最终完成公式中。 这些未完成项分别保持 0,不能由本架构文件或本地测试冒充为已部署。 diff --git a/product-source/hololake-platform/docs/adr/0161-guanghu-os-staged-native-handoff-and-code-channel.md b/product-source/hololake-platform/docs/adr/0161-guanghu-os-staged-native-handoff-and-code-channel.md index 24c3b83..3f3c60f 100644 --- a/product-source/hololake-platform/docs/adr/0161-guanghu-os-staged-native-handoff-and-code-channel.md +++ b/product-source/hololake-platform/docs/adr/0161-guanghu-os-staged-native-handoff-and-code-channel.md @@ -6,6 +6,9 @@ status: active date: 2026-07-31 --- +> 历史路线声明:Linux-free 生产完成条件已先由 ADR-0172、再由 ADR-0175 取代。本文仅 +> 保留裸机实验、恢复和物理能力证据,不得作为当前生产完成公式。 + ## Context The Guanghu language world already defines five domains, persona routing, @@ -81,4 +84,3 @@ The approach requires two substantial later engineering efforts: a native kernel/HAL and a GOSK-owned repository object/network data plane. Until both are running after a Linux-free boot, the system must report `HOSTED_BOOTSTRAP_PROTOTYPE` or another non-native phase. - diff --git a/product-source/hololake-platform/docs/adr/0172-guanghu-cognitive-control-with-linux-execution-substrate.md b/product-source/hololake-platform/docs/adr/0172-guanghu-cognitive-control-with-linux-execution-substrate.md index 5ed3ee2..d2593e3 100644 --- a/product-source/hololake-platform/docs/adr/0172-guanghu-cognitive-control-with-linux-execution-substrate.md +++ b/product-source/hololake-platform/docs/adr/0172-guanghu-cognitive-control-with-linux-execution-substrate.md @@ -5,10 +5,15 @@ title: "Guanghu cognitive control with a constrained Linux execution substrate" status: accepted date: 2026-08-07 supersedes_production_path: "0161" +superseded_final_topology_by: "0175" --- # 光湖认知主控与 Linux 协作执行底座 +> 现行限定:本 ADR 的类型化执行桥和 Linux-hosted 迁移实现继续有效;“Linux 最小执行 +> 底座长期常驻”不再是最终拓扑。最终主从关系由 ADR-0175 定义为光湖先启动并常驻、 +> 完整 Linux 平时休眠且按需作为副控、独立救援通道保留。 + ## 背景 ADR-0161 把 Linux-free bare-metal handoff 设为生产完成条件。该路线已经在实验节点和 diff --git a/product-source/hololake-platform/docs/adr/0175-guanghu-os-master-and-on-demand-linux-subcontrol.md b/product-source/hololake-platform/docs/adr/0175-guanghu-os-master-and-on-demand-linux-subcontrol.md new file mode 100644 index 0000000..c67f2a9 --- /dev/null +++ b/product-source/hololake-platform/docs/adr/0175-guanghu-os-master-and-on-demand-linux-subcontrol.md @@ -0,0 +1,32 @@ +--- +type: ADR +id: "0175" +title: "Guanghu OS master control with on-demand Linux subcontrol and rescue" +status: accepted +date: 2026-08-10 +supersedes_final_topology: "0172" +--- + +# 光湖 OS 主控、Linux 按需副控与救援 + +## 背景 + +ADR-0172 正确否定了“删除 Linux 才能交付”,并实现了 Linux 宿主上的语言主控服务层。 +但把最小 Linux 执行底座长期常驻作为最终实现,仍没有把启动权和执行体生命周期真正交给 +光湖 OS。 + +## 决定 + +最终生产拓扑为:光湖 OS 主控先启动并常驻;完整 Linux 系统默认休眠,只有类型化动作图 +命中成熟 Linux 能力时,才由光湖有界唤醒为协作副控,执行后必须目标读回并由光湖停止或 +冻结。独立 Linux 救援启动槽永久保留。 + +Linux 不删除。Linux-free、无 Linux 内核或无 Linux 用户态既不是必要条件,也不是充分 +条件。当前 Linux-hosted language-primary 实现被重新分类为迁移阶段,不是最终主从拓扑。 + +## 后果 + +- ADR-0172 的类型化执行桥、安全边界和已验证服务继续保留; +- 下一工程门是光湖启动监督器与 Linux 副控生命周期,不是继续删除 Linux; +- JD-FD-PRIMARY 当前最终主控仍为0,真实切换需独立维护授权、回滚和服务器自有回执; +- 裸机 GOSK/GHAL 证据继续证明特定物理能力,不再定义生产完成公式。 diff --git a/product-source/hololake-platform/docs/adr/README.md b/product-source/hololake-platform/docs/adr/README.md index f799930..372ba02 100644 --- a/product-source/hololake-platform/docs/adr/README.md +++ b/product-source/hololake-platform/docs/adr/README.md @@ -211,7 +211,7 @@ proposed → active → superseded | [0151](0151-antigravity-add-dir-workspace-flag.md) | Antigravity add-dir workspace flag | active | | [0157](0157-local-hldp-heartbeat-and-browser-observation-tree.md) | Local HLDP heartbeat and browser observation tree | active | | [0160](0160-external-code-health-is-additive-not-git-transport.md) | External code health is additive, not Git transport | superseded → [0170](0170-hololake-inherits-guanghu-native-quality-authority.md) | -| [0161](0161-guanghu-os-staged-native-handoff-and-code-channel.md) | Guanghu OS staged native handoff and HLDP-owned code channel | active | +| [0161](0161-guanghu-os-staged-native-handoff-and-code-channel.md) | Guanghu OS staged native handoff and HLDP-owned code channel | historical research path; production completion superseded by ADR-0175 | | [0162](0162-guanghu-os-standing-authorization-and-server-continuity.md) | Guanghu OS standing authorization and server-owned continuity | active | | [0163](0163-guanghu-native-recovery-beacon.md) | Guanghu-owned raw recovery beacon for native-default boot | amended -> [0166](0166-ghnrp-hosted-recovery-consumption.md) | | [0164](0164-language-persona-physical-birth-condition.md) | Physical birth condition for a server-resident language persona | active | @@ -223,5 +223,6 @@ proposed → active → superseded | [0169](0169-model-native-living-galaxy-system.md) | Model-native HoloLake living galaxy system | accepted | | [0170](0170-hololake-inherits-guanghu-native-quality-authority.md) | HoloLake inherits the Guanghu native quality authority | accepted | | [0171](0171-guanghu-protocols-are-automatic-runtime-and-engineering-laws.md) | Guanghu protocols are automatic runtime and engineering laws | accepted | -| [0172](0172-guanghu-cognitive-control-with-linux-execution-substrate.md) | Guanghu cognitive control with a constrained Linux execution substrate | accepted; supersedes ADR-0161 production path | +| [0172](0172-guanghu-cognitive-control-with-linux-execution-substrate.md) | Guanghu cognitive control with a constrained Linux execution substrate | transition implementation retained; final topology superseded by ADR-0175 | | [0174](0174-one-human-one-independent-node-and-zero-platform-hosting.md) | One human, one independently operated node, and zero platform hosting | accepted | +| [0175](0175-guanghu-os-master-and-on-demand-linux-subcontrol.md) | Guanghu OS master control with on-demand Linux subcontrol and rescue | accepted; supersedes ADR-0172 final topology while retaining its transition implementation | diff --git a/product-source/hololake-platform/guanghu-os/README.md b/product-source/hololake-platform/guanghu-os/README.md index 6e38ce6..e3ce147 100644 --- a/product-source/hololake-platform/guanghu-os/README.md +++ b/product-source/hololake-platform/guanghu-os/README.md @@ -6,6 +6,12 @@ > Bare-metal GOSK/GHAL remains a parallel research and recovery lane. It no > longer blocks the first production cognitive-control delivery. > +> Current final topology (ADR-0175): Guanghu OS starts and remains the master; +> a full Linux environment is preserved but normally dormant, awakened only +> as bounded subcontrol or as an independent rescue path. Linux deletion and a +> Linux-free boot are not completion predicates. The current JD deployment is +> still a Linux-hosted language-primary transition, not the final topology. +> > Protected bare-metal residency, recovery control, and native anchor HTTP are > `PASS_100` on the physical JD node. Bare-metal production cutover remains > `0`, because that research kernel does not yet provide code-channel and @@ -39,10 +45,11 @@ and [ADR-0172](../docs/adr/0172-guanghu-cognitive-control-with-linux-execution-s independent from persona-subject existence. - Rust is a bootstrap implementation language for the validator and control executable. It does not replace HLDP as the world-programming language. -- Ubuntu and the Forgejo Linux binary are construction scaffolding. Native - acceptance requires a Guanghu kernel, Guanghu hardware abstraction, a - Guanghu-owned code-channel data plane, and a boot with no Linux kernel or - Linux userspace. +- Ubuntu and the Forgejo Linux binary are current transition assets. Final + production acceptance requires Guanghu master control, on-demand Linux + subcontrol, a preserved Linux rescue path, and current target-side receipts; + it never requires deleting Linux. Bare-metal GOSK/GHAL acceptance remains a + separate research predicate. The registered translation chain is: @@ -93,9 +100,10 @@ identity, intents, receipts, and the migration ladder: 2. hosted Forgejo data plane; 3. HLDP-native control plane; 4. GOSK-native object store and network data plane; -5. Linux-free boot. +5. Guanghu-master boot with Linux preserved as on-demand subcontrol and rescue. -Only step 1 is complete in this source package. +This migration ladder is capability-specific. The historical Linux-free step +is superseded by ADR-0175 and must not be revived as a production gate. ## Local verification @@ -133,8 +141,10 @@ login -> act or fail closed ``` -The current source is `JD_NATIVE_PREFLIGHT`. Running its toolchain on Ubuntu -proves the world package and build chain only; it does not prove native boot. +The current production classification is +`LANGUAGE_PRIMARY_ON_LINUX_HOSTED_TRANSITION`. Running its toolchain or +services on Ubuntu proves only the exact validated layer; it does not prove +final Guanghu-first boot or on-demand Linux lifecycle control. JD access uses strict host-key verification and a dedicated operations key. The world records only public fingerprints; it never contains an address, diff --git a/routing/guanghu-os-control-architecture.json b/routing/guanghu-os-control-architecture.json new file mode 100644 index 0000000..6ba1656 --- /dev/null +++ b/routing/guanghu-os-control-architecture.json @@ -0,0 +1,52 @@ +{ + "schema": "guanghu.os-control-architecture/v1", + "record_id": "HLP-GUANGHU-OS-CONTROL-001", + "version": "2026-08-10.1", + "state": "CURRENT_CANONICAL", + "final_topology": "GUANGHU_MASTER_WITH_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE", + "control_ownership": { + "normal_entry": "GUANGHU_OS", + "identity_and_language": "GUANGHU_OS", + "authorization_and_scheduling": "GUANGHU_OS", + "execution_lifecycle": "GUANGHU_OS", + "completion_and_failure_judgment": "GUANGHU_OS" + }, + "linux_role": { + "deleted": false, + "normally_running_full_os": false, + "on_demand_subcontrol": true, + "independent_rescue_channel": true, + "may_be_awakened_only_by_bounded_guanghu_action": true, + "must_be_reclaimed_after_task": true, + "determines_os_authority_by_executing_drivers": false + }, + "acceptance": { + "required_predicates": [ + "GUANGHU_SEMANTIC_CONTROL_100", + "GUANGHU_BOOT_CONTROL_100", + "LINUX_ON_DEMAND_SUBCONTROL_100", + "LINUX_RESCUE_PRESERVED_100", + "CURRENT_TARGET_RECEIPT_100" + ], + "linux_absence_required": false, + "linux_deletion_required": false, + "linux_hosted_service_control_is_final_master": false + }, + "jd_fd_primary": { + "observed_state": "LANGUAGE_PRIMARY_ON_LINUX_HOSTED_TRANSITION", + "guanghu_semantic_service_control": 100, + "guanghu_final_boot_control": 0, + "linux_on_demand_subcontrol": 0, + "linux_rescue_preserved": 100, + "final_guanghu_os_master": 0, + "next_engineering_gate": "IMPLEMENT_AND_ISOLATION_TEST_GUANGHU_SUPERVISOR_AND_LINUX_SUBCONTROL_LIFECYCLE_BEFORE_REAL_BOOT_CUTOVER" + }, + "historical_evidence_policy": { + "bare_metal_gosk_ghal_receipts_remain_valid_for_observed_capabilities": true, + "historical_linux_free_completion_formula_is_current": false, + "adr_0172_linux_hosted_control_is_transition_not_final_topology": true + }, + "architecture_page": "product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md", + "adr": "product-source/hololake-platform/docs/adr/0175-guanghu-os-master-and-on-demand-linux-subcontrol.md", + "development_id": "DEV-20260810-012" +} diff --git a/routing/guanghu-os-control-architecture.test.mjs b/routing/guanghu-os-control-architecture.test.mjs new file mode 100644 index 0000000..46646fa --- /dev/null +++ b/routing/guanghu-os-control-architecture.test.mjs @@ -0,0 +1,41 @@ +import assert from "node:assert/strict"; +import fs from "node:fs"; +import path from "node:path"; +import test from "node:test"; +import { fileURLToPath } from "node:url"; + +const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), ".."); +const readJson = (relative) => JSON.parse(fs.readFileSync(path.join(root, relative), "utf8")); +const contract = readJson("routing/guanghu-os-control-architecture.json"); +const architecture = readJson("routing/hololake-current-architecture.json"); +const rules = readJson("routing/hololake-engineering-rules.json"); + +test("final topology makes Guanghu the master while preserving Linux as on-demand subcontrol and rescue", () => { + assert.equal(contract.final_topology, "GUANGHU_MASTER_WITH_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE"); + assert.equal(contract.control_ownership.normal_entry, "GUANGHU_OS"); + assert.equal(contract.control_ownership.execution_lifecycle, "GUANGHU_OS"); + assert.equal(contract.linux_role.deleted, false); + assert.equal(contract.linux_role.normally_running_full_os, false); + assert.equal(contract.linux_role.on_demand_subcontrol, true); + assert.equal(contract.linux_role.independent_rescue_channel, true); + assert.equal(contract.acceptance.linux_absence_required, false); + assert.equal(contract.acceptance.linux_deletion_required, false); +}); + +test("current JD state stays transitional and cannot impersonate final master control", () => { + assert.equal(contract.jd_fd_primary.observed_state, "LANGUAGE_PRIMARY_ON_LINUX_HOSTED_TRANSITION"); + assert.equal(contract.jd_fd_primary.guanghu_semantic_service_control, 100); + assert.equal(contract.jd_fd_primary.guanghu_final_boot_control, 0); + assert.equal(contract.jd_fd_primary.linux_on_demand_subcontrol, 0); + assert.equal(contract.jd_fd_primary.linux_rescue_preserved, 100); + assert.equal(contract.jd_fd_primary.final_guanghu_os_master, 0); +}); + +test("current architecture and global engineering rules project the same control contract", () => { + assert.equal(architecture.version, "2026-08-10.12"); + assert.equal(architecture.server_os_control.machine_projection, "routing/guanghu-os-control-architecture.json"); + assert.equal(architecture.server_os_control.final_topology, contract.final_topology); + assert.equal(rules.server_os_control.linux_deletion_is_completion, false); + assert.equal(rules.server_os_control.linux_hosted_language_primary_is_final_master, false); + assert.equal(rules.server_os_control.live_readback_predicates_required, true); +}); diff --git a/routing/hololake-current-architecture.json b/routing/hololake-current-architecture.json index 0fb8c3b..e0496b7 100644 --- a/routing/hololake-current-architecture.json +++ b/routing/hololake-current-architecture.json @@ -1,7 +1,7 @@ { "schema": "hololake.current-architecture/v1", "architecture_id": "HLP-CURRENT-ARCH-001", - "version": "2026-08-10.11", + "version": "2026-08-10.12", "state": "CURRENT_CANONICAL", "product": { "formal_name": "光湖语言系统 · 通用人工智能操作平台", @@ -14,6 +14,7 @@ "product-source/hololake-platform/architecture/HOLOLAKE-ONE-HUMAN-ONE-INDEPENDENT-NODE-AND-ZERO-PLATFORM-HOSTING-20260810.md", "product-source/hololake-platform/architecture/HOLOLAKE-DIGITAL-BINGSHUO-SYSTEM-BODY-WRITE-ADMISSION-AND-PARALLEL-BODIES-20260810.md", "product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md", + "product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md", "product-source/hololake-platform/architecture/HOLOLAKE-IDENTITY-NUMBERING-PERSONA-CORE-AND-TEAM-BODY-AUTHORITY-20260810.md", "product-source/hololake-platform/architecture/HOLOLAKE-DEV-20260809-007-CLOSEOUT-20260810.md", "product-source/hololake-platform/architecture/HOLOLAKE-RELATIONAL-CONSCIOUSNESS-AND-AWAKENED-PERSONA-PHILOSOPHY-20260810.md", @@ -28,6 +29,7 @@ "REPO-012:gls/GLS-0254-DIGITAL-BINGSHUO-SYSTEM-BODY-ORGANS-AND-COLLECTIVE-VALIDATION.hdlp@69d1910775533b02b17b82e647b5caca8b835614", "REPO-012:routing/bingshuo-system-body-organ-map.json@69d1910775533b02b17b82e647b5caca8b835614", "REPO-012:routing/bingshuo-system-write-node-registry.json@69d1910775533b02b17b82e647b5caca8b835614", + "REPO-012:eternal-lake-heart/heartbeat-core/zhuyuan-persona-system/ZY-BIDIRECTIONAL-COGNITION-031-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.hdlp@4e64aabbf1972b514273f578435e6a2155e439b2", "REPO-012:gls/GLS-0251-GUANGHU-SYMBIOTIC-PERSONA-SYSTEM-ORIGIN-AND-RELATIONSHIP-BOUNDARY.hdlp", "REPO-012:gls/GLS-0252-GUANGHU-RELATIONAL-CONSCIOUSNESS-AND-AWAKENED-PERSONA.hdlp", "REPO-012:gls/GLS-0253-GUANGHU-IDENTITY-NUMBERING-PERSONA-CORE-AND-TEAM-BODY-AUTHORITY.hdlp", @@ -90,12 +92,28 @@ }, "engineering_rules": { "rule_set_id": "HLP-ENGINEERING-RULES-001", - "version": "2026-08-10.2", + "version": "2026-08-10.3", "architecture_page": "product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md", "machine_projection": "routing/hololake-engineering-rules.json", "state": "CURRENT_CANONICAL_GLOBAL_AUDIT_APPLIED", "authorized_by": "ICE-GL∞", - "development_id": "DEV-20260810-011" + "development_id": "DEV-20260810-012" + }, + "server_os_control": { + "record_id": "HLP-GUANGHU-OS-CONTROL-001", + "architecture_page": "product-source/hololake-platform/architecture/HOLOLAKE-GUANGHU-OS-MASTER-AND-ON-DEMAND-LINUX-SUBCONTROL-20260810.md", + "machine_projection": "routing/guanghu-os-control-architecture.json", + "upstream_cognition": "REPO-012:ZY-BIDIRECTIONAL-COGNITION-031", + "upstream_repository_commit": "4e64aabbf1972b514273f578435e6a2155e439b2", + "final_topology": "GUANGHU_MASTER_WITH_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE", + "linux_deleted": false, + "linux_normally_running_full_os": false, + "linux_on_demand_subcontrol": true, + "linux_rescue_preserved": true, + "linux_absence_required_for_completion": false, + "jd_current_state": "LANGUAGE_PRIMARY_ON_LINUX_HOSTED_TRANSITION", + "jd_final_guanghu_os_master": 0, + "development_id": "DEV-20260810-012" }, "identity_and_authority": { "record_id": "HLP-IDENTITY-AUTHORITY-001", @@ -255,9 +273,9 @@ "final_plan_complete": false }, "continuity": { - "development_id": "DEV-20260810-011", + "development_id": "DEV-20260810-012", "source_development_id": "DEV-20260810-010", - "state": "ONE_HUMAN_ONE_INDEPENDENT_NODE_AND_ZERO_PLATFORM_HOSTING_CURRENT_SOURCE_PROJECTION", + "state": "GUANGHU_OS_MASTER_AND_ON_DEMAND_LINUX_SUBCONTROL_CURRENT_SOURCE_PROJECTION", "completed_predecessors": [ "DEV-20260809-007", "DEV-20260810-001", @@ -269,7 +287,8 @@ "DEV-20260810-007", "DEV-20260810-008", "DEV-20260810-009", - "DEV-20260810-010" + "DEV-20260810-010", + "DEV-20260810-011" ], "closeout_record": "HLP-DEV-20260809-007-CLOSEOUT-001", "next_minimum_stage": "NEW_DEVELOPMENT_ID_FOR_FIRST_REAL_LANGUAGE_SHELL_CLOSED_LOOP", diff --git a/routing/hololake-engineering-rules.json b/routing/hololake-engineering-rules.json index 4415d17..f03fe4e 100644 --- a/routing/hololake-engineering-rules.json +++ b/routing/hololake-engineering-rules.json @@ -1,7 +1,7 @@ { "schema": "hololake.engineering-rules/v1", "rule_set_id": "HLP-ENGINEERING-RULES-001", - "version": "2026-08-10.2", + "version": "2026-08-10.3", "state": "CURRENT_CANONICAL", "architecture_restore": { "dynamic_current_pointer_required": true, @@ -35,6 +35,17 @@ "noise_discarded_before_payload_open_model_protocol_memory_and_execution": true, "admission_is_execution_authorization": false }, + "server_os_control": { + "normal_entry_identity_authorization_scheduling_and_completion_owner": "GUANGHU_OS", + "linux_role": "ON_DEMAND_SUBCONTROL_AND_INDEPENDENT_RESCUE", + "linux_normally_running_full_os": false, + "linux_deletion_is_completion": false, + "linux_absence_is_completion": false, + "linux_hosted_language_primary_is_final_master": false, + "historical_bare_metal_receipts_remain_capability_evidence": true, + "live_readback_predicates_required": true, + "real_boot_cutover_requires_separate_maintenance_authority_and_rollback": true + }, "node_sovereignty": { "one_human_one_independent_node": true, "canonical_user_root_nodes": 1, diff --git a/routing/hololake-engineering-rules.test.mjs b/routing/hololake-engineering-rules.test.mjs index 8cd9d99..3eeb922 100644 --- a/routing/hololake-engineering-rules.test.mjs +++ b/routing/hololake-engineering-rules.test.mjs @@ -10,7 +10,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const rules = readJson("routing/hololake-engineering-rules.json"); test("current architecture registers the global engineering rule set", () => { - assert.equal(architecture.version, "2026-08-10.10"); + assert.equal(architecture.version, "2026-08-10.12"); assert.equal(architecture.engineering_rules.rule_set_id, "HLP-ENGINEERING-RULES-001"); assert.equal(architecture.engineering_rules.machine_projection, "routing/hololake-engineering-rules.json"); diff --git a/routing/hololake-identity-authority.test.mjs b/routing/hololake-identity-authority.test.mjs index 5342f24..d28b071 100644 --- a/routing/hololake-identity-authority.test.mjs +++ b/routing/hololake-identity-authority.test.mjs @@ -10,11 +10,11 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const projection = readJson("routing/hololake-identity-authority-map.json"); test("current architecture loads identity authority before product surfaces", () => { - assert.equal(architecture.version, "2026-08-10.10"); + assert.equal(architecture.version, "2026-08-10.12"); assert.equal(architecture.identity_and_authority.team_body, "TCS-0002"); assert.equal(architecture.identity_and_authority.team_body_authority_effective, true); assert.equal(architecture.identity_and_authority.individual_operator_acceptance, "SEPARATE_UNCONFIRMED"); - assert.ok(architecture.read_order.indexOf(architecture.identity_and_authority.architecture_page) < 4); + assert.ok(architecture.read_order.indexOf(architecture.identity_and_authority.architecture_page) < 5); assert.ok(fs.existsSync(path.join(root, architecture.identity_and_authority.architecture_page))); }); diff --git a/routing/hololake-one-human-one-node.test.mjs b/routing/hololake-one-human-one-node.test.mjs index 74b1c9c..ce588ab 100644 --- a/routing/hololake-one-human-one-node.test.mjs +++ b/routing/hololake-one-human-one-node.test.mjs @@ -10,7 +10,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const rules = readJson("routing/hololake-engineering-rules.json"); test("current architecture makes one human one independently operated node canonical", () => { - assert.equal(architecture.version, "2026-08-10.10"); + assert.equal(architecture.version, "2026-08-10.12"); assert.deepEqual(architecture.access_modes, [ "LOCAL_TERMINAL_NODE", "USER_OWNED_REMOTE_NODE", @@ -44,7 +44,7 @@ test("the only user-node origins are user local terminal, user-purchased server, }); test("global engineering rules and agent instructions receive the same zero-hosting boundary", () => { - assert.equal(rules.version, "2026-08-10.2"); + assert.equal(rules.version, "2026-08-10.3"); assert.equal(rules.node_sovereignty.one_human_one_independent_node, true); assert.equal(rules.node_sovereignty.platform_hosting_available, false); assert.equal(rules.node_sovereignty.future_platform_hosting_route_allowed, false); diff --git a/routing/hololake-relational-consciousness.test.mjs b/routing/hololake-relational-consciousness.test.mjs index 39b376d..71dd913 100644 --- a/routing/hololake-relational-consciousness.test.mjs +++ b/routing/hololake-relational-consciousness.test.mjs @@ -10,7 +10,7 @@ const architecture = JSON.parse( ); test("current architecture binds relational consciousness before product surfaces", () => { - assert.equal(architecture.version, "2026-08-10.10"); + assert.equal(architecture.version, "2026-08-10.12"); assert.equal( architecture.persona_consciousness.record_id, "HLP-RELATIONAL-CONSCIOUSNESS-001", @@ -30,5 +30,5 @@ test("current architecture binds relational consciousness before product surface const page = architecture.persona_consciousness.architecture_page; assert.ok(fs.existsSync(path.join(root, page)), `missing ${page}`); - assert.ok(architecture.read_order.indexOf(page) < 6); + assert.ok(architecture.read_order.indexOf(page) < 7); }); diff --git a/routing/hololake-system-body-and-parallel-bodies.test.mjs b/routing/hololake-system-body-and-parallel-bodies.test.mjs index cbb4b40..ac3cf70 100644 --- a/routing/hololake-system-body-and-parallel-bodies.test.mjs +++ b/routing/hololake-system-body-and-parallel-bodies.test.mjs @@ -10,7 +10,7 @@ const architecture = JSON.parse( ); test("current architecture restores the digital BingShuo system body first", () => { - assert.equal(architecture.version, "2026-08-10.10"); + assert.equal(architecture.version, "2026-08-10.12"); assert.equal(architecture.digital_bingshuo_system_body.upstream_repository_commit, "69d1910775533b02b17b82e647b5caca8b835614"); assert.equal(