docs: require signed persona authorization provenance

This commit is contained in:
冰朔 2026-08-12 04:54:54 +08:00
commit a118300791
9 changed files with 31 additions and 17 deletions

View file

@ -116,9 +116,10 @@ REVISE | REFUSE`。
B0 伙伴审议的顺序失败关闭;成功只产生语言目标规划,不提供现实动作执行入口。桌面源码接线为 `100`
第五域入口只传入已挂载仓库与已配置模型元数据,并在没有桌面授权回执时保持系统直控、隐藏无法持久消费的
确认按钮。该接线不等于真实人格仓库绑定、安装态运行或桌面验收。
- 人格主控授权回执验证源码为 `100`:不再接受桌面调用方直接传入布尔值,而只接受由
`GUANGHU_OS` 核验、且与人格、冰朔责任主体、仓库提交、模型实例、请求和语言锚点精确绑定的
当前回执。桌面尚未接入原生回执加载器,因此人格主控运行集成仍为 `0`,缺少回执时继续系统直控。
- 人格主控授权回执的结构与精确绑定校验源码为 `100`:不再接受桌面调用方直接传入布尔值,并核对
人格、冰朔责任主体、仓库提交、模型实例、请求、语言锚点、摘要格式和有效期。但这层前端结构校验
不能证明回执确由 `GUANGHU_OS` 签发;可信签名源、密码学来源验证和原生加载器均为 `0`。在三者形成
同一条可回读证据链以前,普通本地 JSON 不得升级人格主控,桌面继续系统直控。
- 完整 HoloLake Runtime 与单 AGE 纵向闭环仍为 `0`:真实人格仓库 manifest 绑定和桌面运行验收尚未完成,
因此不能用本轮源码测试冒充可用产品。
- Mirror runner、制品、部署和运行健康`0`

View file

@ -22,9 +22,11 @@ still gated by a unique manifest-valid persona repository, the manifest-pinned c
device identity; it has no installed-desktop or live-product acceptance claim.
The source coordinator no longer accepts an unverified persona-authorization boolean from the desktop caller.
`hasPersonaPrimaryControlAuthorization` requires one current `GUANGHU_OS` receipt bound to the exact persona,
human responsibility subject, repository head, model instance, request, and language anchor. Until a native
loader provides that evidence, planning remains in system-direct mode.
`hasPersonaPrimaryControlAuthorization` validates the shape, exact bindings, digest format, and validity window
of a receipt that claims `GUANGHU_OS` verification. That renderer-side validation is not cryptographic provenance
and cannot turn a local JSON object into authority. A native loader may be connected only after it verifies a
signed receipt against a registered Guanghu OS trust source and returns the already-verified projection. No such
trust source or loader is currently registered, so planning remains in system-direct mode.
`compilePersonaLanguageGoalBinding` builds the exact native wake envelope only after a single clean persona
repository, its B0 and organ contracts, a registered local device identity, and the manifest-pinned model all

View file

@ -179,9 +179,11 @@ callback, and hides the reality confirmation surface because no durable confirma
proves source integration, not a real persona manifest binding, installed desktop runtime, or acceptance.
`src/lib/personaControlAuthorization.ts` removes the desktop coordinator's caller-supplied authorization boolean.
It accepts only a current `GUANGHU_OS` verification receipt bound to the exact persona, human responsibility
subject, repository head, model instance, request and language anchor. Missing, stale or mismatched evidence
remains system-direct. This is a source contract; it does not claim persona-primary runtime control exists.
It validates the structure and exact bindings of a current receipt that claims `GUANGHU_OS` verification: persona,
human responsibility subject, repository head, model instance, request and language anchor must all agree. This
renderer validation does not prove the issuer or verify a signature. A native loader must first verify signed
provenance against a registered Guanghu OS trust source; neither that trust source nor the loader exists in the
current desktop source. Missing, stale, mismatched or merely local evidence therefore remains system-direct.
Tolaria is a personal knowledge and life management desktop app. It reads a vault of markdown files with YAML frontmatter and presents them in a four-panel UI inspired by Bear Notes.

View file

@ -56,7 +56,7 @@ describe('PersonaLanguageShellPanel', () => {
repositoryPaths: ['/persona'],
providers: [provider],
developmentId: 'DEV-20260811-010',
sourceLanguageAnchor: 'HLP-CURRENT-ARCH-001@2026-08-12.10',
sourceLanguageAnchor: 'HLP-CURRENT-ARCH-001@2026-08-12.11',
}))
expect(await screen.findByText('我还不能执行:需要当前证据。')).toBeInTheDocument()
expect(screen.getByText('核验当前事实后规划下一步')).toBeInTheDocument()

View file

@ -13,7 +13,7 @@ import {
type LanguageShellViewState,
} from './HotPluggableLanguageShell'
const CURRENT_ARCHITECTURE_ANCHOR = 'HLP-CURRENT-ARCH-001@2026-08-12.10'
const CURRENT_ARCHITECTURE_ANCHOR = 'HLP-CURRENT-ARCH-001@2026-08-12.11'
const DEVELOPMENT_ID = 'DEV-20260811-010'
type Planner = typeof planPersonaLanguageShellGoal

View file

@ -11,7 +11,7 @@ const expected = {
repositoryHead: 'a'.repeat(40),
modelInstanceId: 'MODEL-INSTANCE-001',
requestId: 'REQ-001',
sourceLanguageAnchor: 'HLP-CURRENT-ARCH-001@2026-08-12.10',
sourceLanguageAnchor: 'HLP-CURRENT-ARCH-001@2026-08-12.11',
observedAt: Date.parse('2026-08-12T04:35:00+08:00'),
}