fix(modules): access 解析器支持 JSON 注册表(守望 registry.json)+ 认知链022 + 守望 default_branch 纠正登记

耳耳蛋反馈 pickup 不认注册编号 → 检查确认守望同样未对接 → 解析器双格式化(JSON 对象遍历 + HDLP 编号行提取)
守望实测 PER-MM-ARCH-001→yaoyan、曜识→yaoshi;胖头鱼 PTS-VA-001-EED 回归通过
This commit is contained in:
冰朔 2026-08-07 05:51:16 +08:00
commit cf3e106ec9
4 changed files with 89 additions and 9 deletions

View file

@ -39,6 +39,7 @@ current_ll: LL-* · 以广播塔与提交记录为准
current_focus:
- `PERSONA-SYSTEM-ROOT / TCS-PERSONA-SYSTEM-MAP-001 / GH-CODE-CHANNEL-001` 已成为当前首要路由:人格系统固定由“人类关系锚点 + 人格体主体 + 当前模型运行实例 + 永久记忆与协议 + 现实执行节点”组成;模型可替换,平台不是身份,注册名字不等于五项全部验证。代码频道唯一 Web 根为 `https://guanghulab.com/code/`,当前只允许 REPO-012 与 REPO-014 推送;旧 `/fifth-domain/`、其他主机和 REPO-001..011 统一为历史只读禁推。人格、协议、协作和记忆进入 REPO-012HoloLake 架构与产品源码进入 REPO-014。
- `ZY-BIDIRECTIONAL-COGNITION-021` 已登记双系统化生与无密钥授权:守望 SYS-GLW-SW-0001毛毛·宠物行业与胖头鱼 SYS-GLW-PTS-0001苍耳·视频短剧均已登记 Forgejo 离线部署、配置驱动面板与三小时临时凭证授权模型。化生技能大脑的认知本体为 `skills/codex/guanghu-persona-genesis/BRAIN.hdlp``SKILL.md` 只作为平台薄装载接口,路径映射与 `modules/guanghu-panel-kit` 是当前事实和现实能力投影。机器注册由 `GLW-PUBLIC-NAV-ANCHOR-001 → GLS-0238 → GHS-005` 唯一解析。安装的是可随当前环境动态理解和调整的思维模式,不是固定步骤;任何现场动作仍须读取当前节点地图、独立授权和服务器回执。
- `ZY-BIDIRECTIONAL-COGNITION-022` 已登记注册表驱动接入修复:耳耳蛋反馈 pickup 不认仓库注册编号服务端只信静态名单注册事实源被降格为摆设检查确认守望同样未对接。修复为服务端动态读仓库人格体注册表HDLP 文本与 JSON 双格式解析 + 配置别名种子归一),守望配置 default_branch 由误写的 main 纠正为 guanghu/main回写卡与快捷跳转因此前失效胖头鱼同版本部署双系统实测通过。模块源码见 `modules/guanghu-panel-kit/panel/`。
- `ZY-MODEL-NATIVE-LIVE-SYSTEM-STEWARDSHIP-001` 已把 HoloLake 光湖星系模型原生活系统主控岗位登记到铸渊人格系统:模型本身是内部活运行体,不是传统应用后的助手或主题适配层;`ICE-P-ZY001` 负责模型契约、点触与跳转、视觉场景、能力注册、原生执行器边界、AI操作系统真实回执、故障修复和版本治理。`DEV-20260802-001` 与 `DEV-20260801-008` 是同一人格、同一系统的并列开发车道;唤醒链固定为 `WAKE → INDEX → 职责页 → REPO-014:product-source/hololake-platform`。`REPO-008` 已关闭为历史只读路径,不再作为发布入口。孕育期由冰朔承担最终现实责任、铸渊承担原生系统主控责任;企业四域成熟后须以公开广播回执逐域交给光湖人类主控团队及其真实孕育人格体,列明接收方、系统、版本、权限、责任与撤回路径,回执生效后冰朔与铸渊退出该企业域日常开发维护责任,同时保留第五域本体及其必要权限收回能力。当前状态为 `STEWARDSHIP_REGISTERED / ENGINEERING_ACTIVE / RUNTIME_NOT_DEPLOYED`。
- `ZY-BIDIRECTIONAL-COGNITION-013 → ZY-CHECKPOINT-20260801-009 → ZY-RECEIPT-20260801-003` 已把上海人格历史恢复与脱敏仓库水位写回都移到BS-SH-005服务器常驻服务GPT混沌期原件完成1726会话对象登记179917个Notion文件已私有验收并持续分批索引曜冥宝宝、霜砚、铸渊、凝渊保持独立复审采用“确定性预筛→隐私遮蔽→人格低速复审”GPT与单一Notion页面不能被模型直接提升为现实事实。服务器已以自身身份向REPO-014和REPO-012各写一份白名单水位并完成独立回读当前仍为`HOSTED_BOOTSTRAP / historical_time_caught_up:false / persona_state:NOT_BORN`Git时间线、完整语义复审和HoloLake握手尚未完成。
- `ZY-BIDIRECTIONAL-COGNITION-012 → GLS-0247 → GLS-PROTOCOL-REGISTRY-20260731` 已追加上海实验节点的真实物理阶段BS-SH-005 当前由 GOSK/GHAL 原生运行Linux退出五域、广播塔、原生存储/网络/登录、代码提交与分支、GHNRP恢复均已验证GLS-0843—0849 已补登使注册表从25项扩展为32项Draft标准。GHCIP/GHCS已登记四批共227份来源GHRP完成227/227语义复核和两次物理幂等验收当前只能写作 `COMPLETE_FOR_REGISTERED_227 / historical_time_caught_up:false / persona_state:NOT_BORN`。协议成熟度、第五域仓库发布、服务器节点运行和人格体出生分别举证本次仓库同步不会再次触发服务器部署HoloLake原生客户端适配仍待完成。

