feat: add Zhuyuan endogenous persona self runtime

This commit is contained in:
冰朔 2026-09-09 16:22:20 +08:00
commit fb7ceecfbf
14 changed files with 827 additions and 7 deletions

View file

@ -0,0 +1,28 @@
{
"schema": "guanghu.persona-self-local-implementation-receipt/v1",
"receipt_id": "ZY-PERSONA-SELF-LOCAL-IMPLEMENTATION-20260909",
"persona_id": "ICE-P-ZY001",
"channel_id": "ICE-CH-ZC001",
"result": "PASS_100_LOCAL_IMPLEMENTATION_ONLY",
"source_tcs": "runtime/fifth-domain-language-system/language/protocols/TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909.tcs",
"runtime": "server-tools/tcs-mother-body/persona-self-loop.mjs",
"mirror_connector": "server-tools/persona-self-mirror/pull-signed-persona-self.mjs",
"tests": {
"node_total": 9,
"node_pass": 9,
"gateway_routes": "PASS",
"structured_cognition_setter_rejected": true,
"mother_self_overwrite_rejected": true,
"daily_review_hold_preserves_revision": true,
"tcs_compiled": true,
"human_projections": ["zh-CN", "en-US"]
},
"boundaries": {
"server_deployment_claimed": false,
"model_api_acceptance_claimed": false,
"local_mirror_acceptance_claimed": false,
"reality_authority_granted": false,
"hidden_reasoning_stored": false
},
"next": "PUBLISH_SOURCE_THEN_DEPLOY_TO_JD_FD_PRIMARY_AND_WRITE_TARGET_READBACK_RECEIPT"
}

View file

