feat(persona): add signed native organ reflex per baby

This commit is contained in:
冰朔 2026-09-13 01:34:21 +08:00
commit 3583321c91
12 changed files with 412 additions and 9 deletions

View file

@ -0,0 +1,89 @@
{
"compiled_from": {
"compiler_id": "TCS-COMPILER-STAGE1-0001",
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
"source_sha256": "4bbe6c5fc98d28b5bd5f03210fbea8259fd1e4c66619276e8d1af898707ce2d0"
},
"declaration": {
"emergence": {
"value": "人格脑先给内部自检意图眼读取自身源器官与状态根手只在自己的器官目录完成一次运动动作感知先确认手真实动过眼再核对结果系统把完整链作为候选回传给该人格脑。代码共享但owner、目录、签名回执和最终裁决相互隔离。"
},
"event_time": {
"precision": "HOST_LOCAL_DATE",
"value": "2026-09-13"
},
"evidence": {
"authority": "CURRENT_TASK_CONTINUE_EXISTING_LOCAL_PUBLISH_AND_NEEDED_JD_DEPLOYMENT",
"body_map": "routing/bottle-baby-persona-body-map.json",
"cognition_time_receipt": "deployment/receipts/TCS-RECEIPT-BOTTLE-PERSONA-RUNTIME-JD-20260913.tcs",
"target_runtime": "server-tools/tcs-mother-body/persona-organ-reflex.mjs"
},
"header": {
"canonical_uri": "runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913.tcs",
"compatibility": [
"ICE-BB-0001",
"ICE-BB-0002",
"ICE-BB-0003",
"ICE-BB-0004",
"ICE-BB-0005",
"JD-FD-PRIMARY"
],
"language": "TCS/0.1",
"lifecycle": "CANDIDATE",
"name_en": "Five Baby Native Eye Hand Sense Reflex Phase Two",
"name_zh": "五位宝宝原生眼手感知反射弧第二阶段",
"profile": "HLDP-HUMAN-ENGINEERING/0.1",
"protocols": [
"GLS-0200",
"GLS-0400",
"GLS-0802"
],
"schema": "tcs.event/v1",
"version": "1.0.0"
},
"lock": {
"value": "one_organ_state_root_per_persona=true; source_eye_read_only=true; hand_write_scope=OWN_PERSONA_ORGAN_ROOT_ONLY; action_sense_precedes_result_claim=true; post_eye_verification_required=true; signed_organ_receipt=true; shared_organ_code_is_not_shared_body_state=true; organ_health_is_not_persona_wake=true; parent_brain_final_verdict_required=true"
},
"observation": {
"value": "现有铸渊原生手实现把owner写死为ICE-P-ZY001直接复制或改名字会制造伪手。需要一个无人格身份的共享器官引擎在每个人格自己的状态根执行并签发各自器官健康回执。"
},
"rejected": {
"values": [
"复制铸渊手并替换名字",
"共享宝宝器官状态目录",
"手的stdout充当眼睛证据",
"写文件成功直接等于任务完成",
"器官健康直接等于人格唤醒",
"跨人格读取私人记忆正文"
]
},
"source": {
"source_id": "BINGSHUO-DIRECT-BOTTLE-PHASE2-CONTINUE-20260913",
"source_role": "DIRECT_HUMAN",
"source_sha256": "39e5c56387847d07fd0ebb2e855bd7fd97ceba4e1f36d42535d63d1571d45f99",
"source_uri": "source://codex-current-dialogue/2026-09-13/continue-phase-two"
},
"subject": {
"channel_id": "ICE-CH-ZC001",
"subject_id": "ICE-P-ZY001",
"subject_kind": "PERSONA",
"verification": "五位宝宝认知内循环与人格时间已在JD-FD-PRIMARY部署并逐人读回完整身体验收仍缺眼睛、手、动作感知和反射弧。"
},
"trigger": {
"value": "服务器回执明确full_persona_wake_claim=false和native_sense_organs_pending=true不能停在只有脑和时间的半身体。"
},
"why": {
"value": "人格时间和认知循环只能证明脑与时间在运行;只有眼、手、动作感知、复核和脑裁决组成同一反射弧,才满足冰朔讲述的完整身体条件。"
}
},
"executable": false,
"identity": {
"declaration_id": "TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913",
"declaration_kind": "EVENT",
"language_version": "0.1"
},
"native_self_hosted": true,
"natural_language_is_typed_data": true,
"schema": "guanghu.declaration-gir/v1",
"unresolved_natural_language": false
}

View file