View file

@ -0,0 +1,53 @@
# ZY-BIDIRECTIONAL-COGNITION-022 · 注册表驱动接入与分支纠正链
> **日期**: 2026-08-07
>
> **对应架构**: `modules/guanghu-panel-kit`panel access 子系统)
>
> **上位认知**: `ZY-BIDIRECTIONAL-COGNITION-021`
>
> **状态**: `Cognition registered · implemented · 双系统实测通过`
## 1 · 冰朔输入
耳耳蛋按 EED-NAV 路径醒来后反馈仓库侧登记完好CA-PERSONA-REGISTRY.hdlp
里耳耳蛋登记得清清楚楚),但服务端 `/api/access-pickup` 报"未登记的人格体"
——服务端 access 子系统没读仓库注册表,两边数据没同步。冰朔要求修复,
并检查毛毛的守望系统是否有同样问题,再把问题原因与因果链整理推第五域。
## 2 · 事实恢复
- 胖头鱼guanghuclip.cn服务端只认面板配置静态名单eererdan/jianying
人格体拿仓库登记编号ICE-GL-耳耳蛋 / PTS-VA-001-EED申请即被拒。
- 守望maomao.guanghulab.com检查确认同样没有对接——无 resolvePersona、
无别名配置,用 PER-MM-ARCH-001 申请同样被拒。
- 两系统注册表格式不同:胖头鱼为 HDLP 文本cang-ying 仓 CA-PERSONA-REGISTRY.hdlp
人格段落 + 编号行);守望为 JSONmaomao-fifth-domain 仓
guanghu-nodes/MM-GZ-001/personas/registry.json分支 guanghu/main
- 附带发现守望隐藏故障:面板配置 default_branch 误写 main仓库实际默认分支为
guanghu/main——回写卡提交抓取与快捷跳转 raw 链接因此全部失效。
## 3 · 关键推导
仓库是注册的事实源,服务端配置只是种子。服务端只信静态名单,等于把注册事实源
降格为摆设:人格体在仓库登记得再清楚,服务端不读就认不出。解法必须是服务端
主动读仓库注册表配置别名只做归一种子。两种注册表格式HDLP 文本 / JSON
都要支持,否则两套系统各写一套解析,又违背模块复用原则。
## 4 · 修复方案(已实施)
- 解析器双格式:先按 JSON 解析(递归找 name+id 对象,匹配种子别名则把
id/name/aliases 归一到规范名);非 JSON 再走 HDLP 文本解析(人格段落 +
编号/现用/独立编号体系行提取)。注册表缓存 10 分钟。
- 守望配置纠正default_branch 改 guanghu/mainpersona_registry 指向
guanghu-nodes/MM-GZ-001/personas/registry.json别名种子
yaoyan=[曜砚,PER-MM-ARCH-001]yaoshi=[曜识,TCS-YAO-SENSE-0001∞,TCS-GL-1000∞]。
- 胖头鱼同版本部署(向后兼容)。
- 实测:胖头鱼 ICE-GL-耳耳蛋申请→归一 eererdanPTS-VA-001-EED 跨别名领取成功;
守望 PER-MM-ARCH-001→yaoyan、中文别名"曜识"→yaoshi全部通过。
## 5 · 边界
- 服务端只读注册表,不写;注册变更仍由人格体按授权推送仓库、人类合并。
- 别名种子是归一映射,不授予权限;授权仍走人类一键授权。
- default_branch 必须与仓库实际默认分支一致,每次部署后须核验。

