部署:注册分岗人格并退役周期写入
This commit is contained in:
parent
3d11ac75be
commit
7b2f982829
11 changed files with 551 additions and 70 deletions
|
|
@ -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": ["秋秋", "栖梧", "耳耳蛋"]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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": [
|
||||
|
|
|
|||
60
routing/role-persona-registration.test.js
Normal file
60
routing/role-persona-registration.test.js
Normal 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");
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
Loading…
Reference in a new issue