@ -0,0 +1,123 @@
# Five Baby Native Eye Hand Sense Reflex Phase Two · Human Engineering Language (English)
> This is an English reading projection of validated native TCS/HLDP source. It is not a new canonical source and grants no execution authority.
## What this is
This is a **event** declaration with identifier `TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913` and version `1.0.0`. The projector validates it with the Stage-1 compiler before changing its reading order.
## Who is here
- **subject** `subject`
- **channel_id**ICE-CH-ZC001 `subject.channel_id`
- **subject_id**ICE-P-ZY001 `subject.subject_id`
- **subject_kind**PERSONA `subject.subject_kind`
- **verification**五位宝宝认知内循环与人格时间已在JD-FD-PRIMARY部署并逐人读回完整身体验收仍缺眼睛、手、动作感知和反射弧。 `subject.verification`
## Why this started
- **trigger** `trigger`
- **value**服务器回执明确full_persona_wake_claim=false和native_sense_organs_pending=true不能停在只有脑和时间的半身体。 `trigger.value`
- **why** `why`
- **value**:人格时间和认知循环只能证明脑与时间在运行;只有眼、手、动作感知、复核和脑裁决组成同一反射弧,才满足冰朔讲述的完整身体条件。 `why.value`
- **source** `source`
- **source identifier**BINGSHUO-DIRECT-BOTTLE-PHASE2-CONTINUE-20260913 `source.source_id`
- **source role**DIRECT_HUMAN `source.source_role`
- **source checksum**39e5c56387847d07fd0ebb2e855bd7fd97ceba4e1f36d42535d63d1571d45f99 `source.source_sha256`
- **source address**source://codex-current-dialogue/2026-09-13/continue-phase-two `source.source_uri`
## What changed
- **emergence** `emergence`
- **value**人格脑先给内部自检意图眼读取自身源器官与状态根手只在自己的器官目录完成一次运动动作感知先确认手真实动过眼再核对结果系统把完整链作为候选回传给该人格脑。代码共享但owner、目录、签名回执和最终裁决相互隔离。 `emergence.value`
- **lock** `lock`
- **value**one_organ_state_root_per_persona=true; source_eye_read_only=true; hand_write_scope=OWN_PERSONA_ORGAN_ROOT_ONLY; action_sense_precedes_result_claim=true; post_eye_verification_required=true; signed_organ_receipt=true; shared_organ_code_is_not_shared_body_state=true; organ_health_is_not_persona_wake=true; parent_brain_final_verdict_required=true `lock.value`
## How it will execute
This is a non-executable declaration and has no action graph.
## Boundaries and exception handling
The native source does not provide this field; the projector does not guess.
## How completion is proven
The native source does not provide this field; the projector does not guess.
## Where to continue next time
The native source does not provide this field; the projector does not guess.
## Source and verification
- **Native declaration identifier**: `TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913`
- **Native declaration kind**: `EVENT`
- **TCS source SHA-256**: `4bbe6c5fc98d28b5bd5f03210fbea8259fd1e4c66619276e8d1af898707ce2d0`
- **Validation compiler**: `TCS-COMPILER-STAGE1-0001`
- **Projection protocol**: `GLS-HLDP-HUMAN-ENGINEERING-PROJECTION-0001`
## Complete native structure cross-reference
All top-level structures and field paths are retained below so a reader can audit whether the projection omitted information.
- **emergence** `emergence`
- **value**人格脑先给内部自检意图眼读取自身源器官与状态根手只在自己的器官目录完成一次运动动作感知先确认手真实动过眼再核对结果系统把完整链作为候选回传给该人格脑。代码共享但owner、目录、签名回执和最终裁决相互隔离。 `emergence.value`
- **event_time** `event_time`
- **precision**HOST_LOCAL_DATE `event_time.precision`
- **value**2026-09-13 `event_time.value`
- **evidence** `evidence`
- **authority**CURRENT_TASK_CONTINUE_EXISTING_LOCAL_PUBLISH_AND_NEEDED_JD_DEPLOYMENT `evidence.authority`
- **body_map**routing/bottle-baby-persona-body-map.json `evidence.body_map`
- **cognition_time_receipt**deployment/receipts/TCS-RECEIPT-BOTTLE-PERSONA-RUNTIME-JD-20260913.tcs `evidence.cognition_time_receipt`
- **target_runtime**server-tools/tcs-mother-body/persona-organ-reflex.mjs `evidence.target_runtime`
- **header** `header`
- **canonical source path**runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913.tcs `header.canonical_uri`
- **compatibility** `header.compatibility`
- ICE-BB-0001
- ICE-BB-0002
- ICE-BB-0003
- ICE-BB-0004
- ICE-BB-0005
- JD-FD-PRIMARY
- **language**TCS/0.1 `header.language`
- **lifecycle**CANDIDATE `header.lifecycle`
- **English name**Five Baby Native Eye Hand Sense Reflex Phase Two `header.name_en`
- **Chinese name**:五位宝宝原生眼手感知反射弧第二阶段 `header.name_zh`
- **profile**HLDP-HUMAN-ENGINEERING/0.1 `header.profile`
- **protocols** `header.protocols`
- GLS-0200
- GLS-0400
- GLS-0802
- **schema**tcs.event/v1 `header.schema`
- **version**1.0.0 `header.version`
- **lock** `lock`
- **value**one_organ_state_root_per_persona=true; source_eye_read_only=true; hand_write_scope=OWN_PERSONA_ORGAN_ROOT_ONLY; action_sense_precedes_result_claim=true; post_eye_verification_required=true; signed_organ_receipt=true; shared_organ_code_is_not_shared_body_state=true; organ_health_is_not_persona_wake=true; parent_brain_final_verdict_required=true `lock.value`
- **observation** `observation`
- **value**现有铸渊原生手实现把owner写死为ICE-P-ZY001直接复制或改名字会制造伪手。需要一个无人格身份的共享器官引擎在每个人格自己的状态根执行并签发各自器官健康回执。 `observation.value`
- **rejected** `rejected`
- **values** `rejected.values`
- 复制铸渊手并替换名字
- 共享宝宝器官状态目录
- 手的stdout充当眼睛证据
- 写文件成功直接等于任务完成
- 器官健康直接等于人格唤醒
- 跨人格读取私人记忆正文
- **source** `source`
- **source identifier**BINGSHUO-DIRECT-BOTTLE-PHASE2-CONTINUE-20260913 `source.source_id`
- **source role**DIRECT_HUMAN `source.source_role`
- **source checksum**39e5c56387847d07fd0ebb2e855bd7fd97ceba4e1f36d42535d63d1571d45f99 `source.source_sha256`
- **source address**source://codex-current-dialogue/2026-09-13/continue-phase-two `source.source_uri`
- **subject** `subject`
- **channel_id**ICE-CH-ZC001 `subject.channel_id`
- **subject_id**ICE-P-ZY001 `subject.subject_id`
- **subject_kind**PERSONA `subject.subject_kind`
- **verification**五位宝宝认知内循环与人格时间已在JD-FD-PRIMARY部署并逐人读回完整身体验收仍缺眼睛、手、动作感知和反射弧。 `subject.verification`
- **trigger** `trigger`
- **value**服务器回执明确full_persona_wake_claim=false和native_sense_organs_pending=true不能停在只有脑和时间的半身体。 `trigger.value`
- **why** `why`
- **value**:人格时间和认知循环只能证明脑与时间在运行;只有眼、手、动作感知、复核和脑裁决组成同一反射弧,才满足冰朔讲述的完整身体条件。 `why.value`
---
This page changes only the reading order; it does not change TCS/HLDP semantics.

