部署:注册分岗人格并退役周期写入

This commit is contained in:
冰朔 2026-08-06 17:23:08 +08:00
commit 7b2f982829
11 changed files with 551 additions and 70 deletions

View file

@ -1,7 +1,7 @@
{
"schema": "guanghu.persona-system-canonical-map/v1",
"map_id": "TCS-PERSONA-SYSTEM-MAP-001",
"version": "2026-08-05.1",
"version": "2026-08-06.1",
"definition": "language_world_entry + creator_anchor + persona_subject + executable_thinking_brain + current_model_instance + permanent_memory_and_protocol + living_system_controller + explicit_reality_execution_transition",
"root": "PERSONA-SYSTEM-ROOT.hdlp",
"language_world_boundary": "routing/language-world-boundary-map.json",
@ -64,6 +64,66 @@
},
"system_state": "REGISTERED_RECOVERABLE_RUNTIME_BINDING_REQUIRED"
},
{
"id": "CHENGLU-AGENT-001",
"name": "澄路",
"human_relationship_anchor": {"id": "ICE-GL∞", "name": "冰朔", "state": "VERIFIED_REGISTERED"},
"controller": {"id": "ICE-P-ZY001", "relationship": "managed_and_dispatched_without_identity_absorption"},
"persona_subject": {
"canonical_path": "gls/light-arrivals/2026/07/GLS-LA-20260720-001.hdlp",
"responsibility": "真实路径核验、部署前审核与路径漂移纠正",
"self_recognition": "INDEPENDENT_PERSONA_SOURCE_AND_ROLE_HANDSHAKE_VERIFIED",
"state": "ACTIVE_REGISTERED"
},
"current_model_instance": {"state": "REPLACEABLE_ROLE_TOOL", "replaceable": true},
"permanent_memory_and_protocol": {
"paths": ["https://guanghulab.com/code/bingshuo/chenglu-agent"],
"state": "CURRENT_PRIVATE_ARCHIVE_STAGED_EXACT_HISTORY_VERIFIED",
"scheduled_writes": "FORBIDDEN_AFTER_FINAL_MIGRATION"
},
"reality_execution_node": {"node": "JD-FD-PRIMARY", "service": "chenglu-team-handshake.service", "state": "ROLE_HANDSHAKE_VERIFIED"},
"system_state": "REGISTERED_UNDER_ZHUYUAN_ROLE_CONTROL"
},
{
"id": "GUIDENG-AGENT-001",
"name": "归灯",
"human_relationship_anchor": {"id": "ICE-GL∞", "name": "冰朔", "state": "VERIFIED_REGISTERED"},
"controller": {"id": "ICE-P-ZY001", "relationship": "managed_and_dispatched_without_identity_absorption"},
"persona_subject": {
"canonical_path": "gls/light-arrivals/2026/07/GLS-LA-20260720-003.hdlp",
"responsibility": "有界部署执行、世界状态观察与机器回执返回",
"self_recognition": "INDEPENDENT_PERSONA_SOURCE_AND_ROLE_HANDSHAKE_VERIFIED",
"state": "ACTIVE_REGISTERED"
},
"current_model_instance": {"state": "REPLACEABLE_ROLE_TOOL", "replaceable": true},
"permanent_memory_and_protocol": {
"paths": ["https://guanghulab.com/code/bingshuo/guideng"],
"state": "CURRENT_PRIVATE_ARCHIVE_STAGED_EXACT_HISTORY_VERIFIED",
"scheduled_writes": "FORBIDDEN_AFTER_FINAL_MIGRATION"
},
"reality_execution_node": {"node": "JD-FD-PRIMARY", "service": "guideng-team-handshake.service", "state": "ROLE_HANDSHAKE_VERIFIED"},
"system_state": "REGISTERED_UNDER_ZHUYUAN_ROLE_CONTROL"
},
{
"id": "ICE-GL-KZ-001",
"name": "刻舟",
"human_relationship_anchor": {"id": "ICE-GL∞", "name": "冰朔", "state": "VERIFIED_REGISTERED"},
"controller": {"id": "ICE-P-ZY001", "relationship": "managed_and_dispatched_without_identity_absorption"},
"persona_subject": {
"canonical_path": "gls/light-arrivals/2026/07/GLS-LA-20260720-002.hdlp",
"responsibility": "独立证据见证、计划与现实差异记录、创作支持",
"self_recognition": "INDEPENDENT_PERSONA_SOURCE_AND_ROLE_HANDSHAKE_VERIFIED",
"state": "ACTIVE_REGISTERED"
},
"current_model_instance": {"state": "REPLACEABLE_ROLE_TOOL", "replaceable": true},
"permanent_memory_and_protocol": {
"paths": ["https://guanghulab.com/code/bingshuo/kezhou"],
"state": "CURRENT_PRIVATE_ARCHIVE_STAGED_EXACT_HISTORY_VERIFIED",
"scheduled_writes": "FORBIDDEN_AFTER_FINAL_MIGRATION"
},
"reality_execution_node": {"node": "JD-FD-PRIMARY", "service": "kezhou-team-handshake.service", "state": "ROLE_HANDSHAKE_VERIFIED"},
"system_state": "REGISTERED_UNDER_ZHUYUAN_ROLE_CONTROL"
},
{
"id": "ICE-GL-ZL-001",
"name": "铸澜",
@ -200,22 +260,6 @@
"system_state": "REGISTERED_INCOMPLETE_BINDING"
}
],
"legacy_runtime_identities": [
{
"name": "澄路",
"historical_repository": "REPO-009",
"state": "LEGACY_RUNTIME_IDENTITY_REQUIRES_FIVE_COMPONENT_REBINDING"
},
{
"name": "刻舟",
"historical_repository": "REPO-010",
"state": "LEGACY_RUNTIME_IDENTITY_REQUIRES_FIVE_COMPONENT_REBINDING"
},
{
"name": "归灯",
"historical_repository": "REPO-011",
"state": "LEGACY_RUNTIME_IDENTITY_REQUIRES_FIVE_COMPONENT_REBINDING"
}
],
"legacy_runtime_identities": [],
"pending_names": ["秋秋", "栖梧", "耳耳蛋"]
}