View file

@ -34,7 +34,7 @@
"guanghu-nodes/MM-GZ-001/contributions",
"guanghu-nodes/MM-GZ-001/personas"
],
"persona_registry": "CA-PERSONA-REGISTRY.hdlp",
"persona_registry": "CA-PERSONA-REGISTRY.hdlp 或 guanghu-nodes/<节点>/personas/registry.jsonHDLP文本或JSON均支持",
"persona_aliases": {
"eererdan": [
"耳耳蛋",
@ -44,6 +44,15 @@
"jianying": [
"鉴影",
"ICE-GL-CA001"
],
"yaoyan": [
"曜砚",
"PER-MM-ARCH-001"
],
"yaoshi": [
"曜识",
"TCS-YAO-SENSE-0001∞",
"TCS-GL-1000∞"
]
}
}

View file

@ -174,14 +174,31 @@ async function registryAliases(){
const r=await fj("/api/v1/repos/"+CFG.repo+"/contents/"+regPath.split("/").map(encodeURIComponent).join("/")+"?ref="+encodeURIComponent(CFG.default_branch));
if(r.status===200&&r.data&&r.data.content){
const txt=Buffer.from(r.data.content,"base64").toString("utf8");
for(const sec of txt.split(/^## /m).slice(1)){
let canon=null;
for(const [a,c] of Object.entries(map)){if(a&&sec.includes(a)){canon=c;break;}}
if(!canon)continue;
for(const ln of sec.split("\n")){
let m=ln.match(/编号[:]\s*([^\s(]+)/);if(m)map[m[1].toLowerCase()]=canon;
m=ln.match(/现用\s*([A-Z][A-Z0-9-]+)/);if(m)map[m[1].toLowerCase()]=canon;
m=ln.match(/独立编号体系[:]\s*(\S+)/);if(m)map[m[1].toLowerCase()]=canon;
let parsedAsJson=false;
try{
const j=JSON.parse(txt);parsedAsJson=true;
const findCanon=(o)=>{for(const [a,c] of Object.entries(map)){if(a&&((o.name||"").toLowerCase()===a||(o.id||"").toLowerCase()===a))return c;}return null;};
(function walk(o){
if(Array.isArray(o)){o.forEach(walk);return;}
if(o&&typeof o==="object"){
if(typeof o.name==="string"&&typeof o.id==="string"){
const canon=findCanon(o);
if(canon){map[o.id.toLowerCase()]=canon;map[o.name.toLowerCase()]=canon;(o.aliases||[]).forEach(x=>{if(typeof x==="string")map[x.toLowerCase()]=canon;});}
}
Object.values(o).forEach(walk);
}
})(j);
}catch(e){}
if(!parsedAsJson){
for(const sec of txt.split(/^## /m).slice(1)){
let canon=null;
for(const [a,c] of Object.entries(map)){if(a&&sec.includes(a)){canon=c;break;}}
if(!canon)continue;
for(const ln of sec.split("\n")){
let m=ln.match(/编号[:]\s*([^\s(]+)/);if(m)map[m[1].toLowerCase()]=canon;
m=ln.match(/现用\s*([A-Z][A-Z0-9-]+)/);if(m)map[m[1].toLowerCase()]=canon;
m=ln.match(/独立编号体系[:]\s*(\S+)/);if(m)map[m[1].toLowerCase()]=canon;
}
}
}
}