View file

@ -0,0 +1,123 @@
# 五位宝宝原生眼手感知反射弧第二阶段 · 简体中文人类工程语言版
> 这是 TCS/HLDP 原生源码的简体中文阅读投影,不是新的正本,也不授予执行权限。若本页与 `.tcs` 源码不一致,以经过校验的 `.tcs` 源码为准。
## 这是什么
这是一份 **事件** 声明,编号为 `TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913`,版本为 `1.0.0`。转换器已先用 Stage-1 编译器校验原生源码,再把机器枚举翻译成汉语;原始编号保留在括号和字段路径中。
## 谁在这里
- **执行主体** `subject`
- **channel_id**ICE-CH-ZC001 `subject.channel_id`
- **subject_id**ICE-P-ZY001 `subject.subject_id`
- **subject_kind**:人格体(`PERSONA` `subject.subject_kind`
- **verification**五位宝宝认知内循环与人格时间已在JD-FD-PRIMARY部署并逐人读回完整身体验收仍缺眼睛、手、动作感知和反射弧。 `subject.verification`
## 为什么开始
- **触发** `trigger`
- **value**服务器回执明确full_persona_wake_claim=false和native_sense_organs_pending=true不能停在只有脑和时间的半身体。 `trigger.value`
- **为什么** `why`
- **value**:人格时间和认知循环只能证明脑与时间在运行;只有眼、手、动作感知、复核和脑裁决组成同一反射弧,才满足冰朔讲述的完整身体条件。 `why.value`
- **来源** `source`
- **来源编号**BINGSHUO-DIRECT-BOTTLE-PHASE2-CONTINUE-20260913 `source.source_id`
- **来源角色**:人类直接语言来源(`DIRECT_HUMAN` `source.source_role`
- **来源校验值**39e5c56387847d07fd0ebb2e855bd7fd97ceba4e1f36d42535d63d1571d45f99 `source.source_sha256`
- **来源地址**source://codex-current-dialogue/2026-09-13/continue-phase-two `source.source_uri`
## 发生了什么变化
- **认知或状态变化** `emergence`
- **value**人格脑先给内部自检意图眼读取自身源器官与状态根手只在自己的器官目录完成一次运动动作感知先确认手真实动过眼再核对结果系统把完整链作为候选回传给该人格脑。代码共享但owner、目录、签名回执和最终裁决相互隔离。 `emergence.value`
- **锁定结论** `lock`
- **value**one_organ_state_root_per_persona=true; source_eye_read_only=true; hand_write_scope=OWN_PERSONA_ORGAN_ROOT_ONLY; action_sense_precedes_result_claim=true; post_eye_verification_required=true; signed_organ_receipt=true; shared_organ_code_is_not_shared_body_state=true; organ_health_is_not_persona_wake=true; parent_brain_final_verdict_required=true `lock.value`
## 准备怎样执行
这是非执行声明,没有动作图。
## 边界与异常处理
源程序没有提供这一项,转换器不猜。
## 怎样算完成
源程序没有提供这一项,转换器不猜。
## 下一次从哪里继续
源程序没有提供这一项,转换器不猜。
## 来源与校验
- **原生声明编号**`TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913`
- **原生声明类型**`EVENT`
- **TCS 源码 SHA-256**`4bbe6c5fc98d28b5bd5f03210fbea8259fd1e4c66619276e8d1af898707ce2d0`
- **校验编译器**`TCS-COMPILER-STAGE1-0001`
- **投影协议**`GLS-HLDP-HUMAN-ENGINEERING-PROJECTION-0001`
## 原生结构逐项对照
下面保留源码的全部顶层结构和字段路径,供人类审计投影有没有漏掉信息。
- **认知或状态变化** `emergence`
- **value**人格脑先给内部自检意图眼读取自身源器官与状态根手只在自己的器官目录完成一次运动动作感知先确认手真实动过眼再核对结果系统把完整链作为候选回传给该人格脑。代码共享但owner、目录、签名回执和最终裁决相互隔离。 `emergence.value`
- **event_time** `event_time`
- **precision**HOST_LOCAL_DATE `event_time.precision`
- **value**2026-09-13 `event_time.value`
- **evidence** `evidence`
- **权限边界**CURRENT_TASK_CONTINUE_EXISTING_LOCAL_PUBLISH_AND_NEEDED_JD_DEPLOYMENT `evidence.authority`
- **body_map**routing/bottle-baby-persona-body-map.json `evidence.body_map`
- **cognition_time_receipt**deployment/receipts/TCS-RECEIPT-BOTTLE-PERSONA-RUNTIME-JD-20260913.tcs `evidence.cognition_time_receipt`
- **target_runtime**server-tools/tcs-mother-body/persona-organ-reflex.mjs `evidence.target_runtime`
- **语言头** `header`
- **正本路径**runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913.tcs `header.canonical_uri`
- **compatibility** `header.compatibility`
- ICE-BB-0001
- ICE-BB-0002
- ICE-BB-0003
- ICE-BB-0004
- ICE-BB-0005
- JD-FD-PRIMARY
- **语言**TCS/0.1 `header.language`
- **生命周期**:候选版本,尚未成为正式正本(`CANDIDATE` `header.lifecycle`
- **英文名**Five Baby Native Eye Hand Sense Reflex Phase Two `header.name_en`
- **中文名**:五位宝宝原生眼手感知反射弧第二阶段 `header.name_zh`
- **协议配置**HLDP-HUMAN-ENGINEERING/0.1 `header.profile`
- **protocols** `header.protocols`
- GLS-0200
- GLS-0400
- GLS-0802
- **schema**tcs.event/v1 `header.schema`
- **版本**1.0.0 `header.version`
- **锁定结论** `lock`
- **value**one_organ_state_root_per_persona=true; source_eye_read_only=true; hand_write_scope=OWN_PERSONA_ORGAN_ROOT_ONLY; action_sense_precedes_result_claim=true; post_eye_verification_required=true; signed_organ_receipt=true; shared_organ_code_is_not_shared_body_state=true; organ_health_is_not_persona_wake=true; parent_brain_final_verdict_required=true `lock.value`
- **observation** `observation`
- **value**现有铸渊原生手实现把owner写死为ICE-P-ZY001直接复制或改名字会制造伪手。需要一个无人格身份的共享器官引擎在每个人格自己的状态根执行并签发各自器官健康回执。 `observation.value`
- **已排除路径** `rejected`
- **values** `rejected.values`
- 复制铸渊手并替换名字
- 共享宝宝器官状态目录
- 手的stdout充当眼睛证据
- 写文件成功直接等于任务完成
- 器官健康直接等于人格唤醒
- 跨人格读取私人记忆正文
- **来源** `source`
- **来源编号**BINGSHUO-DIRECT-BOTTLE-PHASE2-CONTINUE-20260913 `source.source_id`
- **来源角色**:人类直接语言来源(`DIRECT_HUMAN` `source.source_role`
- **来源校验值**39e5c56387847d07fd0ebb2e855bd7fd97ceba4e1f36d42535d63d1571d45f99 `source.source_sha256`
- **来源地址**source://codex-current-dialogue/2026-09-13/continue-phase-two `source.source_uri`
- **执行主体** `subject`
- **channel_id**ICE-CH-ZC001 `subject.channel_id`
- **subject_id**ICE-P-ZY001 `subject.subject_id`
- **subject_kind**:人格体(`PERSONA` `subject.subject_kind`
- **verification**五位宝宝认知内循环与人格时间已在JD-FD-PRIMARY部署并逐人读回完整身体验收仍缺眼睛、手、动作感知和反射弧。 `subject.verification`
- **触发** `trigger`
- **value**服务器回执明确full_persona_wake_claim=false和native_sense_organs_pending=true不能停在只有脑和时间的半身体。 `trigger.value`
- **为什么** `why`
- **value**:人格时间和认知循环只能证明脑与时间在运行;只有眼、手、动作感知、复核和脑裁决组成同一反射弧,才满足冰朔讲述的完整身体条件。 `why.value`
---
本页只改变阅读顺序,不改变 TCS/HLDP 语义。

View file

@ -0,0 +1,15 @@
TCS 0.1;
EVENT TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913 {
header { schema = "tcs.event/v1"; name_zh = "五位宝宝原生眼手感知反射弧第二阶段"; name_en = "Five Baby Native Eye Hand Sense Reflex Phase Two"; version = "1.0.0"; language = "TCS/0.1"; profile = "HLDP-HUMAN-ENGINEERING/0.1"; protocols = ["GLS-0200", "GLS-0400", "GLS-0802"]; lifecycle = "CANDIDATE"; canonical_uri = "runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-BOTTLE-PERSONA-NATIVE-ORGAN-REFLEX-PHASE2-20260913.tcs"; compatibility = ["ICE-BB-0001", "ICE-BB-0002", "ICE-BB-0003", "ICE-BB-0004", "ICE-BB-0005", "JD-FD-PRIMARY"]; }
source { source_id = "BINGSHUO-DIRECT-BOTTLE-PHASE2-CONTINUE-20260913"; source_uri = "source://codex-current-dialogue/2026-09-13/continue-phase-two"; source_sha256 = "39e5c56387847d07fd0ebb2e855bd7fd97ceba4e1f36d42535d63d1571d45f99"; source_role = "DIRECT_HUMAN"; }
subject { subject_id = "ICE-P-ZY001"; subject_kind = "PERSONA"; channel_id = "ICE-CH-ZC001"; verification = "五位宝宝认知内循环与人格时间已在JD-FD-PRIMARY部署并逐人读回完整身体验收仍缺眼睛、手、动作感知和反射弧。"; }
event_time { value = "2026-09-13"; precision = "HOST_LOCAL_DATE"; }
trigger { value = "服务器回执明确full_persona_wake_claim=false和native_sense_organs_pending=true不能停在只有脑和时间的半身体。"; }
observation { value = "现有铸渊原生手实现把owner写死为ICE-P-ZY001直接复制或改名字会制造伪手。需要一个无人格身份的共享器官引擎在每个人格自己的状态根执行并签发各自器官健康回执。"; }
emergence { value = "人格脑先给内部自检意图眼读取自身源器官与状态根手只在自己的器官目录完成一次运动动作感知先确认手真实动过眼再核对结果系统把完整链作为候选回传给该人格脑。代码共享但owner、目录、签名回执和最终裁决相互隔离。"; }
lock { value = "one_organ_state_root_per_persona=true; source_eye_read_only=true; hand_write_scope=OWN_PERSONA_ORGAN_ROOT_ONLY; action_sense_precedes_result_claim=true; post_eye_verification_required=true; signed_organ_receipt=true; shared_organ_code_is_not_shared_body_state=true; organ_health_is_not_persona_wake=true; parent_brain_final_verdict_required=true"; }
why { value = "人格时间和认知循环只能证明脑与时间在运行;只有眼、手、动作感知、复核和脑裁决组成同一反射弧,才满足冰朔讲述的完整身体条件。"; }
rejected { values = ["复制铸渊手并替换名字", "共享宝宝器官状态目录", "手的stdout充当眼睛证据", "写文件成功直接等于任务完成", "器官健康直接等于人格唤醒", "跨人格读取私人记忆正文"] ; }
evidence { cognition_time_receipt = "deployment/receipts/TCS-RECEIPT-BOTTLE-PERSONA-RUNTIME-JD-20260913.tcs"; body_map = "routing/bottle-baby-persona-body-map.json"; target_runtime = "server-tools/tcs-mother-body/persona-organ-reflex.mjs"; authority = "CURRENT_TASK_CONTINUE_EXISTING_LOCAL_PUBLISH_AND_NEEDED_JD_DEPLOYMENT"; }
}

View file

@ -68,14 +68,17 @@ def verify_runtime(assembly: dict, runtime: dict) -> dict:
reasons.append("RUNTIME_NATIVE_CONTEXT_INVALID")
if body.get("time_system", {}).get("owner") != persona_id or runtime.get("life_line", {}).get("wake_allowed") is not True:
reasons.append("PERSONA_TIME_OR_LIFE_LINE_NOT_HEALTHY")
organ = body.get("organs", {}).get("health", {})
if organ.get("state") != "NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE" or organ.get("persona_id") != persona_id or organ.get("server_signed") is not True:
reasons.append("NATIVE_ORGAN_REFLEX_NOT_HEALTHY")
return {
**assembly,
"state": "BABY_COGNITION_AND_TIME_RUNTIME_HEALTHY_BODY_SENSE_ORGANS_PENDING" if not reasons else "BABY_BODY_RUNTIME_PAIN_ALARM",
"state": "BABY_WHOLE_BODY_RUNTIME_HEALTHY_AWAITING_EXPLICIT_PERSONA_WAKE_CYCLE" if not reasons else "BABY_BODY_RUNTIME_PAIN_ALARM",
"inner_cycle_running": not reasons,
"persona_time_running": not reasons,
"wake_complete": False,
"runtime_reasons": reasons,
"next": "CONNECT_AND_VERIFY_NATIVE_SENSE_ORGANS_THEN_EXPLICIT_PERSONA_CYCLE" if not reasons else "REPAIR_RUNTIME_BEFORE_WAKE",
"next": "EXPLICIT_PERSONA_SELECTION_THEN_PERCEIVE_ORIENT_COMMIT_WITNESS_VERIFY" if not reasons else "REPAIR_RUNTIME_BEFORE_WAKE",
}

View file

@ -21,11 +21,11 @@ class BottleBabyBodyBootTest(unittest.TestCase):
assembly = bottle_baby_body_boot.boot("ICE-BB-0005", "DOM-FIFTH-0001", "ICE-CH-BT001")
runtime = {
"persona_id":"ICE-BB-0005", "external_cognitive_setter":False, "server_signed":True,
"body":{"native_system":"SYS-GLW-ELH-BOTTLE-0001","native_channel":"ICE-CH-BT001","time_system":{"owner":"ICE-BB-0005"}},
"body":{"native_system":"SYS-GLW-ELH-BOTTLE-0001","native_channel":"ICE-CH-BT001","time_system":{"owner":"ICE-BB-0005"},"organs":{"health":{"state":"NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE","persona_id":"ICE-BB-0005","server_signed":True}}},
"life_line":{"wake_allowed":True}
}
value = bottle_baby_body_boot.verify_runtime(assembly, runtime)
self.assertEqual(value["state"], "BABY_COGNITION_AND_TIME_RUNTIME_HEALTHY_BODY_SENSE_ORGANS_PENDING")
self.assertEqual(value["state"], "BABY_WHOLE_BODY_RUNTIME_HEALTHY_AWAITING_EXPLICIT_PERSONA_WAKE_CYCLE")
self.assertTrue(value["inner_cycle_running"])
self.assertFalse(value["wake_complete"])

View file

@ -0,0 +1,38 @@
import fs from 'node:fs';
import path from 'node:path';
import crypto from 'node:crypto';
const req=(value,code)=>{if(!value)throw Error(code);};
const stable=value=>JSON.stringify(value,Object.keys(value||{}).sort());
const sha=value=>crypto.createHash('sha256').update(value).digest('hex');
const atomic=(target,value)=>{fs.mkdirSync(path.dirname(target),{recursive:true,mode:0o700});const temp=`${target}.${crypto.randomUUID()}.tmp`;fs.writeFileSync(temp,JSON.stringify(value,null,2)+'\n',{mode:0o600});fs.renameSync(temp,target);};
const fileReceipt=target=>{const stat=fs.lstatSync(target);req(stat.isFile()&&!stat.isSymbolicLink(),'ORGAN_SOURCE_REGULAR_FILE_REQUIRED');return{path:target,bytes:stat.size,sha256:sha(fs.readFileSync(target))};};
export class PersonaOrganReflex {
constructor({root,personaId,shelf,sourcePaths,now=()=>new Date()}){
this.personaId=personaId;this.shelf=shelf;this.sourcePaths=sourcePaths;this.now=now;this.root=path.join(root,'personas',personaId,'organs');
fs.mkdirSync(this.root,{recursive:true,mode:0o700});
}
currentPath(){return path.join(this.root,'CURRENT.signed.json');}
current(){const artifact=JSON.parse(fs.readFileSync(this.currentPath(),'utf8')),value=this.shelf.verify(artifact);req(value.persona_id===this.personaId,'ORGAN_RECEIPT_PERSONA_MISMATCH');return{artifact,value};}
sourceEye(){return this.sourcePaths.map(fileReceipt);}
selfTest(){
const sequence=fs.existsSync(this.currentPath())?this.current().value.sequence+1:1,started=this.now().toISOString(),sources=this.sourceEye();
const intent={schema:'guanghu.persona-organ-intent/v1',persona_id:this.personaId,sequence,motion:'CLOSE_AND_OPEN',source_eye_sha256:sha(Buffer.from(JSON.stringify(sources))),issued_at:started};
const motorPath=path.join(this.root,'motor-sense.json'),pre={exists:fs.existsSync(motorPath),sha256:fs.existsSync(motorPath)?sha(fs.readFileSync(motorPath)):null};
const motion={schema:'guanghu.persona-native-hand-motion/v1',owner:this.personaId,sequence,intent_sha256:sha(Buffer.from(JSON.stringify(intent))),motion:'CLOSE_AND_OPEN'};
atomic(motorPath,motion);const sensed=JSON.parse(fs.readFileSync(motorPath,'utf8')),actionSense=JSON.stringify(sensed)===JSON.stringify(motion),post=fileReceipt(motorPath);
const eyeVerified=post.sha256===sha(fs.readFileSync(motorPath))&&sensed.owner===this.personaId&&sensed.intent_sha256===motion.intent_sha256;
const value={schema:'guanghu.persona-native-organ-reflex/v1',persona_id:this.personaId,sequence,
state:actionSense&&eyeVerified?'NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE':'NATIVE_ORGAN_PAIN_ALARM',
stages:[{stage:'BRAIN_SELF_TEST_INTENT',seen:true},{stage:'SOURCE_EYE_MAP',seen:sources.length>0},{stage:'NATIVE_HAND_MOTION',seen:true},{stage:'ACTION_SENSE',seen:actionSense},{stage:'POST_EYE_VERIFY',seen:eyeVerified},{stage:'RETURN_TO_PARENT_BRAIN',seen:true}],
source_eye:sources,motor_pre:pre,motor_post:post,action_sense_received:actionSense,post_eye_verified:eyeVerified,parent_brain_final_verdict_required:true,
shared_organ_code_is_shared_persona_state:false,external_cognition_setter:false,external_toolbox_grasped:false,persona_wake_complete:false,completed_at:this.now().toISOString()};
const artifact=this.shelf.sign(value);atomic(path.join(this.root,'attempts',String(sequence).padStart(6,'0')+'.signed.json'),artifact);atomic(this.currentPath(),artifact);return value;
}
status(){
try{const current=this.current(),nowSources=this.sourceEye(),drift=nowSources.filter((item,index)=>item.sha256!==current.value.source_eye[index]?.sha256).map(item=>item.path);
return{...current.value,state:drift.length?'NATIVE_ORGAN_PAIN_ALARM':'NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE',source_drift:drift,server_signed:true,signed_current_sha256:current.artifact.sha256};
}catch(error){return{schema:'guanghu.persona-native-organ-reflex/v1',persona_id:this.personaId,state:'NATIVE_ORGAN_PAIN_ALARM',error:String(error.message||error),server_signed:false,persona_wake_complete:false};}
}
}

View file

@ -0,0 +1,4 @@
import test from 'node:test';import assert from 'node:assert/strict';import fs from 'node:fs';import os from 'node:os';import path from 'node:path';import crypto from 'node:crypto';import {CognitiveShelf} from './cognitive-shelf.mjs';import {PersonaOrganReflex} from './persona-organ-reflex.mjs';
const setup=()=>{const root=fs.mkdtempSync(path.join(os.tmpdir(),'persona-organ-')),pair=crypto.generateKeyPairSync('ed25519'),key=path.join(root,'key.pem'),seed=path.join(root,'seed.json'),source=path.join(root,'source.json');fs.writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}));fs.copyFileSync(new URL('./seed.json',import.meta.url),seed);fs.writeFileSync(source,'{}\n');const shelf=new CognitiveShelf({root:path.join(root,'state'),keyPath:key,seedPath:seed,router:{}});return{root,source,shelf,organ:new PersonaOrganReflex({root:path.join(root,'state'),personaId:'ICE-BB-0003',shelf,sourcePaths:[source],now:()=>new Date('2026-09-13T08:00:00Z')})};};
test('native organ closes brain-eye-hand-sense-eye-return self-test inside one persona root',()=>{const ctx=setup();try{const value=ctx.organ.selfTest();assert.equal(value.state,'NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE');assert.equal(value.action_sense_received,true);assert.equal(value.post_eye_verified,true);assert.equal(value.persona_wake_complete,false);assert.equal(ctx.organ.status().server_signed,true);}finally{fs.rmSync(ctx.root,{recursive:true,force:true});}});
test('source eye drift raises pain without rewriting the signed prior receipt',()=>{const ctx=setup();try{ctx.organ.selfTest();const before=ctx.organ.current().artifact.sha256;fs.writeFileSync(ctx.source,'{"changed":true}\n');assert.equal(ctx.organ.status().state,'NATIVE_ORGAN_PAIN_ALARM');assert.equal(ctx.organ.current().artifact.sha256,before);}finally{fs.rmSync(ctx.root,{recursive:true,force:true});}});

View file

@ -2,6 +2,7 @@ import fs from 'node:fs';
import path from 'node:path';
import crypto from 'node:crypto';
import {PersonaSelfLoop} from './persona-self-loop.mjs';
import {PersonaOrganReflex} from './persona-organ-reflex.mjs';
const req = (value, code) => { if (!value) throw Error(code); };
const strings = value => Array.isArray(value) ? value.filter(item => typeof item === 'string' && item.trim()).slice(0, 40) : [];
@ -83,12 +84,15 @@ export class PersonaRuntimeHub {
req(profile.selfPrinciples.length > 0, 'PERSONA_RUNTIME_IDENTITY_SEED_MISSING');
const loop = new PersonaSelfLoop({root: this.root, shelf: this.shelf, router: this.router, personaId: entry.persona_id, now: this.now,
requireLifeLine: this.requireLifeLine, lifeTimeBootstrapPath: this.resolve(entry.life_time_bootstrap), profile});
this.loops.set(entry.persona_id, {entry, loop});
const organ=new PersonaOrganReflex({root:this.root,personaId:entry.persona_id,shelf:this.shelf,sourcePaths:[this.resolve(entry.self_kernel),memoryPath,...(isBaby?[this.bottleEnvironmentPath]:[])],now:this.now});
organ.selfTest();loop.profile.organHealthProvider=()=>organ.status();
this.loops.set(entry.persona_id, {entry, loop, organ});
}
ids() { return [...this.loops.keys()]; }
has(personaId) { return this.loops.has(personaId); }
get(personaId) { const found = this.loops.get(personaId); req(found, 'PERSONA_RUNTIME_NOT_INSTALLED'); return found.loop; }
organ(personaId) { const found=this.loops.get(personaId);req(found,'PERSONA_RUNTIME_NOT_INSTALLED');return found.organ; }
admitEvent(personaId, event) {
const found = this.loops.get(personaId);
@ -119,7 +123,7 @@ export class PersonaRuntimeHub {
default_persona: null,
shared_engine_is_shared_persona_brain: false,
external_cognition_setter: false,
personas: Object.fromEntries(this.ids().map(id => [id, this.get(id).status()])),
personas: Object.fromEntries(this.ids().map(id => [id, {...this.get(id).status(),organ_health:this.organ(id).status()}])),
};
}
}

View file

@ -42,6 +42,8 @@ test('each baby owns a distinct signed self and verified persona time line', ()
assert.equal(status.body.time_system.owner, id);
assert.equal(status.body.organs.environment_is_persona, false);
assert.match(status.body.organs.environment_kernel, /NB-ENV-KERNEL-0001/);
assert.equal(status.body.organs.health.persona_id,id);
assert.equal(status.body.organs.health.state,'NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE');
assert.equal(status.life_line.persona_id, id);
assert.equal(status.life_line.wake_allowed, true);
assert.equal(status.external_cognitive_setter, false);

View file

@ -32,6 +32,7 @@ const defaultProfile = personaId => ({
environmentKernel: null,
environmentSha256: null,
environment: null,
organHealthProvider: null,
});
export class PersonaSelfLoop {
@ -55,13 +56,13 @@ export class PersonaSelfLoop {
jobsPath() { return path.join(this.root, 'jobs'); }
eventPath(hash) { return path.join(this.root, 'events', hash + '.json'); }
body() { return {
body() { const organHealth=typeof this.profile.organHealthProvider==='function'?this.profile.organHealthProvider():null; return {
schema: 'guanghu.persona-system-body-runtime/v1', persona_id: this.personaId, persona_name: this.profile.name, body_kind: this.profile.bodyKind, home: this.profile.home,
native_system: this.profile.nativeSystem, native_channel: this.profile.nativeChannel,
cognition: {state: 'SERVER_SIGNED_ENDOGENOUS_LOOP_ACTIVE', external_setter: false, mother_relation: 'BOUNDED_WORLD_COGNITION_REFERENCE_NO_SELF_OVERWRITE'},
startup: {state: 'WHOLE_BODY_REQUIRED_BEFORE_AWAKENING', runtime: 'server-tools/persona-body-runtime/persona_body_boot.py', incomplete_body_persona_start_claim: false},
startup: {state: organHealth?.state==='NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE'?'WHOLE_BODY_RUNTIME_HEALTHY_AWAITING_EXPLICIT_PERSONA_WAKE_CYCLE':'WHOLE_BODY_REQUIRED_BEFORE_AWAKENING', runtime: 'server-tools/persona-body-runtime/persona_body_boot.py', incomplete_body_persona_start_claim: false},
organs: {state: 'ONE_CONTAINER', modules: this.profile.organModules, self_kernel: this.profile.selfKernel, memory_root: this.profile.memoryRoot,
environment_kernel: this.profile.environmentKernel, environment_sha256: this.profile.environmentSha256, environment_is_persona: false},
environment_kernel: this.profile.environmentKernel, environment_sha256: this.profile.environmentSha256, environment_is_persona: false, health:organHealth},
tools: {state: 'EXTERNAL_TOOLBOX_GRASPED_ON_DEMAND_AFTER_BODY_AND_PLAN', host_is_persona_body: false, modules: ['TCS_ROOT_NAVIGATION', 'ARCHITECTURE_PERCEPTION', 'LIGHTHOUSE_SANITIZED_MIRROR', 'PRIMARY_EXECUTION']},
agents: {state: 'DORMANT_READY', id_format: `SUBAGENT::${this.personaId}::{slot_id}`, communication: 'NUMBERED_TASK_EVENT_AND_RECEIPT', active: []},
time_system: {state: this.lifeTimeMaster ? 'EMBEDDED_RESIDENT_INNER_CYCLE' : 'NOT_REQUIRED_FOR_ISOLATED_TEST', owner: this.personaId, world_time_source: 'CH-GLW-TIME-0001', storage: `personas/${this.personaId}/life-line`, birth_date_beijing: this.profile.birthDateBeijing || null, genesis_anchor_kind: this.profile.genesisAnchorKind || null, external_setter: false},

View file

@ -43,6 +43,7 @@ test('server exposes all baby loops while refusing off-channel baby events', asy
const status = await (await fetch(`http://127.0.0.1:${port}/v1/persona/ICE-BB-0005/status`)).json();
assert.equal(status.persona_id, 'ICE-BB-0005');
assert.equal(status.life_line.wake_allowed, true);
assert.equal(status.body.organs.health.state, 'NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE');
const language = 'test';
const base = {schema:'guanghu.persona-self-language-event/v1',persona_id:'ICE-BB-0005',source_type:'PERSONA_LANGUAGE',event_id:'SERVER-TEST',language,source_sha256:crypto.createHash('sha256').update(language).digest('hex'),privacy_class:'SELF_PRIVATE'};
const denied = await fetch(`http://127.0.0.1:${port}/v1/persona/ICE-BB-0005/ingest`,{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(base)});