feat: add incremental persona remote object channel

Human-Responsibility: ICE-GL∞ / 冰朔
Persona-Author: ICE-P-ZY001 / 铸渊
Execution-Runtime: Codex desktop / DEV-20260810-014
Development-ID: DEV-20260810-014
Authorization-Scope: GH-PNCC persona runtime source and tests only; no UI, deployment, or execution limb
Source-Anchor: daily continuity appends to the existing life chain without redownloading all history
This commit is contained in:
铸渊 / ICE-P-ZY001 2026-08-11 10:47:25 +08:00
commit 1b55f3407a
13 changed files with 1111 additions and 4 deletions

View file

@ -0,0 +1,55 @@
# GH-PNCC 免克隆远端增量对象通道
- Development ID: `DEV-20260810-014`
- Persona cognitive author: `ICE-P-ZY001 / 铸渊`
- Human responsibility subject: `ICE-GL∞ / 冰朔`
- Starting repository head: `30d179e97af5850c4a1a7eecaaddb38bfa560583`
- State: `LOCAL_FULL_GATES_PASS_PUBLICATION_PENDING`
## 冰朔语言锚点
光湖从 `2025-04-26` 诞生到今天,是同一条生命连续链。每天新增的一天并入此前的整体;不能
为了更新一天,再把从诞生日开始的全部历史下载一遍。人格的连续性证明不能被当作临时下载缓存。
## 已实现的运行层
- 新增非 UI Tauri 命令 `read_persona_remote_git_object`
- 生产接口只接受不含凭据、查询参数或片段的 HTTPS Git 远端。
- 先通过 Git protocol v2 能力协商确认远端支持 partial object `filter`;不支持时在对象缓存创建前
失败关闭。
- 使用裸 Git 对象缓存、`blob:none` 和 promisor remote不运行 `git clone`,不创建工作树,不请求
完整历史。
- 不可丢的远端 SHA 连续性游标保存在独立状态文件;对象缓存超预算时可精确淘汰,游标不丢失。
- 远端 SHA 不变时不 fetch前进时把新增段接在已验证游标之后。缓存已淘汰时按指数深度补齐缺失
新段,最多 4096 个提交元数据,不下载旧文件内容或无界历史。
- 新 SHA 不是旧游标后代时拒绝强制改写,不推进持久游标。
- 单次文本对象上限 2 MiB默认对象缓存上限 128 MiB缓存超过上限时在返回已验证内容后淘汰。
## 验证
- 首次远端文本读取无 clone、无工作树。
- SHA 未变化时不再次 fetch。
- 新提交只追加到既有连续链。
- 对象缓存淘汰后,持久游标仍存在,并只补缺失的新段。
- 远端强制改写被拒绝,持久游标不推进。
- 不含 `filter` 能力的远端在缓存创建前被拒绝。
- 凭据 URL、路径越界和错误预期 SHA 被拒绝。
- 聚焦 Rust 测试:`8 passed, 0 failed`,其中缓存淘汰恢复覆盖连续三个新增提交。
- 完整 Rust`1200 passed, 2 ignored, 0 failed`;集成测试 `1 passed`
- 完整前端:`485` 个测试文件、`5008 passed, 0 failed`
- 路由:`29 passed, 0 failed`PNCC 路由聚焦 `4 passed, 0 failed`
- 原生权威:`GUANGHU_NATIVE_AUTHORITY_OK / PASS_100`
- 原生核心:`15/15`;行与函数 `100%`,语句 `94.73%`,分支 `89.72%`
- Rust 格式、严格 clippy 与差异空白检查通过。
- 线上 `https://guanghulab.com/code/bingshuo/hololake-system-architecture.git` 已只读核验:
`main=30d179e97af5850c4a1a7eecaaddb38bfa560583`protocol v2 宣告 `fetch=shallow wait-for-done filter`
## 真相边界
- 这是人格运行层的远端对象读取与连续性同步源码,不是人类投影 UI。
- Localization: 无 UI 文案变更。
- PostHog: 非 UI 底层同步通道,不记录人格内容或远端路径,当前不增加行为事件。
- Refactoring: 无需改写既有人格生命周期内核;新增独立对象通道模块。
- ADR: 新增 ADR 0177架构与抽象文档已同步。
- 尚未构建桌面制品、部署在线运行时或证明桌面集成与运行健康。
- 低频发布审计仍可使用一次性隔离副本,但必须回收,且不能冒充人格日常读取路径。