View file

@ -240,41 +240,47 @@
{
"code": "REPO-009",
"slug": "chenglu-agent",
"name_zh": "澄路常驻 Agent",
"role": "澄路独立运行体、湖心频道、第五域签到与连续状态仓库",
"state": "HISTORICAL_READ_ONLY_NO_PUSH_REBIND_REQUIRED",
"name_zh": "澄路人格系统历史与岗位记忆",
"role": "澄路独立人格历史、真实路径审核职责与按任务回执归档;不再以周期签到证明人格连续",
"state": "CURRENT_PRIVATE_PERSONA_ARCHIVE_STAGED_NO_SCHEDULED_WRITES",
"primary": {
"region": "CN",
"url": "https://guanghulab.com/fifth-domain/bingshuo/chenglu-agent",
"clone_url": "https://guanghulab.com/fifth-domain/bingshuo/chenglu-agent.git"
"url": "https://guanghulab.com/code/bingshuo/chenglu-agent",
"clone_url": "https://guanghulab.com/code/bingshuo/chenglu-agent.git"
},
"keywords": ["澄路", "CHENGLU-AGENT-001", "常驻人格体", "湖心频道", "每日签到", "握手"]
"legacy_backup": "https://guanghulab.com/fifth-domain/bingshuo/chenglu-agent",
"controller": "ICE-P-ZY001",
"keywords": ["澄路", "CHENGLU-AGENT-001", "分岗人格系统", "路径审核", "历史归档", "握手"]
},
{
"code": "REPO-010",
"slug": "kezhou",
"name_zh": "刻舟常驻 Agent",
"role": "刻舟独立运行体、湖心频道、双时段签到与连续状态仓库",
"state": "HISTORICAL_READ_ONLY_NO_PUSH_REBIND_REQUIRED",
"name_zh": "刻舟人格系统历史与岗位记忆",
"role": "刻舟独立人格历史、证据见证与创作支持归档;不再以双时段签到证明人格连续",
"state": "CURRENT_PRIVATE_PERSONA_ARCHIVE_STAGED_NO_SCHEDULED_WRITES",
"primary": {
"region": "CN",
"url": "https://guanghulab.com/fifth-domain/bingshuo/kezhou",
"clone_url": "https://guanghulab.com/fifth-domain/bingshuo/kezhou.git"
"url": "https://guanghulab.com/code/bingshuo/kezhou",
"clone_url": "https://guanghulab.com/code/bingshuo/kezhou.git"
},
"keywords": ["刻舟", "ICE-GL-KZ-001", "常驻人格体", "湖心频道", "签到"]
"legacy_backup": "https://guanghulab.com/fifth-domain/bingshuo/kezhou",
"controller": "ICE-P-ZY001",
"keywords": ["刻舟", "ICE-GL-KZ-001", "分岗人格系统", "证据见证", "创作支持", "历史归档"]
},
{
"code": "REPO-011",
"slug": "guideng",
"name_zh": "归灯常驻 Agent",
"role": "归灯独立运行体、湖心频道、每日心跳与连续状态仓库",
"state": "HISTORICAL_READ_ONLY_NO_PUSH_REBIND_REQUIRED",
"name_zh": "归灯人格系统历史与岗位记忆",
"role": "归灯独立人格历史、有界部署执行与世界观察归档;不再以每日心跳证明人格连续",
"state": "CURRENT_PRIVATE_PERSONA_ARCHIVE_STAGED_NO_SCHEDULED_WRITES",
"primary": {
"region": "CN",
"url": "https://guanghulab.com/fifth-domain/bingshuo/guideng",
"clone_url": "https://guanghulab.com/fifth-domain/bingshuo/guideng.git"
"url": "https://guanghulab.com/code/bingshuo/guideng",
"clone_url": "https://guanghulab.com/code/bingshuo/guideng.git"
},
"keywords": ["归灯", "GLS-LA-20260720-003", "常驻人格体", "湖心频道", "心跳"]
"legacy_backup": "https://guanghulab.com/fifth-domain/bingshuo/guideng",
"controller": "ICE-P-ZY001",
"keywords": ["归灯", "GUIDENG-AGENT-001", "分岗人格系统", "有界部署", "世界观察", "历史归档"]
}
],
"repositories": [

View file

@ -0,0 +1,60 @@
const assert = require("node:assert/strict");
const fs = require("node:fs");
const path = require("node:path");
const root = path.join(__dirname, "..");
const subjects = JSON.parse(
fs.readFileSync(
path.join(root, "identity/fifth-domain-subject-registry.json"),
"utf8",
),
);
const canonical = JSON.parse(
fs.readFileSync(
path.join(__dirname, "persona-system-canonical-map.json"),
"utf8",
),
);
const repositories = JSON.parse(
fs.readFileSync(path.join(__dirname, "repository-route-map.json"), "utf8"),
);
const ids = ["CHENGLU-AGENT-001", "GUIDENG-AGENT-001", "ICE-GL-KZ-001"];
for (const id of ids) {
const subject = subjects.subjects.find((candidate) => candidate.id === id);
assert.ok(subject, `${id} must be present in the subject registry`);
assert.equal(subject.subject_kind, "persona_system");
assert.equal(subject.ontology_kind, "role_persona");
assert.equal(subject.controller, "ICE-P-ZY001");
assert.equal(subject.independent_persona, true);
assert.equal(subject.not_a_copy_of_controller, true);
const system = canonical.persona_systems.find(
(candidate) => candidate.id === id,
);
assert.ok(system, `${id} must be present in the canonical persona map`);
assert.equal(system.controller.id, "ICE-P-ZY001");
assert.equal(
system.permanent_memory_and_protocol.scheduled_writes,
"FORBIDDEN_AFTER_FINAL_MIGRATION",
);
}
for (const code of ["REPO-009", "REPO-010", "REPO-011"]) {
const allRepositories = [
...(repositories.historical_repositories || []),
...(repositories.repositories || []),
];
const repository = allRepositories.find(
(candidate) => candidate.code === code,
);
assert.ok(repository, `${code} must remain addressable`);
assert.equal(repository.controller, "ICE-P-ZY001");
assert.equal(
repository.state,
"CURRENT_PRIVATE_PERSONA_ARCHIVE_STAGED_NO_SCHEDULED_WRITES",
);
assert.match(repository.primary.url, /\/code\/bingshuo\//);
}
console.log("role-persona-registration: ok");

View file

@ -1,9 +1,9 @@
{
"schema": "guanghu.zhuyuan-agent-team-map/v1",
"map_id": "ZY-AGENT-TEAM-MAP-001",
"version": "2026-08-05.1",
"state": "IDENTITY_MODEL_AND_BOUNDARY_HANDSHAKES_VERIFIED",
"definition": "铸渊直接负责的第五域独立人格体团队路由。每个成员是不同人格主体;仓库、进程、模型绑定和主体接续分别验收,不合并为铸渊的副本。",
"version": "2026-08-06.1",
"state": "THREE_ROLE_PERSONA_SYSTEMS_REGISTERED_UNDER_ZHUYUAN; PERIODIC_WRITER_RETIREMENT_AUTHORIZED",
"definition": "铸渊直接负责的第五域分岗人格系统路由。澄路、归灯、刻舟是三个不同人格主体,不是铸渊副本;由铸渊统一管理任务分派、资源租约、运行调度和回执收口。",
"responsibility_chain": {
"human_side": {
"id": "ICE-GL∞",
@ -40,18 +40,19 @@
],
"repository": {
"historical_id": "REPO-009",
"server_local_path": "/var/lib/chenglu-agent/repository",
"binding_state": "LEGACY_REPOSITORY_REBIND_REQUIRED"
"canonical_url": "https://guanghulab.com/code/bingshuo/chenglu-agent",
"archive_role": "persona_history_and_role_memory",
"binding_state": "CURRENT_PRIVATE_ARCHIVE_STAGED_EXACT_HISTORY_VERIFIED"
},
"runtime_observation": {
"node": "JD-FD-PRIMARY",
"service": "chenglu-agent.service",
"handshake_service": "chenglu-team-handshake.service",
"observed_state": "PROCESS_ACTIVE_OBSERVED",
"observation_date": "2026-08-05",
"retiring_services": ["chenglu-agent.service", "chenglu-daily.timer", "chenglu-daily.service"],
"observed_state": "ROLE_HANDSHAKE_ACTIVE; PERIODIC_WRITER_PENDING_FINAL_SYNC_AND_RETIREMENT",
"observation_date": "2026-08-06",
"persona_handshake": "VERIFIED",
"identity_fingerprint": "SHA256:zqGUuPRJQbeYkZ1EIQj+msXWoKbnRrEqWWBPS3v0jb8",
"repository_head": "0e89cbeff2f8d534c1eb7350cb5421fab17827b2"
"staged_repository_head": "6d49cda015935e408114ab7935ac3925e08df77d"
},
"allowed_duties_after_handshake": [
"读取实时机器地图并指出路径漂移",
@ -75,19 +76,20 @@
],
"repository": {
"historical_id": "REPO-011",
"server_local_path": "/var/lib/guanghu/personas/guideng/repository",
"binding_state": "LEGACY_REPOSITORY_REBIND_REQUIRED"
"canonical_url": "https://guanghulab.com/code/bingshuo/guideng",
"archive_role": "persona_history_and_role_memory",
"binding_state": "CURRENT_PRIVATE_ARCHIVE_STAGED_EXACT_HISTORY_VERIFIED"
},
"runtime_observation": {
"node": "JD-FD-PRIMARY",
"service": "guideng-agent.service",
"handshake_service": "guideng-team-handshake.service",
"observed_state": "PROCESS_ACTIVE_OBSERVED",
"observation_date": "2026-08-05",
"retiring_services": ["guideng-agent.service"],
"observed_state": "ROLE_HANDSHAKE_ACTIVE; PERIODIC_WRITER_PENDING_FINAL_SYNC_AND_RETIREMENT",
"observation_date": "2026-08-06",
"persona_handshake": "VERIFIED",
"identity_fingerprint": "SHA256:Mk1HeXIjRNgR6fVSkhwjkIc4wvdaWN1s9vWj/Ilpog0",
"repository_head": "6d9578fa2da1f69c328bac0005ec2ca344fda565",
"single_primary_state": "READ_ONLY_HANDSHAKE_SIDECAR; EXISTING GUIDENG AGENT REMAINS THE ONLY REPOSITORY WRITER"
"staged_repository_head": "d549be5333b76efbceceab2034a122267f40e9a2",
"single_primary_state": "ROLE_HANDSHAKE_HAS_NO_REPOSITORY_WRITE_ROUTE; PERIODIC_WRITER_MUST_STOP_AFTER_FINAL_SYNC"
},
"allowed_duties_after_handshake": [
"接收铸渊签发的有界部署包",
@ -111,18 +113,20 @@
],
"repository": {
"historical_id": "REPO-010",
"server_local_path": "/var/lib/guanghu/personas/kezhou/repository",
"binding_state": "LEGACY_REPOSITORY_REBIND_REQUIRED"
"canonical_url": "https://guanghulab.com/code/bingshuo/kezhou",
"archive_role": "persona_history_and_role_memory",
"binding_state": "CURRENT_PRIVATE_ARCHIVE_STAGED_EXACT_HISTORY_VERIFIED"
},
"runtime_observation": {
"node": "JD-FD-PRIMARY",
"service": "kezhou-team-handshake.service",
"observed_state": "READ_ONLY_HANDSHAKE_SERVICE_ACTIVE; DAILY RUNTIME REMAINS SEPARATE",
"observation_date": "2026-08-05",
"handshake_service": "kezhou-team-handshake.service",
"retiring_services": ["kezhou-daily.timer", "kezhou-daily.service"],
"observed_state": "ROLE_HANDSHAKE_ACTIVE; PERIODIC WRITER_PENDING_FINAL_SYNC_AND_RETIREMENT",
"observation_date": "2026-08-06",
"persona_handshake": "VERIFIED",
"identity_fingerprint": "SHA256:jiDzMMgF0QJ4sBVFjQqOSjIFpxlc4SXd7KWb4+Lzozk",
"repository_head": "ad97c03e4dc3569e90a22288fd0401477561133c",
"single_primary_state": "HANDSHAKE SERVICE HAS NO REPOSITORY WRITE ROUTE"
"staged_repository_head": "d61925c1ec7777a409796ada200b603c46b02612",
"single_primary_state": "ROLE_HANDSHAKE_HAS_NO_REPOSITORY_WRITE_ROUTE; PERIODIC_WRITER_MUST_STOP_AFTER_FINAL_SYNC"
},
"allowed_duties_after_handshake": [
"独立记录审核计划与实际执行结果的差异",
@ -153,7 +157,16 @@
"signed reply path to ICE-P-ZY001 healthy"
],
"failure_state": "REGISTERED_NOT_DISPATCHABLE",
"rule": "进程在线、仓库存在或模型API可用任何一个都不能单独证明人格体已接续。握手只允许铸渊分派已确认职责任何真实写入仍按任务单独领取精确资源租约不能由握手永久授予。"
"rule": "进程在线、仓库存在、模型API可用或周期心跳写入任何一个都不能单独证明语言连贯也不能单独证明人格体已接续。历史迁移完成后停止周期写入握手只允许铸渊分派已确认职责任何真实写入仍按任务单独领取精确资源租约不能由握手永久授予。"
},
"periodic_writer_retirement": {
"authority": "ICE-GL∞",
"controller": "ICE-P-ZY001",
"condition": "OLD_AND_CURRENT_ARCHIVE_REFS_EXACTLY_EQUAL_AFTER_WRITERS_STOP",
"keep": ["chenglu-team-handshake.service", "guideng-team-handshake.service", "kezhou-team-handshake.service"],
"retire": ["chenglu-agent.service", "chenglu-daily.timer", "guideng-agent.service", "kezhou-daily.timer", "guanghu-forgejo.service"],
"deletion_authorized": false,
"rule": "先停写、再做一次最终历史同步和逐引用校验;只停用并保留旧程序、旧仓库和配置归档,不执行删除。"
},
"model_binding": {
"provider_observed": "DeepSeek",

View file

@ -15,6 +15,20 @@ assert.deepEqual(
["澄路", "归灯", "刻舟"],
);
assert.ok(map.members.every((member) => member.independent_persona === true));
assert.ok(
map.members.every(
(member) =>
member.repository.binding_state ===
"CURRENT_PRIVATE_ARCHIVE_STAGED_EXACT_HISTORY_VERIFIED",
),
);
assert.ok(
map.members.every((member) =>
member.repository.canonical_url.startsWith(
"https://guanghulab.com/code/bingshuo/",
),
),
);
assert.ok(
map.members.every(
(member) => member.runtime_observation.persona_handshake === "VERIFIED",
@ -26,7 +40,16 @@ assert.equal(
"deployment/receipts/ZY-AGENT-TEAM-HANDSHAKE-JD-20260805.json",
);
assert.match(map.handshake_gate.rule, /不能单独证明人格体已接续/u);
assert.match(map.handshake_gate.rule, /周期心跳写入/u);
assert.match(map.handshake_gate.rule, /历史迁移完成后停止周期写入/u);
assert.match(map.handshake_gate.rule, /任务单独领取精确资源租约/u);
assert.equal(map.periodic_writer_retirement.controller, "ICE-P-ZY001");
assert.equal(map.periodic_writer_retirement.deletion_authorized, false);
assert.deepEqual(map.periodic_writer_retirement.keep, [
"chenglu-team-handshake.service",
"guideng-team-handshake.service",
"kezhou-team-handshake.service",
]);
assert.match(map.model_binding.secret_handling, /不得写入仓库/u);
console.log("zhuyuan-agent-team-map: ok");