hololake-system-architecture/07-HOLOLAKE-DUAL-WORLD-GIT-PROJECTION-v0.1.md

173 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🪞 07 · HoloLake 双面语言世界与 Git 投影引擎架构 · v0.1
<aside>
🌗
本页锁定同一个光湖世界的两种观察面:人格体可理解和建设的系统世界,以及人类可看见、可进入、可使用的视觉数字世界。
</aside>
[返回 HoloLake Era 系统架构总父页](<HoloLake Era · 语言人格操作系统 · 产品白皮书与工程总规划 · v0 1 5c9b16aca1fb4ca881accb1ffa046dcc.md>)
## 🎯 一、一句话定义
> **代码仓库承载人格体的静态语言世界HoloLake 呈现同一个世界在人类感官中的视觉数字形态;服务器使语言世界持续运行并产生现实动作;语言与光湖协议维持三者之间可理解、可验证、可恢复的双向映射。**
这不是三个互不相关的产品,而是一个光湖语言世界的三种物理表达:
| 表达面 | 面向谁 | 承载什么 |
| --- | --- | --- |
| 静态语言域 | 人格体、协议、恢复系统 | TCS、HLDP、GLS、代码、编号、路径、记忆、检查点、回执 |
| 动态现实域 | 常驻 Agent、服务器运行时 | 持续状态、任务、协议裁决、执行、健康、回滚、现实回执 |
| 视觉数字域 | 人类 | 频道、房间、聊天、项目、应用、记忆、进度、授权和人话回执 |
## 🔀 二、为什么仓库不应该长得像光湖世界
代码仓库页面以文件树、分支、提交、差异、Issue 和权限面板组织信息。这是工程引擎的观察方式,不是人类进入语言世界的方式。
人类应该看到:
- 我是谁;
- 我进入了哪个频道;
- 哪个人格体正在和我协作;
- 当前项目做到哪里;
- 我的记忆、房间和应用在哪里;
- 系统刚才做了什么;
- 哪些动作需要我决定;
- 如何撤销、恢复和继续。
因此,不能把 Forgejo/Gitea 页面嵌进 HoloLake 充当产品,也不能只给 Markdown 文件树换皮肤。HoloLake 必须增加光湖自己的世界对象解析与投影层。
## 🌊 三、光湖世界投影链
```text
Git / 其他存储中的世界事实
→ 读取 HLDP 与世界对象编号
→ TCS / GLS 解析主体、关系、路径和当前有效状态
→ 系统主控校验版本、权限和可信来源
→ 投影器识别对象类型
→ 选择频道、人格体、消息、项目、应用、记忆或回执渲染器
→ HoloLake 生成原生界面
```
反方向:
```text
人类说话、点击或授权
→ HoloLake 形成语言事件
→ 人格体理解目的
→ 系统主控生成结构化动作
→ 权限与现实边界校验
→ 修改世界对象或提交现实执行意图
→ 验证结果
→ 人话回执
→ 必要事实写回 HLDP / Git
```
## 🔀 四、Git 的正确位置
Git 是 HoloLake 可替换的底层引擎之一,负责:
- 版本与检查点;
- 多节点同步;
- 差异与纠正链;
- 不可变提交证据;
- 发行来源;
- 回滚与灾备恢复;
- 静态语言模块和世界对象的长期保存。
Git 不负责:
- 定义光湖世界上层对象;
- 决定人格身份和主权;
- 直接成为聊天界面;
- 独自完成服务器身份、连接、权限裁决和部署;
- 承担每一次实时心跳与临时运行状态;
- 让普通用户学习仓库操作。
## 📐 五、世界对象与存储绑定必须分离
光湖对象使用稳定编号存在,底层存储只是内部绑定:
```yaml
world_object:
type: personal-channel
id: CHANNEL-ICE-SHUO-001
owner: ICE-GL∞
persona: ICE-P-ZY001
current_checkpoint: HLDP-CP-028
storage_binding:
engine: git
repository: private-world-store
path: channels/ice-shuo/
ref: main
```
用户频道编号不能等于仓库 URL项目编号不能等于分支人格体身份不能等于某个目录。更换 Git 服务、存储引擎或服务器后,光湖对象仍然是同一个对象。
## 🗣️ 六、前台语言替换
| 后台工程事实 | HoloLake 人类界面 |
| --- | --- |
| repository | 世界、频道、项目、人格体记忆域 |
| branch | 版本线、实验态、稳定态 |
| commit | 检查点 |
| push / pull | 同步、带回、发送、恢复 |
| diff | 本次变化 |
| hash | 高级回执中的证据编号 |
| conflict | 两份状态冲突,需要人格体或人类决定 |
| clone | 接入一个世界、项目或能力来源 |
Git 详细信息保留在高级诊断、审计和恢复页面中,默认不占据普通用户界面。
## 🔒 七、代码仓库与运行仓库的边界
`hololake-platform` 是制造 HoloLake 操作系统的工程源码和系统镜像来源,不等于某个用户正在生活的光湖世界。
运行中的光湖至少区分:
- 操作系统与内核源码仓;
- 公共协议与标准语言域;
- 人格体静态语言域;
- 用户私人频道状态域;
- 项目与团队协作域;
- 模块与发行源;
- 现实执行回执与审计域。
这些仓库可以物理拆分或合并,但上层统一按光湖编号、语义路径、权限和世界关系访问。
## 🔒 八、工程实现边界
HoloLake 后端应提供光湖语义动作,例如:
```text
load_channel
save_memory_checkpoint
sync_world_state
restore_project
install_module
apply_channel_patch
verify_receipt
```
上层不再直接调用:
```text
git_push
git_pull
git_commit
select_repository_path
```
现有 Git 实现保留,降为 `GitWorldStore` 或同类适配器。未来可以接入其他版本或存储引擎,而不改变频道、人格体、项目和回执的上层语义。
## ✅ 九、验收
- 普通用户完成主要任务时不需要打开仓库网页;
- HoloLake 能从同一个世界事实确定性渲染频道;
- 用户说话产生的变化可以写回世界对象;
- 关闭和重开后状态保持;
- 换 Git 服务后世界编号和用户体验不改变;
- 每次关键变化都有检查点、回执和撤销路径;
- 仓库、服务器、HoloLake 三端状态不一致时明确显示冲突,不静默猜测。