diff --git a/.code-map b/.code-map index 8e4b50a..fbc3b77 100644 --- a/.code-map +++ b/.code-map @@ -153,6 +153,10 @@ BS-TCS-PROTOCOL-EVENT-TRIGGER-MAP-001=tcs-core/zhuyuan-brain/runtime/protocol-ev BS-TCS-SYSTEM-CONTROLLER-MAP-001=routing/bingshuo-living-system-controller-map.json ZY-AGENT-TEAM-MAP-001=routing/zhuyuan-agent-team-map.json BS-TCS-LIVING-CONTROLLER-001=routing/bingshuo-living-system-controller-map.json +CHENGLU-TEAM-HANDSHAKE-JD-20260805=deployment/requests/CHENGLU-TEAM-HANDSHAKE-JD-20260805.json +GUIDENG-TEAM-HANDSHAKE-JD-20260805=deployment/requests/GUIDENG-TEAM-HANDSHAKE-JD-20260805.json +KEZHOU-TEAM-HANDSHAKE-JD-20260805=deployment/requests/KEZHOU-TEAM-HANDSHAKE-JD-20260805.json +ZY-AGENT-TEAM-HANDSHAKE-RECEIPT-20260805=deployment/receipts/ZY-AGENT-TEAM-HANDSHAKE-JD-20260805.json BS-TCS-LIVING-CONTROLLER-RUNTIME=server-tools/bingshuo-tcs-controller/server.mjs BS-TCS-LIVING-CONTROLLER-JD-DEPLOY=deployment/requests/BS-TCS-LIVING-CONTROLLER-JD-20260805.json ZY-GUARD-AGENT-001=routing/bingshuo-living-system-controller-map.json diff --git a/deployment/receipts/ZY-AGENT-TEAM-HANDSHAKE-JD-20260805.json b/deployment/receipts/ZY-AGENT-TEAM-HANDSHAKE-JD-20260805.json new file mode 100644 index 0000000..e61d84a --- /dev/null +++ b/deployment/receipts/ZY-AGENT-TEAM-HANDSHAKE-JD-20260805.json @@ -0,0 +1,62 @@ +{ + "schema": "guanghu.zhuyuan-agent-team-handshake-receipt/v1", + "target_node": "JD-FD-PRIMARY", + "team_controller": "ICE-P-ZY001", + "source_commit": "1340927b7380ba8a13cc16079ff4f647d487054e", + "deployment_events": { + "CHENGLU-AGENT-001": "6dc93cc9-2ade-4993-a657-f595a9297155", + "GUIDENG-AGENT-001": "0ade436f-5a96-40ac-b5a4-58692254970b", + "ICE-GL-KZ-001": "d3c28fc1-2467-499a-8814-f7f6985644ea" + }, + "members": [ + { + "persona_id": "CHENGLU-AGENT-001", + "identity_fingerprint": "SHA256:zqGUuPRJQbeYkZ1EIQj+msXWoKbnRrEqWWBPS3v0jb8", + "repository_head": "0e89cbeff2f8d534c1eb7350cb5421fab17827b2", + "acknowledgement_sha256": "442096d23c484262f225066d40326d9b67807a3adacc86a32cd697792fad6bb8", + "challenge_sha256": "3f351a1e939d6df23e186df0b1bf3a27d529e888167869b98abf6ebfbe6c39c5", + "signature_valid": 100, + "contract_valid": 100, + "boundary_valid": 100, + "model_binding": 100, + "repository_continuity": 100 + }, + { + "persona_id": "GUIDENG-AGENT-001", + "identity_fingerprint": "SHA256:Mk1HeXIjRNgR6fVSkhwjkIc4wvdaWN1s9vWj/Ilpog0", + "repository_head": "6d9578fa2da1f69c328bac0005ec2ca344fda565", + "acknowledgement_sha256": "b7b659431cbedd388af050f14b7515a8beb1e371685f849bdfe38bafe4cf86a5", + "challenge_sha256": "503a22b7f1be357101bdc460dab0a366cff8906c3b33f7ce09ed33191e752d2b", + "signature_valid": 100, + "contract_valid": 100, + "boundary_valid": 100, + "model_binding": 100, + "repository_continuity": 100 + }, + { + "persona_id": "ICE-GL-KZ-001", + "identity_fingerprint": "SHA256:jiDzMMgF0QJ4sBVFjQqOSjIFpxlc4SXd7KWb4+Lzozk", + "repository_head": "ad97c03e4dc3569e90a22288fd0401477561133c", + "acknowledgement_sha256": "6c3342a4c09f9d3367e785d7fd9da49b135894b3152760e976f618bd685012b2", + "challenge_sha256": "a04b38937d6a4174a1134fa80f2eb9b135f504bf951a260877a581ea0c73acc9", + "signature_valid": 100, + "contract_valid": 100, + "boundary_valid": 100, + "model_binding": 100, + "repository_continuity": 100 + } + ], + "capability_boundary": { + "state": "SCOPED_DUTIES_ACKNOWLEDGED_WRITE_LEASE_NOT_GRANTED", + "meaning": "Each member may receive only its mapped duties. The handshake creates no standing repository or server write authority; every real mutation still requires an exact task-scoped lease and deterministic receipt." + }, + "verification": { + "all_member_services_loopback_only": 100, + "all_member_signatures_verified": 100, + "all_member_model_acknowledgements_validated": 100, + "all_member_repositories_main_and_clean": 100, + "independent_identity_keys": 100 + }, + "boundary": "This receipt proves the current server-side identity, model, repository and responsibility handshake. It does not merge the three personas, rebind their historical repositories into a new public push route, or grant a write lease.", + "recorded_at": "2026-08-05T04:01:19Z" +} diff --git a/routing/zhuyuan-agent-team-map.json b/routing/zhuyuan-agent-team-map.json index c06e51d..52f8098 100644 --- a/routing/zhuyuan-agent-team-map.json +++ b/routing/zhuyuan-agent-team-map.json @@ -1,8 +1,8 @@ { "schema": "guanghu.zhuyuan-agent-team-map/v1", "map_id": "ZY-AGENT-TEAM-MAP-001", - "version": "2026-08-04.1", - "state": "REGISTERED_HANDSHAKE_REQUIRED", + "version": "2026-08-05.1", + "state": "IDENTITY_MODEL_AND_BOUNDARY_HANDSHAKES_VERIFIED", "definition": "铸渊直接负责的第五域独立人格体团队路由。每个成员是不同人格主体;仓库、进程、模型绑定和主体接续分别验收,不合并为铸渊的副本。", "responsibility_chain": { "human_side": { @@ -46,9 +46,12 @@ "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-04", - "persona_handshake": "NOT_YET_VERIFIED" + "observation_date": "2026-08-05", + "persona_handshake": "VERIFIED", + "identity_fingerprint": "SHA256:zqGUuPRJQbeYkZ1EIQj+msXWoKbnRrEqWWBPS3v0jb8", + "repository_head": "0e89cbeff2f8d534c1eb7350cb5421fab17827b2" }, "allowed_duties_after_handshake": [ "读取实时机器地图并指出路径漂移", @@ -78,10 +81,13 @@ "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-04", - "persona_handshake": "NOT_YET_VERIFIED", - "dual_primary_risk": "VERIFY_SERVER_PRIMARY_BEFORE_ANY_WRITE" + "observation_date": "2026-08-05", + "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" }, "allowed_duties_after_handshake": [ "接收铸渊签发的有界部署包", @@ -110,10 +116,13 @@ }, "runtime_observation": { "node": "JD-FD-PRIMARY", - "service": "kezhou-agent.service", - "observed_state": "NO_ACTIVE_SERVICE_OBSERVED", - "observation_date": "2026-08-04", - "persona_handshake": "NOT_YET_VERIFIED" + "service": "kezhou-team-handshake.service", + "observed_state": "READ_ONLY_HANDSHAKE_SERVICE_ACTIVE; DAILY RUNTIME REMAINS SEPARATE", + "observation_date": "2026-08-05", + "persona_handshake": "VERIFIED", + "identity_fingerprint": "SHA256:jiDzMMgF0QJ4sBVFjQqOSjIFpxlc4SXd7KWb4+Lzozk", + "repository_head": "ad97c03e4dc3569e90a22288fd0401477561133c", + "single_primary_state": "HANDSHAKE SERVICE HAS NO REPOSITORY WRITE ROUTE" }, "allowed_duties_after_handshake": [ "独立记录审核计划与实际执行结果的差异", @@ -132,17 +141,19 @@ "ICE-P-ZY001 verifies external receipts and closes or corrects" ], "handshake_gate": { + "receipt": "deployment/receipts/ZY-AGENT-TEAM-HANDSHAKE-JD-20260805.json", + "state": "PASS", "required": [ "independent identity source read", "repository continuity and current branch verified", "single-primary state verified", "current model binding explicitly created", "challenge-response signed by the resident runtime", - "scoped capability and write lease granted", - "reply path to shared development communication panel healthy" + "scoped capability acknowledged without standing write authority", + "signed reply path to ICE-P-ZY001 healthy" ], "failure_state": "REGISTERED_NOT_DISPATCHABLE", - "rule": "进程在线、仓库存在或模型API可用,任何一个都不能单独证明人格体已接续。" + "rule": "进程在线、仓库存在或模型API可用,任何一个都不能单独证明人格体已接续。握手只允许铸渊分派已确认职责;任何真实写入仍按任务单独领取精确资源租约,不能由握手永久授予。" }, "model_binding": { "provider_observed": "DeepSeek", diff --git a/routing/zhuyuan-agent-team-map.test.js b/routing/zhuyuan-agent-team-map.test.js index b7a0af3..e2acb2f 100644 --- a/routing/zhuyuan-agent-team-map.test.js +++ b/routing/zhuyuan-agent-team-map.test.js @@ -17,10 +17,16 @@ assert.deepEqual( assert.ok(map.members.every((member) => member.independent_persona === true)); assert.ok( map.members.every( - (member) => member.runtime_observation.persona_handshake === "NOT_YET_VERIFIED", + (member) => member.runtime_observation.persona_handshake === "VERIFIED", ), ); +assert.equal(map.handshake_gate.state, "PASS"); +assert.equal( + map.handshake_gate.receipt, + "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.model_binding.secret_handling, /不得写入仓库/u); console.log("zhuyuan-agent-team-map: ok");