5.4 KiB
ADR 0008: HoloLake native composition and human projection
- Status: implemented and accepted in the signed local desktop runtime
- Date: 2026-08-18
- Source of intent: 冰朔在本轮对话中的自然语言纠正与验收要求
Natural-language acceptance root
冰朔要求把 HoloLake 的功能模块做成可由人格体原生理解和组合的“乐高积木”。内部不以 Word、 PowerPoint、Excel 或其他外来办公文件作为运行格式;外来格式只经过导入转译进入 HoloLake, 导出时再按人类选择转译出去。HoloLake 内部保存轻量、稳定、可校验的原生对象。
人格体处理的是原生对象、模块插口和组合关系。人类不需要阅读内部格式,而是看到同一份数据的 动态投影:表格、分类、对比、仪表盘、柱状图,以及以后继续登记的其他视图。视图是可替换的 投影配方,不是复制出来的不同文件。多个数据源和多个模块必须能够像积木一样进入同一组合容器。
教育行业第一阶段的完成条件不是静态预览,而是:第一组原生模块已经可用;组合内核真实执行; 人类投影真实渲染;并用冰朔当前账号的 HoloLake 知识数据或本机真实文件生成一组可见演示, 在签名安装到桌面的 HoloLake 运行制品中完成验收。
Decision
- 建立
hololake.native-object/v1:列定义、行、值、来源回执和数据摘要均为受限 JSON 对象, 不携带脚本、HTML 或外部执行能力。 - 建立
hololake.composition-module/v1:每个模块声明类型、输入口、输出口、权限、确定性和边界。 - 建立
hololake.composition-recipe/v1:有向无环组合图只引用已登记模块;系统验证类型、环、 账号范围和资源上限后执行。 - 建立
hololake.human-projection/v1:表格、分类、对比、仪表盘和柱状图共享同一个执行结果, 投影层没有数据所有权,也不能绕过原生内核写入。 - 教育初始化频道装载“组合视图”作为第五个原生模块。首个真实配方读取当前账号已有的知识目录 元数据,按来源或目录分类,计算文档数、字节数或重复数,并让人类即时切换投影。
- 当前阶段的组合执行保持只读。后续写回必须另设能力、预览、人工确认、修订锁和回执,不能 从渲染组件直接获得写权限。
Stage-one acceptance checklist
- 原生对象格式、模块清单、组合配方和投影结果均有机器可读契约。
- 未登记模块、类型不匹配、组合环、跨账号来源和越界资源必须失败关闭。
- 表格、分类、对比、仪表盘和柱状图都由同一份执行结果实时渲染。
- 人类可以选择维度、指标和投影组合,系统重新执行受限组合图。
- 演示读取冰朔当前 HoloLake 账号的真实知识目录,不以硬编码样例冒充真实运行。
- 教育初始化频道存在真实可访问的组合视图入口。
- Node 合同测试、Rust 内核测试、前端测试和生产构建通过。
- 桌面安装版完成签名安装并在真实界面验收;未完成公证时不得声称公众已获得更新。
- 每一阶段完成后重新逐条核对本清单;偏差必须在继续前修正。
Installed acceptance
签名安装版沿主世界、光湖分域、教育行业进入原生组合视图,读取当前账号 129 条真实知识对象, 总量显示约 1.0 MB,并形成 14 个真实分类。五种投影同屏可见;另一次验收把对比和分类卸下, 只保留仪表盘、柱状图和明细表,并把指标从文档数量切换为数据量,原生内核重新执行并生成新回执。
界面极快切换指标时曾观察到“左侧待执行配方”先于“右侧上一执行结果”更新,造成单位短暂错配。
最终实现已让右侧维度、指标、单位和可见视图全部绑定到执行回执,左侧只表示下一次配方;重新构建、
签名和安装后复验通过。最终桌面二进制 SHA-256 为
2a26acae4a706c0ff9919b85f77826a6ca71b650ec22209befd30cd1456c92f3。
Apple 公证和更新器私钥仍未配置,因此本验收不等于公众发布。
Open-source donor rule
只使用官方仓库和官方文档核验候选。可以学习成熟项目的数据模式、声明式视图语法、无头组件和 查询计划,但不能整体嵌入重型协作软件,也不能让第三方项目接管 HoloLake 的身份、存储、权限、 组合执行或 UI 正本。任何复制的代码或新增依赖都必须记录来源、版本、许可证和实际用途。
Rejected alternatives
- 把 Word、PowerPoint 或 Excel 当作内部原生格式:文件重、结构不稳定,也不适合人格体组合执行。
- 每种图表保存一份独立数据:会产生副本漂移,破坏“同一数据、多种投影”。
- 只在 React 中拼一套静态演示:不能证明 HoloLake 系统正在执行组合协议。
- 让模型自由生成并执行任意图表脚本:绕过模块登记、类型检查、账号边界和资源上限。
- 复制一整套飞书、钉钉或其他办公系统:体量和权限模型与 HoloLake 的轻量原生目标冲突。
Evidence targets
contracts/native-composition-runtime.jsonsrc-tauri/src/native_composition.rssrc/modules/native-composition/src/main.tsxsrc/styles.cssscripts/native-composition-runtime.test.mjs