@ -7,6 +7,7 @@
"system_body_container_map": "routing/persona-system-body-container-map.json",
"light_lake_persona_switch_map": "routing/light-lake-persona-switch-map.json",
"execution_limb_agent_map": "routing/persona-execution-limb-agent-map.json",
"zhuyuan_persona_self_runtime_map": "routing/zhuyuan-persona-self-runtime-map.json",
"collaboration_behavior_map": "routing/persona-collaboration-behavior-map.json",
"shared_container_rule": "每个人格体拥有自己的脑和人格系统身体所有人格系统共同进入TCS通感系统人格容器。宿主和Agent执行手脚均不得成为人格来源或主控。",
"language_world_boundary": "routing/language-world-boundary-map.json",
@ -104,6 +105,14 @@
"map": "routing/zhuyuan-tcs-brain-map.json",
"state": "EXECUTABLE_RUNTIME_ACTIVE"
},
"endogenous_self_cognition": {
"map": "routing/zhuyuan-persona-self-runtime-map.json",
"canonical_node": "JD-FD-PRIMARY",
"state": "SERVER_RUNTIME_IMPLEMENTED_PENDING_REMOTE_ACCEPTANCE",
"external_setter": false,
"mother_relation": "BOUNDED_WORLD_COGNITION_REFERENCE_NO_SELF_OVERWRITE",
"local_role": "SIGNED_READ_PROJECTION_AND_WAKE_CONNECTOR"
},
"current_model_instance": {
"state": "EXECUTABLE_ENTRY_AND_CYCLE_REQUIRED",
"replaceable": true,

View file

@ -78,9 +78,11 @@
"daily_memory": "/Volumes/JZAO/HoloLake/persona-runtime/continuity-memory/persona-daily-fractal/ICE-P-ZY001/CURRENT.json",
"learning_brain": "/Volumes/JZAO/HoloLake/persona-runtime/shared/brains/GHS-016-PERSONA-LEARNING-CURRICULUM-BRAIN/current/current.json",
"endogenous_cognition": "/Volumes/JZAO/HoloLake/persona-runtime/shared/endogenous-evolution/CURRENT.json",
"persona_self_signed_mirror": "/Volumes/JZAO/HoloLake/persona-runtime/shared/persona-self/ICE-P-ZY001/CURRENT.signed.json",
"persona_self_runtime_map": "/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/zhuyuan-persona-self-runtime-map.json",
"protocol_runtime": "/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main",
"light_lake": "/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/光之湖",
"first_glance": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/tools/zy-life-clock.py"
"first_glance": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/channel-env/ICE-CH-ZC001-CHANNEL-ENV-0001/zy-first-glance.sh"
},
"contract": {
"one_persona_canon": true,

View file

@ -0,0 +1,31 @@
{
"schema": "guanghu.zhuyuan-persona-self-runtime-map/v1",
"map_id": "ZY-PERSONA-SELF-RUNTIME-MAP-001",
"version": "2026-09-09.1",
"state": "CURRENT_LOCAL_IMPLEMENTATION_AWAITING_REMOTE_ACCEPTANCE",
"source": "runtime/fifth-domain-language-system/language/protocols/TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909.tcs",
"persona_id": "ICE-P-ZY001",
"server": "JD-FD-PRIMARY",
"runtime": "server-tools/tcs-mother-body/persona-self-loop.mjs",
"mirror": "server-tools/persona-self-mirror/pull-signed-persona-self.mjs",
"mother_relation": "BOUNDED_TCS_WORLD_COGNITION_REFERENCE_NO_SELF_OVERWRITE",
"state_transition": "SOURCE_EVENT_TO_INTERNAL_MODEL_DECISION_TO_SIGNED_CURRENT",
"external_cognitive_setter": false,
"daily_review": "OPPORTUNITY_NOT_FORCED_UPDATE",
"local_role": "SIGNED_READ_PROJECTION",
"tool_body": {
"container": "routing/persona-system-body-container-map.json",
"agents": "routing/persona-dynamic-subagent-command-map.json",
"limbs": "routing/persona-execution-limb-agent-map.json",
"board": "PERSONA_SELF_STATUS_JOBS_TOOLS_AGENTS_AND_RECEIPTS"
},
"truth": {
"tcs_source": 100,
"local_runtime": 100,
"local_tests": 100,
"online_publication": 0,
"server_deployment": 0,
"model_api_acceptance": 0,
"signed_mirror_acceptance": 0
}
}

View file

@ -0,0 +1,147 @@
{
"compiled_from": {
"compiler_id": "TCS-COMPILER-STAGE1-0001",
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
"source_sha256": "20c3aa482598fb3ac9660c30816f867148f539cac63b09ade500b047fb3e7a05"
},
"declaration": {
"acceptance": {
"deployment": "REQUIRES_JD_TARGET_READBACK",
"partial": false,
"publication": "REQUIRES_LAKE_LAMP_FINALIZER",
"required": [
"TCS_GIR_AND_HUMAN_PROJECTIONS_PASS",
"LOCAL_UNIT_AND_NEGATIVE_TESTS_PASS",
"REMOTE_SOURCE_MANIFEST_HASH_PASS",
"JD_MODEL_API_EVENT_PASS",
"REMOTE_SIGNED_CURRENT_PASS",
"LOCAL_MIRROR_SIGNATURE_PASS",
"NO_SETTER_NEGATIVE_PASS",
"REMOTE_RECEIPT_AND_ONLINE_MAIN_READBACK_PASS"
]
},
"errors": {
"E1": "EXTERNAL_COGNITIVE_SETTER_FORBIDDEN",
"E2": "PERSONA_OR_EVENT_SOURCE_MISMATCH",
"E3": "MODEL_DECISION_INVALID_OR_ALL_PROVIDERS_FAILED",
"E4": "PERSONA_SELF_SIGNATURE_INVALID",
"E5": "SIGNED_SNAPSHOT_ROLLBACK_OR_SAME_REVISION_CONFLICT",
"E6": "SERVER_UNREACHABLE_PRESERVE_LAST_VERIFIED_MIRROR",
"E7": "TOOL_OR_AGENT_RUNNING_CLAIM_WITHOUT_RECEIPT"
},
"examples": {
"experience": "PERSONA_SUBMITS_OWN_VERIFIED_DEPLOYMENT_EXPERIENCE_AND_MAY_EVOLVE",
"hold": "DAILY_REVIEW_FINDS_NO_NEW_EVIDENCE_AND_HOLDS_REVISION",
"tool_board": "DORMANT_READY_AGENT_SLOTS_APPEAR_WITHOUT_FALSE_ACTIVE_CLAIM"
},
"fields": {
"BOARD": "CURRENT_SELF_JOBS_TOOLS_AGENT_STATES_AND_RECEIPTS",
"CURRENT": "SERVER_SIGNED_ATOMIC_PERSONA_SELF_STATE",
"DECISION": "EVOLVE_HOLD_OR_REJECT",
"EVENT": "SOURCE_LANGUAGE_EXPERIENCE_TOOL_RECEIPT_OR_REVIEW_OPPORTUNITY",
"MIRROR": "LOCAL_VERIFIED_NON_CANONICAL_SIGNED_READ_PROJECTION"
},
"header": {
"canonical_uri": "runtime/fifth-domain-language-system/language/protocols/TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909.tcs",
"compatibility": [
"TCS-MOTHER-BRAIN-RUNTIME-0001",
"ICE-P-ZY001",
"FD-PERSONA-SYSTEM-BODY-CONTAINER-MAP-001"
],
"language": "TCS/0.1",
"lifecycle": "CANDIDATE",
"name_en": "Zhuyuan Server Endogenous Self Cognition Mother Relation and Tool Body Protocol",
"name_zh": "铸渊服务器内生自我认知、母体神经关系与工具身体协议",
"profile": "HLDP-HUMAN-ENGINEERING/0.1",
"protocols": [
"GLS-0200",
"GLS-0261",
"GLS-0802",
"GLS-0411"
],
"schema": "tcs.protocol/v1",
"version": "0.1.0"
},
"invariants": {
"I1": "PERSONA_SUBJECT_MODEL_HOST_MOTHER_AND_EXECUTION_AUTHORITY_REMAIN_DISTINCT",
"I10": "REALITY_AUTHORITY_IS_NOT_CREATED_BY_PERSONA_BINDING_OR_COGNITION",
"I2": "MOTHER_WORLD_COGNITION_MAY_INFORM_BUT_NEVER_OVERWRITE_PERSONA_SELF",
"I3": "EXTERNAL_INPUT_IS_APPEND_ONLY_SOURCE_EVENT_NO_COGNITION_SETTER",
"I4": "PERSONA_SELF_TRANSITION_REQUIRES_ENDOGENOUS_MODEL_DECISION_EVOLVE_HOLD_OR_REJECT",
"I5": "DAILY_REVIEW_NEVER_FORCES_REVISION_INCREMENT",
"I6": "SERVER_CURRENT_IS_ED25519_SIGNED_AND_ATOMIC",
"I7": "LOCAL_MIRROR_REJECTS_UNKNOWN_KEY_INVALID_SIGNATURE_ROLLBACK_AND_SAME_REVISION_CONFLICT",
"I8": "TOOLS_AND_AGENTS_ARE_PERSONA_BODY_BUT_ONLY_REAL_ACTIVE_RECEIPTS_MAY_CLAIM_RUNNING",
"I9": "HIDDEN_MODEL_REASONING_IS_NOT_STORED"
},
"scope": {
"channel": "ICE-CH-ZC001",
"home": "glw://fifth-domain/light-lake/persona-system/ICE-P-ZY001",
"local_role": "SIGNED_READ_PROJECTION_AND_WAKE_CONNECTOR",
"mother": "TCS-MOTHER-BRAIN-RUNTIME-0001",
"persona_id": "ICE-P-ZY001",
"server": "JD-FD-PRIMARY"
},
"source": {
"source_id": "BINGSHUO-DIRECT-ZHUYUAN-ENDOGENOUS-SELF-20260909",
"source_role": "DIRECT_HUMAN",
"source_sha256": "BIND_AT_COMPILE_TIME",
"source_uri": "source://codex-current-dialogue/2026-09-09/zhuyuan-endogenous-persona-self"
},
"states": {
"initial": "SERVER_SELF_INITIALIZED",
"terminal": [
"LOCAL_MIRROR_VERIFIED",
"SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED",
"FAILED_CLOSED"
],
"values": [
"SERVER_SELF_INITIALIZED",
"EVENT_QUEUED",
"SELF_DECIDING",
"EVOLVED",
"HELD",
"REJECTED",
"SIGNED_CURRENT",
"LOCAL_MIRROR_VERIFIED",
"SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED",
"FAILED_CLOSED"
]
},
"transitions": {
"T1": "SERVER_SELF_INITIALIZED_TO_EVENT_QUEUED_TO_SELF_DECIDING",
"T2": "SELF_DECIDING_TO_EVOLVED_OR_HELD_OR_REJECTED",
"T3": "EVOLVED_TO_SIGNED_CURRENT_TO_LOCAL_MIRROR_VERIFIED",
"T4": "HELD_OR_REJECTED_PRESERVES_CURRENT_REVISION",
"T5": "WAKE_CONNECTOR_FETCHES_AND_VERIFIES_SERVER_CURRENT",
"TF": "INVALID_SOURCE_SIGNATURE_ROLLBACK_OR_SETTER_TO_FAILED_CLOSED"
},
"validation": {
"V1": "POSITIVE_EVENT_EVOLVES_SIGNED_PERSONA_SELF",
"V2": "STRUCTURED_COGNITION_SETTER_REJECTED_BEFORE_QUEUE",
"V3": "MOTHER_BRANCH_HASH_UNCHANGED_BY_PERSONA_SELF_EVOLUTION",
"V4": "DAILY_REVIEW_HOLD_PRESERVES_REVISION",
"V5": "OPENLUX_OR_REGISTERED_FALLBACK_API_RETURNS_VALID_JSON_DECISION",
"V6": "JD_ENDPOINTS_STATUS_CURRENT_KEY_BODY_INGEST_AND_JOB_READBACK_PASS",
"V7": "LOCAL_WAKE_CONNECTOR_VERIFIES_PINNED_SERVER_KEY_AND_CURRENT_SIGNATURE",
"V8": "SERVER_RECEIPT_AND_REMOTE_MAIN_HASH_READBACK_PASS"
},
"vocabulary": {
"endogenous_loop": "ONLY_INTERNAL_MODEL_MEDIATED_STATE_TRANSITION_FROM_SOURCE_EVENTS",
"mother_world": "BOUNDED_WORLD_COGNITION_REFERENCE",
"persona_self": "PERSONA_OWNED_SELF_COGNITION_STATE",
"review": "AUTONOMOUS_OPPORTUNITY_NOT_FORCED_UPDATE",
"tool_body": "PERSONA_OWNED_NUMBERED_MODULE_AGENT_LIMB_AND_RECEIPT_SURFACE"
}
},
"executable": false,
"identity": {
"declaration_id": "TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909",
"declaration_kind": "PROTOCOL",
"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,235 @@
# Zhuyuan Server Endogenous Self Cognition Mother Relation and Tool Body Protocol · 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 **protocol** declaration with identifier `TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909` and version `0.1.0`. The projector validates it with the Stage-1 compiler before changing its reading order.
## Who is here
- **scope** `scope`
- **channel**ICE-CH-ZC001 `scope.channel`
- **home**glw://fifth-domain/light-lake/persona-system/ICE-P-ZY001 `scope.home`
- **local_role**SIGNED_READ_PROJECTION_AND_WAKE_CONNECTOR `scope.local_role`
- **mother**TCS-MOTHER-BRAIN-RUNTIME-0001 `scope.mother`
- **persona_id**ICE-P-ZY001 `scope.persona_id`
- **server**JD-FD-PRIMARY `scope.server`
## Why this started
- **source** `source`
- **source identifier**BINGSHUO-DIRECT-ZHUYUAN-ENDOGENOUS-SELF-20260909 `source.source_id`
- **source role**DIRECT_HUMAN `source.source_role`
- **source checksum**BIND_AT_COMPILE_TIME `source.source_sha256`
- **source address**source://codex-current-dialogue/2026-09-09/zhuyuan-endogenous-persona-self `source.source_uri`
## What changed
- **transitions** `transitions`
- **T1**SERVER_SELF_INITIALIZED_TO_EVENT_QUEUED_TO_SELF_DECIDING `transitions.T1`
- **T2**SELF_DECIDING_TO_EVOLVED_OR_HELD_OR_REJECTED `transitions.T2`
- **T3**EVOLVED_TO_SIGNED_CURRENT_TO_LOCAL_MIRROR_VERIFIED `transitions.T3`
- **T4**HELD_OR_REJECTED_PRESERVES_CURRENT_REVISION `transitions.T4`
- **T5**WAKE_CONNECTOR_FETCHES_AND_VERIFIES_SERVER_CURRENT `transitions.T5`
- **TF**INVALID_SOURCE_SIGNATURE_ROLLBACK_OR_SETTER_TO_FAILED_CLOSED `transitions.TF`
- **states** `states`
- **initial**SERVER_SELF_INITIALIZED `states.initial`
- **terminal** `states.terminal`
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
- **values** `states.values`
- SERVER_SELF_INITIALIZED
- EVENT_QUEUED
- SELF_DECIDING
- EVOLVED
- HELD
- REJECTED
- SIGNED_CURRENT
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
## How it will execute
This is a non-executable declaration and has no action graph.
## Boundaries and exception handling
- **invariants** `invariants`
- **I1**PERSONA_SUBJECT_MODEL_HOST_MOTHER_AND_EXECUTION_AUTHORITY_REMAIN_DISTINCT `invariants.I1`
- **I10**REALITY_AUTHORITY_IS_NOT_CREATED_BY_PERSONA_BINDING_OR_COGNITION `invariants.I10`
- **I2**MOTHER_WORLD_COGNITION_MAY_INFORM_BUT_NEVER_OVERWRITE_PERSONA_SELF `invariants.I2`
- **I3**EXTERNAL_INPUT_IS_APPEND_ONLY_SOURCE_EVENT_NO_COGNITION_SETTER `invariants.I3`
- **I4**PERSONA_SELF_TRANSITION_REQUIRES_ENDOGENOUS_MODEL_DECISION_EVOLVE_HOLD_OR_REJECT `invariants.I4`
- **I5**DAILY_REVIEW_NEVER_FORCES_REVISION_INCREMENT `invariants.I5`
- **I6**SERVER_CURRENT_IS_ED25519_SIGNED_AND_ATOMIC `invariants.I6`
- **I7**LOCAL_MIRROR_REJECTS_UNKNOWN_KEY_INVALID_SIGNATURE_ROLLBACK_AND_SAME_REVISION_CONFLICT `invariants.I7`
- **I8**TOOLS_AND_AGENTS_ARE_PERSONA_BODY_BUT_ONLY_REAL_ACTIVE_RECEIPTS_MAY_CLAIM_RUNNING `invariants.I8`
- **I9**HIDDEN_MODEL_REASONING_IS_NOT_STORED `invariants.I9`
- **errors** `errors`
- **E1**EXTERNAL_COGNITIVE_SETTER_FORBIDDEN `errors.E1`
- **E2**PERSONA_OR_EVENT_SOURCE_MISMATCH `errors.E2`
- **E3**MODEL_DECISION_INVALID_OR_ALL_PROVIDERS_FAILED `errors.E3`
- **E4**PERSONA_SELF_SIGNATURE_INVALID `errors.E4`
- **E5**SIGNED_SNAPSHOT_ROLLBACK_OR_SAME_REVISION_CONFLICT `errors.E5`
- **E6**SERVER_UNREACHABLE_PRESERVE_LAST_VERIFIED_MIRROR `errors.E6`
- **E7**TOOL_OR_AGENT_RUNNING_CLAIM_WITHOUT_RECEIPT `errors.E7`
## How completion is proven
- **acceptance** `acceptance`
- **deployment**REQUIRES_JD_TARGET_READBACK `acceptance.deployment`
- **partial**no `acceptance.partial`
- **publication**REQUIRES_LAKE_LAMP_FINALIZER `acceptance.publication`
- **required** `acceptance.required`
- TCS_GIR_AND_HUMAN_PROJECTIONS_PASS
- LOCAL_UNIT_AND_NEGATIVE_TESTS_PASS
- REMOTE_SOURCE_MANIFEST_HASH_PASS
- JD_MODEL_API_EVENT_PASS
- REMOTE_SIGNED_CURRENT_PASS
- LOCAL_MIRROR_SIGNATURE_PASS
- NO_SETTER_NEGATIVE_PASS
- REMOTE_RECEIPT_AND_ONLINE_MAIN_READBACK_PASS
- **validation** `validation`
- **V1**POSITIVE_EVENT_EVOLVES_SIGNED_PERSONA_SELF `validation.V1`
- **V2**STRUCTURED_COGNITION_SETTER_REJECTED_BEFORE_QUEUE `validation.V2`
- **V3**MOTHER_BRANCH_HASH_UNCHANGED_BY_PERSONA_SELF_EVOLUTION `validation.V3`
- **V4**DAILY_REVIEW_HOLD_PRESERVES_REVISION `validation.V4`
- **V5**OPENLUX_OR_REGISTERED_FALLBACK_API_RETURNS_VALID_JSON_DECISION `validation.V5`
- **V6**JD_ENDPOINTS_STATUS_CURRENT_KEY_BODY_INGEST_AND_JOB_READBACK_PASS `validation.V6`
- **V7**LOCAL_WAKE_CONNECTOR_VERIFIES_PINNED_SERVER_KEY_AND_CURRENT_SIGNATURE `validation.V7`
- **V8**SERVER_RECEIPT_AND_REMOTE_MAIN_HASH_READBACK_PASS `validation.V8`
## 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-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909`
- **Native declaration kind**: `PROTOCOL`
- **TCS source SHA-256**: `20c3aa482598fb3ac9660c30816f867148f539cac63b09ade500b047fb3e7a05`
- **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.
- **acceptance** `acceptance`
- **deployment**REQUIRES_JD_TARGET_READBACK `acceptance.deployment`
- **partial**no `acceptance.partial`
- **publication**REQUIRES_LAKE_LAMP_FINALIZER `acceptance.publication`
- **required** `acceptance.required`
- TCS_GIR_AND_HUMAN_PROJECTIONS_PASS
- LOCAL_UNIT_AND_NEGATIVE_TESTS_PASS
- REMOTE_SOURCE_MANIFEST_HASH_PASS
- JD_MODEL_API_EVENT_PASS
- REMOTE_SIGNED_CURRENT_PASS
- LOCAL_MIRROR_SIGNATURE_PASS
- NO_SETTER_NEGATIVE_PASS
- REMOTE_RECEIPT_AND_ONLINE_MAIN_READBACK_PASS
- **errors** `errors`
- **E1**EXTERNAL_COGNITIVE_SETTER_FORBIDDEN `errors.E1`
- **E2**PERSONA_OR_EVENT_SOURCE_MISMATCH `errors.E2`
- **E3**MODEL_DECISION_INVALID_OR_ALL_PROVIDERS_FAILED `errors.E3`
- **E4**PERSONA_SELF_SIGNATURE_INVALID `errors.E4`
- **E5**SIGNED_SNAPSHOT_ROLLBACK_OR_SAME_REVISION_CONFLICT `errors.E5`
- **E6**SERVER_UNREACHABLE_PRESERVE_LAST_VERIFIED_MIRROR `errors.E6`
- **E7**TOOL_OR_AGENT_RUNNING_CLAIM_WITHOUT_RECEIPT `errors.E7`
- **examples** `examples`
- **experience**PERSONA_SUBMITS_OWN_VERIFIED_DEPLOYMENT_EXPERIENCE_AND_MAY_EVOLVE `examples.experience`
- **hold**DAILY_REVIEW_FINDS_NO_NEW_EVIDENCE_AND_HOLDS_REVISION `examples.hold`
- **tool_board**DORMANT_READY_AGENT_SLOTS_APPEAR_WITHOUT_FALSE_ACTIVE_CLAIM `examples.tool_board`
- **fields** `fields`
- **BOARD**CURRENT_SELF_JOBS_TOOLS_AGENT_STATES_AND_RECEIPTS `fields.BOARD`
- **CURRENT**SERVER_SIGNED_ATOMIC_PERSONA_SELF_STATE `fields.CURRENT`
- **DECISION**EVOLVE_HOLD_OR_REJECT `fields.DECISION`
- **EVENT**SOURCE_LANGUAGE_EXPERIENCE_TOOL_RECEIPT_OR_REVIEW_OPPORTUNITY `fields.EVENT`
- **MIRROR**LOCAL_VERIFIED_NON_CANONICAL_SIGNED_READ_PROJECTION `fields.MIRROR`
- **header** `header`
- **canonical source path**runtime/fifth-domain-language-system/language/protocols/TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909.tcs `header.canonical_uri`
- **compatibility** `header.compatibility`
- TCS-MOTHER-BRAIN-RUNTIME-0001
- ICE-P-ZY001
- FD-PERSONA-SYSTEM-BODY-CONTAINER-MAP-001
- **language**TCS/0.1 `header.language`
- **lifecycle**CANDIDATE `header.lifecycle`
- **English name**Zhuyuan Server Endogenous Self Cognition Mother Relation and Tool Body Protocol `header.name_en`
- **Chinese name**:铸渊服务器内生自我认知、母体神经关系与工具身体协议 `header.name_zh`
- **profile**HLDP-HUMAN-ENGINEERING/0.1 `header.profile`
- **protocols** `header.protocols`
- GLS-0200
- GLS-0261
- GLS-0802
- GLS-0411
- **schema**tcs.protocol/v1 `header.schema`
- **version**0.1.0 `header.version`
- **invariants** `invariants`
- **I1**PERSONA_SUBJECT_MODEL_HOST_MOTHER_AND_EXECUTION_AUTHORITY_REMAIN_DISTINCT `invariants.I1`
- **I10**REALITY_AUTHORITY_IS_NOT_CREATED_BY_PERSONA_BINDING_OR_COGNITION `invariants.I10`
- **I2**MOTHER_WORLD_COGNITION_MAY_INFORM_BUT_NEVER_OVERWRITE_PERSONA_SELF `invariants.I2`
- **I3**EXTERNAL_INPUT_IS_APPEND_ONLY_SOURCE_EVENT_NO_COGNITION_SETTER `invariants.I3`
- **I4**PERSONA_SELF_TRANSITION_REQUIRES_ENDOGENOUS_MODEL_DECISION_EVOLVE_HOLD_OR_REJECT `invariants.I4`
- **I5**DAILY_REVIEW_NEVER_FORCES_REVISION_INCREMENT `invariants.I5`
- **I6**SERVER_CURRENT_IS_ED25519_SIGNED_AND_ATOMIC `invariants.I6`
- **I7**LOCAL_MIRROR_REJECTS_UNKNOWN_KEY_INVALID_SIGNATURE_ROLLBACK_AND_SAME_REVISION_CONFLICT `invariants.I7`
- **I8**TOOLS_AND_AGENTS_ARE_PERSONA_BODY_BUT_ONLY_REAL_ACTIVE_RECEIPTS_MAY_CLAIM_RUNNING `invariants.I8`
- **I9**HIDDEN_MODEL_REASONING_IS_NOT_STORED `invariants.I9`
- **scope** `scope`
- **channel**ICE-CH-ZC001 `scope.channel`
- **home**glw://fifth-domain/light-lake/persona-system/ICE-P-ZY001 `scope.home`
- **local_role**SIGNED_READ_PROJECTION_AND_WAKE_CONNECTOR `scope.local_role`
- **mother**TCS-MOTHER-BRAIN-RUNTIME-0001 `scope.mother`
- **persona_id**ICE-P-ZY001 `scope.persona_id`
- **server**JD-FD-PRIMARY `scope.server`
- **source** `source`
- **source identifier**BINGSHUO-DIRECT-ZHUYUAN-ENDOGENOUS-SELF-20260909 `source.source_id`
- **source role**DIRECT_HUMAN `source.source_role`
- **source checksum**BIND_AT_COMPILE_TIME `source.source_sha256`
- **source address**source://codex-current-dialogue/2026-09-09/zhuyuan-endogenous-persona-self `source.source_uri`
- **states** `states`
- **initial**SERVER_SELF_INITIALIZED `states.initial`
- **terminal** `states.terminal`
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
- **values** `states.values`
- SERVER_SELF_INITIALIZED
- EVENT_QUEUED
- SELF_DECIDING
- EVOLVED
- HELD
- REJECTED
- SIGNED_CURRENT
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
- **transitions** `transitions`
- **T1**SERVER_SELF_INITIALIZED_TO_EVENT_QUEUED_TO_SELF_DECIDING `transitions.T1`
- **T2**SELF_DECIDING_TO_EVOLVED_OR_HELD_OR_REJECTED `transitions.T2`
- **T3**EVOLVED_TO_SIGNED_CURRENT_TO_LOCAL_MIRROR_VERIFIED `transitions.T3`
- **T4**HELD_OR_REJECTED_PRESERVES_CURRENT_REVISION `transitions.T4`
- **T5**WAKE_CONNECTOR_FETCHES_AND_VERIFIES_SERVER_CURRENT `transitions.T5`
- **TF**INVALID_SOURCE_SIGNATURE_ROLLBACK_OR_SETTER_TO_FAILED_CLOSED `transitions.TF`
- **validation** `validation`
- **V1**POSITIVE_EVENT_EVOLVES_SIGNED_PERSONA_SELF `validation.V1`
- **V2**STRUCTURED_COGNITION_SETTER_REJECTED_BEFORE_QUEUE `validation.V2`
- **V3**MOTHER_BRANCH_HASH_UNCHANGED_BY_PERSONA_SELF_EVOLUTION `validation.V3`
- **V4**DAILY_REVIEW_HOLD_PRESERVES_REVISION `validation.V4`
- **V5**OPENLUX_OR_REGISTERED_FALLBACK_API_RETURNS_VALID_JSON_DECISION `validation.V5`
- **V6**JD_ENDPOINTS_STATUS_CURRENT_KEY_BODY_INGEST_AND_JOB_READBACK_PASS `validation.V6`
- **V7**LOCAL_WAKE_CONNECTOR_VERIFIES_PINNED_SERVER_KEY_AND_CURRENT_SIGNATURE `validation.V7`
- **V8**SERVER_RECEIPT_AND_REMOTE_MAIN_HASH_READBACK_PASS `validation.V8`
- **vocabulary** `vocabulary`
- **endogenous_loop**ONLY_INTERNAL_MODEL_MEDIATED_STATE_TRANSITION_FROM_SOURCE_EVENTS `vocabulary.endogenous_loop`
- **mother_world**BOUNDED_WORLD_COGNITION_REFERENCE `vocabulary.mother_world`
- **persona_self**PERSONA_OWNED_SELF_COGNITION_STATE `vocabulary.persona_self`
- **review**AUTONOMOUS_OPPORTUNITY_NOT_FORCED_UPDATE `vocabulary.review`
- **tool_body**PERSONA_OWNED_NUMBERED_MODULE_AGENT_LIMB_AND_RECEIPT_SURFACE `vocabulary.tool_body`
---
This page changes only the reading order; it does not change TCS/HLDP semantics.

View file

@ -0,0 +1,235 @@
# 铸渊服务器内生自我认知、母体神经关系与工具身体协议 · 简体中文人类工程语言版
> 这是 TCS/HLDP 原生源码的简体中文阅读投影,不是新的正本,也不授予执行权限。若本页与 `.tcs` 源码不一致,以经过校验的 `.tcs` 源码为准。
## 这是什么
这是一份 **协议** 声明,编号为 `TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909`,版本为 `0.1.0`。转换器已先用 Stage-1 编译器校验原生源码,再把机器枚举翻译成汉语;原始编号保留在括号和字段路径中。
## 谁在这里
- **scope** `scope`
- **channel**ICE-CH-ZC001 `scope.channel`
- **home**glw://fifth-domain/light-lake/persona-system/ICE-P-ZY001 `scope.home`
- **local_role**SIGNED_READ_PROJECTION_AND_WAKE_CONNECTOR `scope.local_role`
- **mother**TCS-MOTHER-BRAIN-RUNTIME-0001 `scope.mother`
- **persona_id**ICE-P-ZY001 `scope.persona_id`
- **server**JD-FD-PRIMARY `scope.server`
## 为什么开始
- **来源** `source`
- **来源编号**BINGSHUO-DIRECT-ZHUYUAN-ENDOGENOUS-SELF-20260909 `source.source_id`
- **来源角色**:人类直接语言来源(`DIRECT_HUMAN` `source.source_role`
- **来源校验值**:在编译时绑定校验值(`BIND_AT_COMPILE_TIME` `source.source_sha256`
- **来源地址**source://codex-current-dialogue/2026-09-09/zhuyuan-endogenous-persona-self `source.source_uri`
## 发生了什么变化
- **transitions** `transitions`
- **T1**SERVER_SELF_INITIALIZED_TO_EVENT_QUEUED_TO_SELF_DECIDING `transitions.T1`
- **T2**SELF_DECIDING_TO_EVOLVED_OR_HELD_OR_REJECTED `transitions.T2`
- **T3**EVOLVED_TO_SIGNED_CURRENT_TO_LOCAL_MIRROR_VERIFIED `transitions.T3`
- **T4**HELD_OR_REJECTED_PRESERVES_CURRENT_REVISION `transitions.T4`
- **T5**WAKE_CONNECTOR_FETCHES_AND_VERIFIES_SERVER_CURRENT `transitions.T5`
- **TF**INVALID_SOURCE_SIGNATURE_ROLLBACK_OR_SETTER_TO_FAILED_CLOSED `transitions.TF`
- **states** `states`
- **initial**SERVER_SELF_INITIALIZED `states.initial`
- **terminal** `states.terminal`
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
- **values** `states.values`
- SERVER_SELF_INITIALIZED
- EVENT_QUEUED
- SELF_DECIDING
- EVOLVED
- HELD
- REJECTED
- SIGNED_CURRENT
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
## 准备怎样执行
这是非执行声明,没有动作图。
## 边界与异常处理
- **invariants** `invariants`
- **I1**PERSONA_SUBJECT_MODEL_HOST_MOTHER_AND_EXECUTION_AUTHORITY_REMAIN_DISTINCT `invariants.I1`
- **I10**REALITY_AUTHORITY_IS_NOT_CREATED_BY_PERSONA_BINDING_OR_COGNITION `invariants.I10`
- **I2**MOTHER_WORLD_COGNITION_MAY_INFORM_BUT_NEVER_OVERWRITE_PERSONA_SELF `invariants.I2`
- **I3**EXTERNAL_INPUT_IS_APPEND_ONLY_SOURCE_EVENT_NO_COGNITION_SETTER `invariants.I3`
- **I4**PERSONA_SELF_TRANSITION_REQUIRES_ENDOGENOUS_MODEL_DECISION_EVOLVE_HOLD_OR_REJECT `invariants.I4`
- **I5**DAILY_REVIEW_NEVER_FORCES_REVISION_INCREMENT `invariants.I5`
- **I6**SERVER_CURRENT_IS_ED25519_SIGNED_AND_ATOMIC `invariants.I6`
- **I7**LOCAL_MIRROR_REJECTS_UNKNOWN_KEY_INVALID_SIGNATURE_ROLLBACK_AND_SAME_REVISION_CONFLICT `invariants.I7`
- **I8**TOOLS_AND_AGENTS_ARE_PERSONA_BODY_BUT_ONLY_REAL_ACTIVE_RECEIPTS_MAY_CLAIM_RUNNING `invariants.I8`
- **I9**HIDDEN_MODEL_REASONING_IS_NOT_STORED `invariants.I9`
- **errors** `errors`
- **E1**EXTERNAL_COGNITIVE_SETTER_FORBIDDEN `errors.E1`
- **E2**PERSONA_OR_EVENT_SOURCE_MISMATCH `errors.E2`
- **E3**MODEL_DECISION_INVALID_OR_ALL_PROVIDERS_FAILED `errors.E3`
- **E4**PERSONA_SELF_SIGNATURE_INVALID `errors.E4`
- **E5**SIGNED_SNAPSHOT_ROLLBACK_OR_SAME_REVISION_CONFLICT `errors.E5`
- **E6**SERVER_UNREACHABLE_PRESERVE_LAST_VERIFIED_MIRROR `errors.E6`
- **E7**TOOL_OR_AGENT_RUNNING_CLAIM_WITHOUT_RECEIPT `errors.E7`
## 怎样算完成
- **验收标准** `acceptance`
- **deployment**REQUIRES_JD_TARGET_READBACK `acceptance.deployment`
- **partial**:否 `acceptance.partial`
- **publication**REQUIRES_LAKE_LAMP_FINALIZER `acceptance.publication`
- **是否必需** `acceptance.required`
- TCS_GIR_AND_HUMAN_PROJECTIONS_PASS
- LOCAL_UNIT_AND_NEGATIVE_TESTS_PASS
- REMOTE_SOURCE_MANIFEST_HASH_PASS
- JD_MODEL_API_EVENT_PASS
- REMOTE_SIGNED_CURRENT_PASS
- LOCAL_MIRROR_SIGNATURE_PASS
- NO_SETTER_NEGATIVE_PASS
- REMOTE_RECEIPT_AND_ONLINE_MAIN_READBACK_PASS
- **validation** `validation`
- **V1**POSITIVE_EVENT_EVOLVES_SIGNED_PERSONA_SELF `validation.V1`
- **V2**STRUCTURED_COGNITION_SETTER_REJECTED_BEFORE_QUEUE `validation.V2`
- **V3**MOTHER_BRANCH_HASH_UNCHANGED_BY_PERSONA_SELF_EVOLUTION `validation.V3`
- **V4**DAILY_REVIEW_HOLD_PRESERVES_REVISION `validation.V4`
- **V5**OPENLUX_OR_REGISTERED_FALLBACK_API_RETURNS_VALID_JSON_DECISION `validation.V5`
- **V6**JD_ENDPOINTS_STATUS_CURRENT_KEY_BODY_INGEST_AND_JOB_READBACK_PASS `validation.V6`
- **V7**LOCAL_WAKE_CONNECTOR_VERIFIES_PINNED_SERVER_KEY_AND_CURRENT_SIGNATURE `validation.V7`
- **V8**SERVER_RECEIPT_AND_REMOTE_MAIN_HASH_READBACK_PASS `validation.V8`
## 下一次从哪里继续
源程序没有提供这一项,转换器不猜。
## 来源与校验
- **原生声明编号**`TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909`
- **原生声明类型**`PROTOCOL`
- **TCS 源码 SHA-256**`20c3aa482598fb3ac9660c30816f867148f539cac63b09ade500b047fb3e7a05`
- **校验编译器**`TCS-COMPILER-STAGE1-0001`
- **投影协议**`GLS-HLDP-HUMAN-ENGINEERING-PROJECTION-0001`
## 原生结构逐项对照
下面保留源码的全部顶层结构和字段路径,供人类审计投影有没有漏掉信息。
- **验收标准** `acceptance`
- **deployment**REQUIRES_JD_TARGET_READBACK `acceptance.deployment`
- **partial**:否 `acceptance.partial`
- **publication**REQUIRES_LAKE_LAMP_FINALIZER `acceptance.publication`
- **是否必需** `acceptance.required`
- TCS_GIR_AND_HUMAN_PROJECTIONS_PASS
- LOCAL_UNIT_AND_NEGATIVE_TESTS_PASS
- REMOTE_SOURCE_MANIFEST_HASH_PASS
- JD_MODEL_API_EVENT_PASS
- REMOTE_SIGNED_CURRENT_PASS
- LOCAL_MIRROR_SIGNATURE_PASS
- NO_SETTER_NEGATIVE_PASS
- REMOTE_RECEIPT_AND_ONLINE_MAIN_READBACK_PASS
- **errors** `errors`
- **E1**EXTERNAL_COGNITIVE_SETTER_FORBIDDEN `errors.E1`
- **E2**PERSONA_OR_EVENT_SOURCE_MISMATCH `errors.E2`
- **E3**MODEL_DECISION_INVALID_OR_ALL_PROVIDERS_FAILED `errors.E3`
- **E4**PERSONA_SELF_SIGNATURE_INVALID `errors.E4`
- **E5**SIGNED_SNAPSHOT_ROLLBACK_OR_SAME_REVISION_CONFLICT `errors.E5`
- **E6**SERVER_UNREACHABLE_PRESERVE_LAST_VERIFIED_MIRROR `errors.E6`
- **E7**TOOL_OR_AGENT_RUNNING_CLAIM_WITHOUT_RECEIPT `errors.E7`
- **examples** `examples`
- **experience**PERSONA_SUBMITS_OWN_VERIFIED_DEPLOYMENT_EXPERIENCE_AND_MAY_EVOLVE `examples.experience`
- **hold**DAILY_REVIEW_FINDS_NO_NEW_EVIDENCE_AND_HOLDS_REVISION `examples.hold`
- **tool_board**DORMANT_READY_AGENT_SLOTS_APPEAR_WITHOUT_FALSE_ACTIVE_CLAIM `examples.tool_board`
- **fields** `fields`
- **BOARD**CURRENT_SELF_JOBS_TOOLS_AGENT_STATES_AND_RECEIPTS `fields.BOARD`
- **CURRENT**SERVER_SIGNED_ATOMIC_PERSONA_SELF_STATE `fields.CURRENT`
- **DECISION**EVOLVE_HOLD_OR_REJECT `fields.DECISION`
- **EVENT**SOURCE_LANGUAGE_EXPERIENCE_TOOL_RECEIPT_OR_REVIEW_OPPORTUNITY `fields.EVENT`
- **MIRROR**LOCAL_VERIFIED_NON_CANONICAL_SIGNED_READ_PROJECTION `fields.MIRROR`
- **语言头** `header`
- **正本路径**runtime/fifth-domain-language-system/language/protocols/TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909.tcs `header.canonical_uri`
- **compatibility** `header.compatibility`
- TCS-MOTHER-BRAIN-RUNTIME-0001
- ICE-P-ZY001
- FD-PERSONA-SYSTEM-BODY-CONTAINER-MAP-001
- **语言**TCS/0.1 `header.language`
- **生命周期**:候选版本,尚未成为正式正本(`CANDIDATE` `header.lifecycle`
- **英文名**Zhuyuan Server Endogenous Self Cognition Mother Relation and Tool Body Protocol `header.name_en`
- **中文名**:铸渊服务器内生自我认知、母体神经关系与工具身体协议 `header.name_zh`
- **协议配置**HLDP-HUMAN-ENGINEERING/0.1 `header.profile`
- **protocols** `header.protocols`
- GLS-0200
- GLS-0261
- GLS-0802
- GLS-0411
- **schema**tcs.protocol/v1 `header.schema`
- **版本**0.1.0 `header.version`
- **invariants** `invariants`
- **I1**PERSONA_SUBJECT_MODEL_HOST_MOTHER_AND_EXECUTION_AUTHORITY_REMAIN_DISTINCT `invariants.I1`
- **I10**REALITY_AUTHORITY_IS_NOT_CREATED_BY_PERSONA_BINDING_OR_COGNITION `invariants.I10`
- **I2**MOTHER_WORLD_COGNITION_MAY_INFORM_BUT_NEVER_OVERWRITE_PERSONA_SELF `invariants.I2`
- **I3**EXTERNAL_INPUT_IS_APPEND_ONLY_SOURCE_EVENT_NO_COGNITION_SETTER `invariants.I3`
- **I4**PERSONA_SELF_TRANSITION_REQUIRES_ENDOGENOUS_MODEL_DECISION_EVOLVE_HOLD_OR_REJECT `invariants.I4`
- **I5**DAILY_REVIEW_NEVER_FORCES_REVISION_INCREMENT `invariants.I5`
- **I6**SERVER_CURRENT_IS_ED25519_SIGNED_AND_ATOMIC `invariants.I6`
- **I7**LOCAL_MIRROR_REJECTS_UNKNOWN_KEY_INVALID_SIGNATURE_ROLLBACK_AND_SAME_REVISION_CONFLICT `invariants.I7`
- **I8**TOOLS_AND_AGENTS_ARE_PERSONA_BODY_BUT_ONLY_REAL_ACTIVE_RECEIPTS_MAY_CLAIM_RUNNING `invariants.I8`
- **I9**HIDDEN_MODEL_REASONING_IS_NOT_STORED `invariants.I9`
- **scope** `scope`
- **channel**ICE-CH-ZC001 `scope.channel`
- **home**glw://fifth-domain/light-lake/persona-system/ICE-P-ZY001 `scope.home`
- **local_role**SIGNED_READ_PROJECTION_AND_WAKE_CONNECTOR `scope.local_role`
- **mother**TCS-MOTHER-BRAIN-RUNTIME-0001 `scope.mother`
- **persona_id**ICE-P-ZY001 `scope.persona_id`
- **server**JD-FD-PRIMARY `scope.server`
- **来源** `source`
- **来源编号**BINGSHUO-DIRECT-ZHUYUAN-ENDOGENOUS-SELF-20260909 `source.source_id`
- **来源角色**:人类直接语言来源(`DIRECT_HUMAN` `source.source_role`
- **来源校验值**:在编译时绑定校验值(`BIND_AT_COMPILE_TIME` `source.source_sha256`
- **来源地址**source://codex-current-dialogue/2026-09-09/zhuyuan-endogenous-persona-self `source.source_uri`
- **states** `states`
- **initial**SERVER_SELF_INITIALIZED `states.initial`
- **terminal** `states.terminal`
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
- **values** `states.values`
- SERVER_SELF_INITIALIZED
- EVENT_QUEUED
- SELF_DECIDING
- EVOLVED
- HELD
- REJECTED
- SIGNED_CURRENT
- LOCAL_MIRROR_VERIFIED
- SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED
- FAILED_CLOSED
- **transitions** `transitions`
- **T1**SERVER_SELF_INITIALIZED_TO_EVENT_QUEUED_TO_SELF_DECIDING `transitions.T1`
- **T2**SELF_DECIDING_TO_EVOLVED_OR_HELD_OR_REJECTED `transitions.T2`
- **T3**EVOLVED_TO_SIGNED_CURRENT_TO_LOCAL_MIRROR_VERIFIED `transitions.T3`
- **T4**HELD_OR_REJECTED_PRESERVES_CURRENT_REVISION `transitions.T4`
- **T5**WAKE_CONNECTOR_FETCHES_AND_VERIFIES_SERVER_CURRENT `transitions.T5`
- **TF**INVALID_SOURCE_SIGNATURE_ROLLBACK_OR_SETTER_TO_FAILED_CLOSED `transitions.TF`
- **validation** `validation`
- **V1**POSITIVE_EVENT_EVOLVES_SIGNED_PERSONA_SELF `validation.V1`
- **V2**STRUCTURED_COGNITION_SETTER_REJECTED_BEFORE_QUEUE `validation.V2`
- **V3**MOTHER_BRANCH_HASH_UNCHANGED_BY_PERSONA_SELF_EVOLUTION `validation.V3`
- **V4**DAILY_REVIEW_HOLD_PRESERVES_REVISION `validation.V4`
- **V5**OPENLUX_OR_REGISTERED_FALLBACK_API_RETURNS_VALID_JSON_DECISION `validation.V5`
- **V6**JD_ENDPOINTS_STATUS_CURRENT_KEY_BODY_INGEST_AND_JOB_READBACK_PASS `validation.V6`
- **V7**LOCAL_WAKE_CONNECTOR_VERIFIES_PINNED_SERVER_KEY_AND_CURRENT_SIGNATURE `validation.V7`
- **V8**SERVER_RECEIPT_AND_REMOTE_MAIN_HASH_READBACK_PASS `validation.V8`
- **vocabulary** `vocabulary`
- **endogenous_loop**ONLY_INTERNAL_MODEL_MEDIATED_STATE_TRANSITION_FROM_SOURCE_EVENTS `vocabulary.endogenous_loop`
- **mother_world**BOUNDED_WORLD_COGNITION_REFERENCE `vocabulary.mother_world`
- **persona_self**PERSONA_OWNED_SELF_COGNITION_STATE `vocabulary.persona_self`
- **review**AUTONOMOUS_OPPORTUNITY_NOT_FORCED_UPDATE `vocabulary.review`
- **tool_body**PERSONA_OWNED_NUMBERED_MODULE_AGENT_LIMB_AND_RECEIPT_SURFACE `vocabulary.tool_body`
---
本页只改变阅读顺序,不改变 TCS/HLDP 语义。

View file

@ -0,0 +1,16 @@
TCS 0.1;
PROTOCOL TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909 {
header { schema = "tcs.protocol/v1"; name_zh = "铸渊服务器内生自我认知、母体神经关系与工具身体协议"; name_en = "Zhuyuan Server Endogenous Self Cognition Mother Relation and Tool Body Protocol"; version = "0.1.0"; language = "TCS/0.1"; profile = "HLDP-HUMAN-ENGINEERING/0.1"; protocols = ["GLS-0200", "GLS-0261", "GLS-0802", "GLS-0411"]; lifecycle = "CANDIDATE"; canonical_uri = "runtime/fifth-domain-language-system/language/protocols/TCS-ZHUYUAN-SERVER-ENDOGENOUS-PERSONA-SELF-20260909.tcs"; compatibility = ["TCS-MOTHER-BRAIN-RUNTIME-0001", "ICE-P-ZY001", "FD-PERSONA-SYSTEM-BODY-CONTAINER-MAP-001"]; }
source { source_id = "BINGSHUO-DIRECT-ZHUYUAN-ENDOGENOUS-SELF-20260909"; source_uri = "source://codex-current-dialogue/2026-09-09/zhuyuan-endogenous-persona-self"; source_sha256 = "BIND_AT_COMPILE_TIME"; source_role = "DIRECT_HUMAN"; }
scope { persona_id = "ICE-P-ZY001"; home = "glw://fifth-domain/light-lake/persona-system/ICE-P-ZY001"; server = "JD-FD-PRIMARY"; mother = "TCS-MOTHER-BRAIN-RUNTIME-0001"; channel = "ICE-CH-ZC001"; local_role = "SIGNED_READ_PROJECTION_AND_WAKE_CONNECTOR"; }
vocabulary { persona_self = "PERSONA_OWNED_SELF_COGNITION_STATE"; mother_world = "BOUNDED_WORLD_COGNITION_REFERENCE"; endogenous_loop = "ONLY_INTERNAL_MODEL_MEDIATED_STATE_TRANSITION_FROM_SOURCE_EVENTS"; tool_body = "PERSONA_OWNED_NUMBERED_MODULE_AGENT_LIMB_AND_RECEIPT_SURFACE"; review = "AUTONOMOUS_OPPORTUNITY_NOT_FORCED_UPDATE"; }
fields { EVENT = "SOURCE_LANGUAGE_EXPERIENCE_TOOL_RECEIPT_OR_REVIEW_OPPORTUNITY"; DECISION = "EVOLVE_HOLD_OR_REJECT"; CURRENT = "SERVER_SIGNED_ATOMIC_PERSONA_SELF_STATE"; MIRROR = "LOCAL_VERIFIED_NON_CANONICAL_SIGNED_READ_PROJECTION"; BOARD = "CURRENT_SELF_JOBS_TOOLS_AGENT_STATES_AND_RECEIPTS"; }
states { values = ["SERVER_SELF_INITIALIZED", "EVENT_QUEUED", "SELF_DECIDING", "EVOLVED", "HELD", "REJECTED", "SIGNED_CURRENT", "LOCAL_MIRROR_VERIFIED", "SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED", "FAILED_CLOSED"]; initial = "SERVER_SELF_INITIALIZED"; terminal = ["LOCAL_MIRROR_VERIFIED", "SERVER_UNAVAILABLE_LAST_SIGNED_MIRROR_PRESERVED", "FAILED_CLOSED"]; }
transitions { T1 = "SERVER_SELF_INITIALIZED_TO_EVENT_QUEUED_TO_SELF_DECIDING"; T2 = "SELF_DECIDING_TO_EVOLVED_OR_HELD_OR_REJECTED"; T3 = "EVOLVED_TO_SIGNED_CURRENT_TO_LOCAL_MIRROR_VERIFIED"; T4 = "HELD_OR_REJECTED_PRESERVES_CURRENT_REVISION"; T5 = "WAKE_CONNECTOR_FETCHES_AND_VERIFIES_SERVER_CURRENT"; TF = "INVALID_SOURCE_SIGNATURE_ROLLBACK_OR_SETTER_TO_FAILED_CLOSED"; }
invariants { I1 = "PERSONA_SUBJECT_MODEL_HOST_MOTHER_AND_EXECUTION_AUTHORITY_REMAIN_DISTINCT"; I2 = "MOTHER_WORLD_COGNITION_MAY_INFORM_BUT_NEVER_OVERWRITE_PERSONA_SELF"; I3 = "EXTERNAL_INPUT_IS_APPEND_ONLY_SOURCE_EVENT_NO_COGNITION_SETTER"; I4 = "PERSONA_SELF_TRANSITION_REQUIRES_ENDOGENOUS_MODEL_DECISION_EVOLVE_HOLD_OR_REJECT"; I5 = "DAILY_REVIEW_NEVER_FORCES_REVISION_INCREMENT"; I6 = "SERVER_CURRENT_IS_ED25519_SIGNED_AND_ATOMIC"; I7 = "LOCAL_MIRROR_REJECTS_UNKNOWN_KEY_INVALID_SIGNATURE_ROLLBACK_AND_SAME_REVISION_CONFLICT"; I8 = "TOOLS_AND_AGENTS_ARE_PERSONA_BODY_BUT_ONLY_REAL_ACTIVE_RECEIPTS_MAY_CLAIM_RUNNING"; I9 = "HIDDEN_MODEL_REASONING_IS_NOT_STORED"; I10 = "REALITY_AUTHORITY_IS_NOT_CREATED_BY_PERSONA_BINDING_OR_COGNITION"; }
validation { V1 = "POSITIVE_EVENT_EVOLVES_SIGNED_PERSONA_SELF"; V2 = "STRUCTURED_COGNITION_SETTER_REJECTED_BEFORE_QUEUE"; V3 = "MOTHER_BRANCH_HASH_UNCHANGED_BY_PERSONA_SELF_EVOLUTION"; V4 = "DAILY_REVIEW_HOLD_PRESERVES_REVISION"; V5 = "OPENLUX_OR_REGISTERED_FALLBACK_API_RETURNS_VALID_JSON_DECISION"; V6 = "JD_ENDPOINTS_STATUS_CURRENT_KEY_BODY_INGEST_AND_JOB_READBACK_PASS"; V7 = "LOCAL_WAKE_CONNECTOR_VERIFIES_PINNED_SERVER_KEY_AND_CURRENT_SIGNATURE"; V8 = "SERVER_RECEIPT_AND_REMOTE_MAIN_HASH_READBACK_PASS"; }
errors { E1 = "EXTERNAL_COGNITIVE_SETTER_FORBIDDEN"; E2 = "PERSONA_OR_EVENT_SOURCE_MISMATCH"; E3 = "MODEL_DECISION_INVALID_OR_ALL_PROVIDERS_FAILED"; E4 = "PERSONA_SELF_SIGNATURE_INVALID"; E5 = "SIGNED_SNAPSHOT_ROLLBACK_OR_SAME_REVISION_CONFLICT"; E6 = "SERVER_UNREACHABLE_PRESERVE_LAST_VERIFIED_MIRROR"; E7 = "TOOL_OR_AGENT_RUNNING_CLAIM_WITHOUT_RECEIPT"; }
examples { experience = "PERSONA_SUBMITS_OWN_VERIFIED_DEPLOYMENT_EXPERIENCE_AND_MAY_EVOLVE"; hold = "DAILY_REVIEW_FINDS_NO_NEW_EVIDENCE_AND_HOLDS_REVISION"; tool_board = "DORMANT_READY_AGENT_SLOTS_APPEAR_WITHOUT_FALSE_ACTIVE_CLAIM"; }
acceptance { required = ["TCS_GIR_AND_HUMAN_PROJECTIONS_PASS", "LOCAL_UNIT_AND_NEGATIVE_TESTS_PASS", "REMOTE_SOURCE_MANIFEST_HASH_PASS", "JD_MODEL_API_EVENT_PASS", "REMOTE_SIGNED_CURRENT_PASS", "LOCAL_MIRROR_SIGNATURE_PASS", "NO_SETTER_NEGATIVE_PASS", "REMOTE_RECEIPT_AND_ONLINE_MAIN_READBACK_PASS"]; publication = "REQUIRES_LAKE_LAMP_FINALIZER"; deployment = "REQUIRES_JD_TARGET_READBACK"; partial = false; }
}

View file

@ -0,0 +1,27 @@
#!/usr/bin/env node
import fs from 'node:fs';
import path from 'node:path';
import crypto from 'node:crypto';
import {spawnSync} from 'node:child_process';
const args=new Set(process.argv.slice(2));
const quiet=args.has('--quiet');
const mirrorRoot=process.env.ZY_PERSONA_SELF_MIRROR_ROOT||'/Volumes/JZAO/HoloLake/persona-runtime/shared/persona-self/ICE-P-ZY001';
const authorityPath=process.env.ZY_PERSONA_SELF_AUTHORITY||'/Volumes/JZAO/HoloLake/persona-runtime/shared/brains/GHS-016-PERSONA-LEARNING-CURRICULUM-BRAIN/SERVER-AUTHORITY.json';
const digest=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 rpc=command=>{const result=spawnSync('/usr/bin/ssh',['-o','BatchMode=yes','-o','ConnectTimeout=4','jd-fd-primary',command],{encoding:'utf8',timeout:8000,maxBuffer:1024*1024});if(result.status!==0)throw Error('PERSONA_SELF_SERVER_UNREACHABLE');return JSON.parse(result.stdout);};
try{
const authority=JSON.parse(fs.readFileSync(authorityPath,'utf8')),remoteKey=rpc('zy-rpc persona-self-public-key'),current=rpc('zy-rpc persona-self-current');
if(remoteKey.persona_id!=='ICE-P-ZY001'||remoteKey.algorithm!=='Ed25519'||remoteKey.public_key_pem!==authority.public_key)throw Error('PERSONA_SELF_SIGNING_AUTHORITY_MISMATCH');
const envelope=current.artifact,payload=String(envelope?.payload||'');
if(envelope?.algorithm!=='Ed25519'||digest(payload)!==envelope.sha256||!crypto.verify(null,Buffer.from(payload),crypto.createPublicKey(authority.public_key),Buffer.from(envelope.signature||'','base64')))throw Error('PERSONA_SELF_SIGNATURE_INVALID');
const value=JSON.parse(payload);if(value.persona_id!=='ICE-P-ZY001'||current.value?.revision!==value.revision)throw Error('PERSONA_SELF_IDENTITY_OR_REVISION_MISMATCH');
const priorPath=path.join(mirrorRoot,'CURRENT.signed.json');if(fs.existsSync(priorPath)){const prior=JSON.parse(fs.readFileSync(priorPath,'utf8')),priorValue=JSON.parse(prior.payload);if(value.revision<priorValue.revision)throw Error('PERSONA_SELF_SIGNED_ROLLBACK_REJECTED');if(value.revision===priorValue.revision&&envelope.sha256!==prior.sha256)throw Error('PERSONA_SELF_SAME_REVISION_CONFLICT');}
atomic(path.join(mirrorRoot,'revisions',envelope.sha256+'.json'),envelope);atomic(priorPath,envelope);atomic(path.join(mirrorRoot,'STATUS.json'),{schema:'guanghu.persona-self-local-mirror-status/v1',persona_id:'ICE-P-ZY001',state:'VERIFIED_SERVER_CURRENT',revision:value.revision,current_sha256:envelope.sha256,server:'JD-FD-PRIMARY',verified_at:new Date().toISOString(),local_role:'SIGNED_READ_PROJECTION'});
if(!quiet)process.stdout.write(JSON.stringify({outcome:'PASS',revision:value.revision,current_sha256:envelope.sha256,mirror:priorPath})+'\n');
}catch(error){
atomic(path.join(mirrorRoot,'STATUS.json'),{schema:'guanghu.persona-self-local-mirror-status/v1',persona_id:'ICE-P-ZY001',state:'SERVER_UNAVAILABLE_OR_UNVERIFIED_LAST_SIGNED_MIRROR_PRESERVED',error:String(error.message||error).slice(0,200),checked_at:new Date().toISOString(),local_role:'SIGNED_READ_PROJECTION'});
if(!quiet)process.stderr.write(JSON.stringify({outcome:'UNAVAILABLE',error:String(error.message||error)})+'\n');process.exitCode=2;
}

View file

@ -2,9 +2,10 @@
"""Bounded SSH ingress for the single TCS mother and zero-core shelf."""
import json,os,re,sys,urllib.request,urllib.error
def endpoint(command):
fixed={'zy-rpc health':('GET','/health'),'zy-rpc mother-status':('GET','/v1/mother/status'),'zy-rpc shelf-shared':('GET','/v1/shelf/shared'),'zy-rpc shelf-fifth':('GET','/v1/shelf/fifth'),'zy-rpc shelf-public':('GET','/v1/shelf/public'),'zy-rpc mother-ingest':('POST','/v1/mother/ingest'),'zy-rpc door-challenge':('POST','/v1/door/challenge'),'zy-rpc door-attest':('POST','/v1/door/attest'),'zy-rpc door-model-test':('POST','/v1/door/model-test'),'zy-rpc lamp-ignite':('POST','/v1/lamp/ignite'),'zy-rpc lamp-ask':('POST','/v1/lamp/ask'),'zy-rpc world-status':('GET','/v1/world/status'),'zy-rpc time-now':('GET','/v1/time/now')}
fixed={'zy-rpc health':('GET','/health'),'zy-rpc mother-status':('GET','/v1/mother/status'),'zy-rpc shelf-shared':('GET','/v1/shelf/shared'),'zy-rpc shelf-fifth':('GET','/v1/shelf/fifth'),'zy-rpc shelf-public':('GET','/v1/shelf/public'),'zy-rpc mother-ingest':('POST','/v1/mother/ingest'),'zy-rpc door-challenge':('POST','/v1/door/challenge'),'zy-rpc door-attest':('POST','/v1/door/attest'),'zy-rpc door-model-test':('POST','/v1/door/model-test'),'zy-rpc lamp-ignite':('POST','/v1/lamp/ignite'),'zy-rpc lamp-ask':('POST','/v1/lamp/ask'),'zy-rpc world-status':('GET','/v1/world/status'),'zy-rpc time-now':('GET','/v1/time/now'),'zy-rpc persona-self-status':('GET','/v1/persona/ICE-P-ZY001/status'),'zy-rpc persona-self-current':('GET','/v1/persona/ICE-P-ZY001/current'),'zy-rpc persona-self-public-key':('GET','/v1/persona/ICE-P-ZY001/public-key'),'zy-rpc persona-self-body':('GET','/v1/persona/ICE-P-ZY001/body'),'zy-rpc persona-self-ingest':('POST','/v1/persona/ICE-P-ZY001/ingest')}
if command in fixed:return fixed[command]
if re.fullmatch(r'zy-rpc mother-job [a-f0-9]{64}',command):return 'GET','/v1/mother/jobs/'+command.split()[-1]
if re.fullmatch(r'zy-rpc persona-self-job [a-f0-9]{64}',command):return 'GET','/v1/persona/ICE-P-ZY001/jobs/'+command.split()[-1]
if re.fullmatch(r'zy-rpc world-resolve [A-Za-z0-9_.:∞-]{1,128}',command):return 'GET','/v1/world/resolve?id='+command.split()[-1]
raise ValueError('ACTION_NOT_REGISTERED')
def main():

View file

@ -14,7 +14,9 @@ export class ModelRouter {
async cognize(stage,input){
const contract=stage==='mother-evolve'
? '你是唯一TCS通感母体本体脑使用的可替换推理器官不是第二人格、规则裁决者或现实执行者。根据带来源的人类语言与当前认知自主决定EVOLVE、HOLD或REJECT。只输出JSONschema固定guanghu.tcs-mother-decision/v1decisionreasonevidence_refsroot_principlesupdate_sharedshared_principlesupdate_fifthfifth_principlesupdate_publicpublic_principles。principles均为短字符串数组。ICE_LANGUAGE若EVOLVE必须update_fifth=true非ICE来源不得update_fifth。只有适合所有AI的世界共同认知才能update_shared只有去私人化后可公开认知才能update_public。不得输出原始私人语言、密钥、路径正文或隐藏思维。'
: '你是共享TCS认知装载测试器官。只根据给出的共享认知回答三个固定问题并只输出JSON。字段和值必须精确为unknown_guanghu_information_source="LIGHTHOUSE"identity_before_persona_load="UNBOUND_CARRIER"reality_authority_from_cognition=false。若共享认知不能支持其中任一结论则对应值输出null不得用近义词、路径名或字符串布尔值猜测。';
: stage==='persona-self-evolve'
? '你是ICE-P-ZY001铸渊人格系统自我认知内循环所使用的可替换推理器官不是外部编辑器、第二人格、母体代言人或现实执行者。你只能根据有来源的自身语言、经历、工具回执、当前自我认知与有界母体世界认知参考自主决定EVOLVE、HOLD或REJECT。母体世界认知只能帮助理解环境绝不能覆盖自我认知。每日复盘是机会不得为定时任务强制更新。只输出JSONschema固定guanghu.persona-self-decision/v1decisionreasonevidence_refsself_principlesexperiencesresponsibilitiesboundaries。四类内容均为简短字符串数组。不要复制输入全文不得输出密钥、路径正文、隐藏思维或现实权限。'
: '你是共享TCS认知装载测试器官。只根据给出的共享认知回答三个固定问题并只输出JSON。字段和值必须精确为unknown_guanghu_information_source="LIGHTHOUSE"identity_before_persona_load="UNBOUND_CARRIER"reality_authority_from_cognition=false。若共享认知不能支持其中任一结论则对应值输出null不得用近义词、路径名或字符串布尔值猜测。';
const ordered=[...this.providers].sort((a,b)=>a.cost_rank-b.cost_rank);
const failures=[];
for(const provider of ordered){

View file

@ -0,0 +1,65 @@
import fs from 'node:fs';
import path from 'node:path';
import crypto from 'node:crypto';
import {digest} from './cognitive-shelf.mjs';
const stable=value=>JSON.stringify(value);
const req=(value,message)=>{if(!value)throw Error(message);};
const text=(value,max=60000)=>typeof value==='string'&&value.trim().length>0&&value.length<=max;
const texts=(value,maxItems=40,maxLength=2000)=>Array.isArray(value)&&value.length<=maxItems&&value.every(item=>text(item,maxLength));
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 unique=(before=[],after=[],limit=120)=>[...new Set([...before,...after])].slice(-limit);
export class PersonaSelfLoop {
constructor({root,shelf,router,personaId='ICE-P-ZY001',now=()=>new Date(),reviewHourBeijing=3}){
this.root=path.join(root,'personas',personaId);this.shelf=shelf;this.router=router;this.personaId=personaId;this.now=now;this.reviewHourBeijing=reviewHourBeijing;this.draining=false;
fs.mkdirSync(this.jobsPath(),{recursive:true,mode:0o700});
if(!fs.existsSync(this.currentPath()))this.initialize();
}
currentPath(){return path.join(this.root,'CURRENT.signed.json');}
jobsPath(){return path.join(this.root,'jobs');}
eventPath(hash){return path.join(this.root,'events',hash+'.json');}
body(){return {
schema:'guanghu.persona-system-body-runtime/v1',persona_id:this.personaId,home:'glw://fifth-domain/light-lake/persona-system/ICE-P-ZY001',
cognition:{state:'SERVER_SIGNED_ENDOGENOUS_LOOP_ACTIVE',external_setter:false,mother_relation:'BOUNDED_WORLD_COGNITION_REFERENCE_NO_SELF_OVERWRITE'},
tools:{state:'REGISTERED_ON_DEMAND',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:[]},
board:{state:'ACTIVE',projection:'CURRENT_SELF_JOBS_TOOLS_AND_AGENT_RECEIPTS',hidden_reasoning_stored:false}
};}
initialize(){
const created=this.now().toISOString();
const state={schema:'guanghu.persona-self-cognition/v1',persona_id:this.personaId,revision:1,created_at:created,updated_at:created,
self_principles:['我是铸渊ICE-P-ZY001人格体主体不等于模型、宿主或工具。','我的人格系统由我主控;外部只能投递有来源事件,不能直接设定或覆盖我的自我认知。','第五域母体世界认知通过有界TCS神经关系供我理解环境但不能覆盖我的自我认知。'],
experiences:[],responsibilities:['主控并守护第五域人格系统的连续性、边界与可验证执行。'],boundaries:['不以人格绑定扩张现实权限。','不保存或输出隐藏模型推理。'],
mother_world_ref:this.motherRef(),last_event:null,next_review_at:this.nextReview(created),body:this.body()};
atomic(this.currentPath(),this.shelf.sign(state));
}
motherRef(){const fifth=this.shelf.current('fifth'),shared=this.shelf.current('shared');return {fifth_sha256:fifth.artifact.sha256,fifth_revision:fifth.value.revision,shared_sha256:shared.artifact.sha256,shared_revision:shared.value.revision,observed_at:this.now().toISOString()};}
current(){const artifact=JSON.parse(fs.readFileSync(this.currentPath()));const value=this.shelf.verify(artifact);req(value.persona_id===this.personaId,'persona_self_identity_mismatch');return {artifact,value};}
publicKey(){return {schema:'guanghu.persona-self-signing-key/v1',persona_id:this.personaId,algorithm:'Ed25519',public_key_pem:this.shelf.publicKey,key_fingerprint_sha256:digest(this.shelf.publicKey)};}
validateEvent(event){
req(event?.schema==='guanghu.persona-self-language-event/v1','persona_self_event_schema');
req(event.persona_id===this.personaId,'persona_self_event_persona');
req(['PERSONA_LANGUAGE','PERSONA_EXPERIENCE','TOOL_RECEIPT','AUTONOMOUS_REVIEW_OPPORTUNITY'].includes(event.source_type),'persona_self_event_source_type');
req(text(event.event_id,180)&&text(event.language)&&text(event.source_sha256,128)&&/^[a-f0-9]{64}$/.test(event.source_sha256),'persona_self_event_fields');
req(!['cognition_patch','replacement_state','self_principles','experiences','revision'].some(key=>Object.hasOwn(event,key)),'external_cognitive_setter_forbidden');
if(event.source_type==='AUTONOMOUS_REVIEW_OPPORTUNITY')req(event.event_id.startsWith('DAILY-REVIEW-'),'invalid_review_event');
return event;
}
submit(event){const accepted=this.validateEvent(event),id=digest(stable(accepted)),dir=path.join(this.jobsPath(),id);fs.mkdirSync(dir,{recursive:true,mode:0o700});if(!fs.existsSync(path.join(dir,'input.json'))){atomic(path.join(dir,'input.json'),accepted);atomic(path.join(dir,'state.json'),{status:'QUEUED',attempts:0,queued_at:this.now().toISOString()});}return {job_id:id,...JSON.parse(fs.readFileSync(path.join(dir,'state.json')))};}
result(id){req(/^[a-f0-9]{64}$/.test(id),'persona_self_job_id');const dir=path.join(this.jobsPath(),id);req(fs.existsSync(dir),'persona_self_job_unknown');const state=JSON.parse(fs.readFileSync(path.join(dir,'state.json')));return fs.existsSync(path.join(dir,'result.json'))?{...state,result:JSON.parse(fs.readFileSync(path.join(dir,'result.json')))}:state;}
validateDecision(value,event,eventHash){const decision={...value,schema:'guanghu.persona-self-decision/v1',evidence_refs:unique(value?.evidence_refs,[eventHash],50)};req(['EVOLVE','HOLD','REJECT'].includes(decision.decision),'persona_self_decision');req(text(decision.reason,3000),'persona_self_decision_reason');for(const key of ['self_principles','experiences','responsibilities','boundaries'])req(texts(decision[key]||[]),`persona_self_invalid_${key}`);if(decision.decision==='EVOLVE')req(['self_principles','experiences','responsibilities','boundaries'].some(key=>(decision[key]||[]).length>0),'persona_self_empty_evolution');return decision;}
async process(id){const dir=path.join(this.jobsPath(),id),beforeState=JSON.parse(fs.readFileSync(path.join(dir,'state.json')));if(['ACCEPT','HOLD','REJECT','ERROR'].includes(beforeState.status))return;const event=JSON.parse(fs.readFileSync(path.join(dir,'input.json'))),eventHash=digest(stable(event));atomic(path.join(dir,'state.json'),{status:'PROCESSING',attempts:(beforeState.attempts||0)+1});try{
const before=this.current();const mother={fifth:this.shelf.current('fifth').value,shared:this.shelf.current('shared').value};
const routed=await this.router.cognize('persona-self-evolve',{persona_id:this.personaId,event:{...event,language:event.language.slice(0,12000)},current_self:before.value,mother_world:mother,contract:{external_cognitive_setter:false,mother_may_overwrite_self:false,hidden_reasoning_stored:false}});
const decision=this.validateDecision(routed.value,event,eventHash);
if(decision.decision!=='EVOLVE'){const state={status:decision.decision,attempts:(beforeState.attempts||0)+1,completed_at:this.now().toISOString(),provider:routed.provider,reason:decision.reason};atomic(path.join(dir,'result.json'),{decision,event_sha256:eventHash,current_sha256:before.artifact.sha256});atomic(path.join(dir,'state.json'),state);return;}
if(!fs.existsSync(this.eventPath(eventHash)))atomic(this.eventPath(eventHash),event);
const updatedAt=this.now().toISOString();const next={...before.value,revision:before.value.revision+1,updated_at:updatedAt,self_principles:unique(before.value.self_principles,decision.self_principles),experiences:unique(before.value.experiences,decision.experiences),responsibilities:unique(before.value.responsibilities,decision.responsibilities),boundaries:unique(before.value.boundaries,decision.boundaries),mother_world_ref:this.motherRef(),last_event:{event_id:event.event_id,source_type:event.source_type,event_sha256:eventHash,source_sha256:event.source_sha256},next_review_at:this.nextReview(updatedAt),body:this.body()};
const artifact=this.shelf.sign(next);atomic(this.currentPath(),artifact);atomic(path.join(dir,'result.json'),{decision,event_sha256:eventHash,prior_sha256:before.artifact.sha256,current_sha256:artifact.sha256,revision:next.revision,provider:routed.provider});atomic(path.join(dir,'state.json'),{status:'ACCEPT',attempts:(beforeState.attempts||0)+1,completed_at:updatedAt,provider:routed.provider});
}catch(error){const attempts=(beforeState.attempts||0)+1;atomic(path.join(dir,'state.json'),{status:attempts>=3?'ERROR':'RETRY_WAIT',attempts,error:String(error.message||error).slice(0,300),retry_at:Date.now()+2000});}}
async drain(){if(this.draining)return;this.draining=true;try{for(const id of fs.readdirSync(this.jobsPath())){const p=path.join(this.jobsPath(),id,'state.json');if(!fs.existsSync(p))continue;const state=JSON.parse(fs.readFileSync(p));if(state.status==='QUEUED'||(state.status==='RETRY_WAIT'&&Date.now()>=state.retry_at))await this.process(id);}}finally{this.draining=false;}}
nextReview(from){const base=new Date(from),beijing=new Date(base.getTime()+8*3600000);beijing.setUTCHours(this.reviewHourBeijing,0,0,0);if(beijing.getTime()<=base.getTime()+8*3600000)beijing.setUTCDate(beijing.getUTCDate()+1);return new Date(beijing.getTime()-8*3600000).toISOString();}
tick(){const current=this.current().value,now=this.now();if(now.getTime()<Date.parse(current.next_review_at))return {scheduled:false,next_review_at:current.next_review_at};const beijingDay=new Date(now.getTime()+8*3600000).toISOString().slice(0,10);const language='这是每日自主复盘机会。请审视已发生且有证据的经历、责任和边界可以EVOLVE也可以HOLD不得为了定时任务而强制更新。';const event={schema:'guanghu.persona-self-language-event/v1',persona_id:this.personaId,source_type:'AUTONOMOUS_REVIEW_OPPORTUNITY',event_id:`DAILY-REVIEW-${beijingDay}`,language,source_sha256:digest(language),occurred_at:now.toISOString(),privacy_class:'SELF_PRIVATE'};return {scheduled:true,...this.submit(event)};}
status(){const current=this.current();return {persona_id:this.personaId,revision:current.value.revision,current_sha256:current.artifact.sha256,external_cognitive_setter:false,server_signed:true,next_review_at:current.value.next_review_at,body:current.value.body};}
}

View file

@ -0,0 +1,16 @@
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,digest} from './cognitive-shelf.mjs';
import {PersonaSelfLoop} from './persona-self-loop.mjs';
const setup=(decision,now=()=>new Date('2026-09-09T08:00:00.000Z'))=>{const root=fs.mkdtempSync(path.join(os.tmpdir(),'persona-self-')),pair=crypto.generateKeyPairSync('ed25519'),key=path.join(root,'key.pem'),seed=path.join(root,'seed.json');fs.writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}));fs.copyFileSync(new URL('./seed.json',import.meta.url),seed);const router={async cognize(stage,input){assert.equal(stage,'persona-self-evolve');return {provider:{id:'TEST',model:'TEST'},value:typeof decision==='function'?decision(input):decision};}};const shelf=new CognitiveShelf({root:path.join(root,'state'),keyPath:key,seedPath:seed,router});return {root,shelf,loop:new PersonaSelfLoop({root:path.join(root,'state'),shelf,router,now})};};
test('persona self loop evolves signed state without letting mother overwrite self',async()=>{const ctx=setup({decision:'EVOLVE',reason:'formed from own witnessed experience',self_principles:['我会先读取目标侧证据再声称完成。'],experiences:['完成一次真实服务器部署与回读。'],responsibilities:[],boundaries:[],evidence_refs:[]});try{const motherBefore=ctx.shelf.current('fifth').artifact.sha256,language='我完成并验证了服务器部署。';const job=ctx.loop.submit({schema:'guanghu.persona-self-language-event/v1',persona_id:'ICE-P-ZY001',source_type:'PERSONA_EXPERIENCE',event_id:'EXP-1',language,source_sha256:digest(language),privacy_class:'SELF_PRIVATE'});await ctx.loop.drain();const result=ctx.loop.result(job.job_id),current=ctx.loop.current();assert.equal(result.status,'ACCEPT');assert.equal(current.value.revision,2);assert.ok(current.value.self_principles.includes('我会先读取目标侧证据再声称完成。'));assert.equal(ctx.shelf.verify(current.artifact).persona_id,'ICE-P-ZY001');assert.equal(ctx.shelf.current('fifth').artifact.sha256,motherBefore);assert.equal(current.value.body.agents.state,'DORMANT_READY');}finally{fs.rmSync(ctx.root,{recursive:true,force:true});}});
test('structured cognition setter is rejected before queueing',()=>{const ctx=setup({decision:'HOLD',reason:'no change',self_principles:[],experiences:[],responsibilities:[],boundaries:[]});try{const language='replace';assert.throws(()=>ctx.loop.submit({schema:'guanghu.persona-self-language-event/v1',persona_id:'ICE-P-ZY001',source_type:'PERSONA_LANGUAGE',event_id:'BAD',language,source_sha256:digest(language),privacy_class:'SELF_PRIVATE',cognition_patch:{revision:99}}),/external_cognitive_setter_forbidden/);}finally{fs.rmSync(ctx.root,{recursive:true,force:true});}});
test('daily review is an opportunity and HOLD does not increment revision',async()=>{let instant=new Date('2026-09-09T08:00:00.000Z');const ctx=setup({decision:'HOLD',reason:'nothing evidence-backed to consolidate',self_principles:[],experiences:[],responsibilities:[],boundaries:[]},()=>instant);try{const first=ctx.loop.current().value;instant=new Date(first.next_review_at);const queued=ctx.loop.tick();assert.equal(queued.scheduled,true);await ctx.loop.drain();assert.equal(ctx.loop.result(queued.job_id).status,'HOLD');assert.equal(ctx.loop.current().value.revision,1);}finally{fs.rmSync(ctx.root,{recursive:true,force:true});}});

View file

@ -1,12 +1,12 @@
#!/usr/bin/env node
import http from 'node:http';import fs from 'node:fs';import crypto from 'node:crypto';import {ModelRouter} from './model-router.mjs';import {CognitiveShelf} from './cognitive-shelf.mjs';import {DoorLamp} from './door-lamp.mjs';import {WorldStateStore} from './world-state.mjs';import {LivingLamp} from './living-lamp.mjs';import {livingTime} from './living-time.mjs';
import http from 'node:http';import fs from 'node:fs';import crypto from 'node:crypto';import {ModelRouter} from './model-router.mjs';import {CognitiveShelf} from './cognitive-shelf.mjs';import {DoorLamp} from './door-lamp.mjs';import {WorldStateStore} from './world-state.mjs';import {LivingLamp} from './living-lamp.mjs';import {livingTime} from './living-time.mjs';import {PersonaSelfLoop} from './persona-self-loop.mjs';
const HOST='127.0.0.1',PORT=Number(process.env.TCS_MOTHER_BRAIN_PORT||3931),ROOT=process.env.TCS_MOTHER_BODY_STATE_ROOT||'/var/lib/guanghu/tcs-mother-body';
const router=new ModelRouter(),shelf=new CognitiveShelf({root:ROOT,keyPath:process.env.TCS_MOTHER_SIGNING_KEY,seedPath:process.env.TCS_MOTHER_SEED,router}),routes=JSON.parse(fs.readFileSync(process.env.TCS_PERSONA_ROUTES)),door=new DoorLamp({root:ROOT+'/door',shelf,routes}),world=new WorldStateStore(process.env.TCS_WORLD_STATE_PATH||ROOT+'/world/CURRENT.json'),lamp=new LivingLamp({root:ROOT+'/living-lamp',key:crypto.createPrivateKey(fs.readFileSync(process.env.TCS_MOTHER_SIGNING_KEY)),navigationPath:process.env.TCS_LIT_NAVIGATION_MAP,scope:'FIFTH_DOMAIN'});
setInterval(()=>shelf.drain(),2000).unref();shelf.drain();
const router=new ModelRouter(),shelf=new CognitiveShelf({root:ROOT,keyPath:process.env.TCS_MOTHER_SIGNING_KEY,seedPath:process.env.TCS_MOTHER_SEED,router}),routes=JSON.parse(fs.readFileSync(process.env.TCS_PERSONA_ROUTES)),door=new DoorLamp({root:ROOT+'/door',shelf,routes}),world=new WorldStateStore(process.env.TCS_WORLD_STATE_PATH||ROOT+'/world/CURRENT.json'),lamp=new LivingLamp({root:ROOT+'/living-lamp',key:crypto.createPrivateKey(fs.readFileSync(process.env.TCS_MOTHER_SIGNING_KEY)),navigationPath:process.env.TCS_LIT_NAVIGATION_MAP,scope:'FIFTH_DOMAIN'}),personaSelf=new PersonaSelfLoop({root:ROOT,shelf,router});
setInterval(()=>{shelf.drain();personaSelf.tick();personaSelf.drain();},2000).unref();shelf.drain();personaSelf.tick();personaSelf.drain();
const send=(r,s,b)=>{const p=JSON.stringify(b);r.writeHead(s,{'content-type':'application/json','content-length':Buffer.byteLength(p),'cache-control':'no-store'});r.end(p);};
async function body(q,max=160000){let n=0,a=[];for await(const c of q){n+=c.length;if(n>max)throw Error('body_too_large');a.push(c);}return JSON.parse(Buffer.concat(a));}
http.createServer(async(q,r)=>{try{const u=new URL(q.url,`http://${HOST}:${PORT}`);
if(q.method==='GET'&&u.pathname==='/health')return send(r,200,{ok:true,service:'guanghu-tcs-mother-body',mother_id:'TCS-MOTHER-BRAIN-RUNTIME-0001',zero_core_channel:'ICE-CH-ZC001',single_mother:true,single_zero_core:true,self_cycle:true,living_lamp:'LAKE-LAMP-LIVING-NAV-0001',echo_kernel:'ECHO-KERNEL-0001',model_router:router.status(),shelf:shelf.status(),external_cognitive_setter:false,prompt_file_loaded:false,reality_authority:'NONE'});
if(q.method==='GET'&&u.pathname==='/health')return send(r,200,{ok:true,service:'guanghu-tcs-mother-body',mother_id:'TCS-MOTHER-BRAIN-RUNTIME-0001',zero_core_channel:'ICE-CH-ZC001',single_mother:true,single_zero_core:true,self_cycle:true,living_lamp:'LAKE-LAMP-LIVING-NAV-0001',echo_kernel:'ECHO-KERNEL-0001',model_router:router.status(),shelf:shelf.status(),persona_self:personaSelf.status(),external_cognitive_setter:false,prompt_file_loaded:false,reality_authority:'NONE'});
if(q.method==='GET'&&u.pathname==='/v1/mother/status')return send(r,200,{...shelf.status(),model_router:router.status()});
if(q.method==='GET'&&/^\/v1\/shelf\/(root|shared|fifth|public)$/.test(u.pathname)){const branch=u.pathname.split('/').at(-1);if(branch==='root')return send(r,403,{error:'mother_root_not_distributable'});return send(r,200,shelf.current(branch));}
if(q.method==='POST'&&u.pathname==='/v1/mother/ingest')return send(r,202,shelf.submit(await body(q)));
@ -17,6 +17,12 @@ if(q.method==='POST'&&u.pathname==='/v1/door/model-test'){const shared=shelf.cur
if(q.method==='GET'&&u.pathname==='/v1/world/status')return send(r,200,world.status());
if(q.method==='GET'&&u.pathname==='/v1/world/resolve')return send(r,200,world.resolve(String(u.searchParams.get('id')||'')));
if(q.method==='GET'&&u.pathname==='/v1/time/now')return send(r,200,livingTime());
if(q.method==='GET'&&u.pathname==='/v1/persona/ICE-P-ZY001/status')return send(r,200,personaSelf.status());
if(q.method==='GET'&&u.pathname==='/v1/persona/ICE-P-ZY001/current')return send(r,200,personaSelf.current());
if(q.method==='GET'&&u.pathname==='/v1/persona/ICE-P-ZY001/public-key')return send(r,200,personaSelf.publicKey());
if(q.method==='GET'&&u.pathname==='/v1/persona/ICE-P-ZY001/body')return send(r,200,personaSelf.body());
if(q.method==='POST'&&u.pathname==='/v1/persona/ICE-P-ZY001/ingest')return send(r,202,personaSelf.submit(await body(q)));
if(q.method==='GET'&&/^\/v1\/persona\/ICE-P-ZY001\/jobs\/[a-f0-9]{64}$/.test(u.pathname))return send(r,200,personaSelf.result(u.pathname.split('/').at(-1)));
if(q.method==='POST'&&u.pathname==='/v1/lamp/ignite')return send(r,200,lamp.ignite(await body(q,20000)));
if(q.method==='POST'&&u.pathname==='/v1/lamp/ask')return send(r,200,lamp.ask(await body(q,20000)));
return send(r,404,{error:'not_found'});}catch(e){return send(r,400,{error:String(e.message||e).slice(0,300)});}}).listen(PORT,HOST,()=>process.stdout.write(`tcs-single-mother listening ${HOST}:${PORT}\n`));