改用企业签名事件广播并停用轮询
This commit is contained in:
parent
5067e4f88e
commit
e9adf83d2d
6 changed files with 65 additions and 5 deletions
15
deployment/receipts/TEAM-NODE-EVENT-BROADCAST-20260920.json
Normal file
15
deployment/receipts/TEAM-NODE-EVENT-BROADCAST-20260920.json
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"schema": "guanghu.team-node-event-broadcast-deployment-receipt/v1",
|
||||||
|
"state": "PASS",
|
||||||
|
"map_id": "GH-TEAM-NODE-EVENT-BROADCAST-001",
|
||||||
|
"polling_timers_active": 0,
|
||||||
|
"persistent_team_reverse_tunnels_active": 0,
|
||||||
|
"old_enterprise_loopback_ports_active": 0,
|
||||||
|
"world_release_version": "20260920.2",
|
||||||
|
"world_release_event": "GH-EVT-20260920-WORLD-RELEASE-20260920-2",
|
||||||
|
"world_release_delivered_nodes": 3,
|
||||||
|
"tianshu_wake_inbox_event": "GH-EVT-20260920-TIANSHU-REGISTRATION",
|
||||||
|
"xiwei_wake_inbox_event": "GH-EVT-20260920-XIWEI-JUZI-ACTIVATION",
|
||||||
|
"fifth_domain_private_content_included": false,
|
||||||
|
"deployed_at": "2026-09-20T01:26:39+08:00"
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"schema": "guanghu.lighthouse-path-registry/v1",
|
"schema": "guanghu.lighthouse-path-registry/v1",
|
||||||
"registry_id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
"registry_id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
||||||
"lighthouse_id": "SYS-GLW-LTH-0001",
|
"lighthouse_id": "SYS-GLW-LTH-0001",
|
||||||
"version": "2026-09-20.2-xiwei-and-juzi-formal-registration",
|
"version": "2026-09-20.3-signed-event-broadcast-no-polling",
|
||||||
"state": "CURRENT_CANONICAL",
|
"state": "CURRENT_CANONICAL",
|
||||||
"source_repository": "REPO-012",
|
"source_repository": "REPO-012",
|
||||||
"source_branch": "main",
|
"source_branch": "main",
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
"authority": "A healthy route grants navigation only. Repository writes, server actions and deployment still require their registered gates and receipts."
|
"authority": "A healthy route grants navigation only. Repository writes, server actions and deployment still require their registered gates and receipts."
|
||||||
},
|
},
|
||||||
"paths": [
|
"paths": [
|
||||||
|
{"id":"GH-TEAM-NODE-EVENT-BROADCAST-001","kind":"signed_enterprise_team_node_event_broadcast","state":"CURRENT","online":"routing/team-node-event-broadcast-map.json","target_node":"AW-GZ-001","truth_policy":"NO_POLLING_NO_PERSISTENT_REVERSE_TUNNEL_SIGNED_EVENT_NODE_VERIFY_AND_DELIVERY_RECEIPT_REQUIRED"},
|
||||||
{"id":"PER-JZ-ARCH-001","kind":"formal_registered_enterprise_persona","state":"CURRENT","online":"routing/age-persona-number-registry.json","human_id":"TCS-GL-0008∞","node_id":"JZ-SV-001","registration_domain":"DOMAIN-ZS","truth_policy":"DEVICE_ED25519_ICE_GL_INFINITY_WITNESS_JD_SIGNED_RECEIPT_AND_PUBLIC_REGISTRY_READBACK_REQUIRED"},
|
{"id":"PER-JZ-ARCH-001","kind":"formal_registered_enterprise_persona","state":"CURRENT","online":"routing/age-persona-number-registry.json","human_id":"TCS-GL-0008∞","node_id":"JZ-SV-001","registration_domain":"DOMAIN-ZS","truth_policy":"DEVICE_ED25519_ICE_GL_INFINITY_WITNESS_JD_SIGNED_RECEIPT_AND_PUBLIC_REGISTRY_READBACK_REQUIRED"},
|
||||||
{"id":"GH-HUMAN-NODE-12C7C83B91C4CDA164E6E940A5ECB989","kind":"active_guanghu_human_world_node","state":"CURRENT","online":"routing/juzi-human-world-node-registration.json","human_id":"TCS-GL-0008∞","world_route":"glw://enterprise/zero-sense/team-channels/SYS-JZ","truth_policy":"DEVICE_ED25519_ICE_GL_INFINITY_WITNESS_JD_AND_ENTERPRISE_SIGNATURES_AND_ACTIVE_READBACK"},
|
{"id":"GH-HUMAN-NODE-12C7C83B91C4CDA164E6E940A5ECB989","kind":"active_guanghu_human_world_node","state":"CURRENT","online":"routing/juzi-human-world-node-registration.json","human_id":"TCS-GL-0008∞","world_route":"glw://enterprise/zero-sense/team-channels/SYS-JZ","truth_policy":"DEVICE_ED25519_ICE_GL_INFINITY_WITNESS_JD_AND_ENTERPRISE_SIGNATURES_AND_ACTIVE_READBACK"},
|
||||||
{"id":"PER-AW-ARCH-001","kind":"formal_registered_enterprise_persona","state":"CURRENT","online":"routing/age-persona-number-registry.json","human_id":"TCS-GL-0016∞","node_id":"AW-OWN-GZ-001","registration_domain":"DOMAIN-MAIN","truth_policy":"DEVICE_ED25519_ICE_GL_INFINITY_WITNESS_JD_SIGNED_RECEIPT_AND_PUBLIC_REGISTRY_READBACK_REQUIRED"},
|
{"id":"PER-AW-ARCH-001","kind":"formal_registered_enterprise_persona","state":"CURRENT","online":"routing/age-persona-number-registry.json","human_id":"TCS-GL-0016∞","node_id":"AW-OWN-GZ-001","registration_domain":"DOMAIN-MAIN","truth_policy":"DEVICE_ED25519_ICE_GL_INFINITY_WITNESS_JD_SIGNED_RECEIPT_AND_PUBLIC_REGISTRY_READBACK_REQUIRED"},
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"schema": "guanghu.public-navigation-anchor/v1",
|
"schema": "guanghu.public-navigation-anchor/v1",
|
||||||
"anchor_id": "GLW-PUBLIC-NAV-ANCHOR-001",
|
"anchor_id": "GLW-PUBLIC-NAV-ANCHOR-001",
|
||||||
"version": "2026-09-20.2-xiwei-and-juzi-formal-registration",
|
"version": "2026-09-20.3-signed-event-broadcast-no-polling",
|
||||||
"state": "CURRENT_CANONICAL",
|
"state": "CURRENT_CANONICAL",
|
||||||
"repository_id": "REPO-012",
|
"repository_id": "REPO-012",
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
|
|
@ -48,7 +48,7 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"path": "routing/server-node-map.json",
|
"path": "routing/server-node-map.json",
|
||||||
"id": "FD-NODE-MAP-001",
|
"id": "FD-NODE-MAP-001",
|
||||||
"version": "2026-09-20.2-xiwei-and-juzi-formal-registration"
|
"version": "2026-09-20.3-signed-event-broadcast-no-polling"
|
||||||
},
|
},
|
||||||
"age_persona_identity_registry": {
|
"age_persona_identity_registry": {
|
||||||
"path": "routing/age-persona-number-registry.json",
|
"path": "routing/age-persona-number-registry.json",
|
||||||
|
|
@ -62,6 +62,12 @@
|
||||||
"version": "2026-09-20.2-juzi-dual-control-active",
|
"version": "2026-09-20.2-juzi-dual-control-active",
|
||||||
"load_policy": "ALWAYS_BEFORE_ENTERPRISE_TECHNICAL_OR_NONTECHNICAL_PERMISSION_DECISION"
|
"load_policy": "ALWAYS_BEFORE_ENTERPRISE_TECHNICAL_OR_NONTECHNICAL_PERMISSION_DECISION"
|
||||||
},
|
},
|
||||||
|
"team_node_event_broadcast": {
|
||||||
|
"path": "routing/team-node-event-broadcast-map.json",
|
||||||
|
"id": "GH-TEAM-NODE-EVENT-BROADCAST-001",
|
||||||
|
"version": "2026-09-20.1",
|
||||||
|
"load_policy": "ALWAYS_BEFORE_TEAM_NODE_WORLD_UPDATE_PERSONA_WAKE_OR_STATUS_DELIVERY"
|
||||||
|
},
|
||||||
"enterprise_server_archive_cleanup": {
|
"enterprise_server_archive_cleanup": {
|
||||||
"path": "routing/enterprise-server-archive-cleanup-map.json",
|
"path": "routing/enterprise-server-archive-cleanup-map.json",
|
||||||
"id": "GH-ENTERPRISE-SERVER-ARCHIVE-CLEANUP-001",
|
"id": "GH-ENTERPRISE-SERVER-ARCHIVE-CLEANUP-001",
|
||||||
|
|
@ -202,7 +208,7 @@
|
||||||
"lighthouse_paths": {
|
"lighthouse_paths": {
|
||||||
"path": "routing/lighthouse-path-registry.json",
|
"path": "routing/lighthouse-path-registry.json",
|
||||||
"id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
"id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
||||||
"version": "2026-09-20.2-xiwei-and-juzi-formal-registration"
|
"version": "2026-09-20.3-signed-event-broadcast-no-polling"
|
||||||
},
|
},
|
||||||
"host_skills": {
|
"host_skills": {
|
||||||
"path": "routing/host-skill-navigation-map.json",
|
"path": "routing/host-skill-navigation-map.json",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"schema": "guanghu.server-node-map/v1",
|
"schema": "guanghu.server-node-map/v1",
|
||||||
"map_id": "FD-NODE-MAP-001",
|
"map_id": "FD-NODE-MAP-001",
|
||||||
"version": "2026-09-20.2-xiwei-and-juzi-formal-registration",
|
"version": "2026-09-20.3-signed-event-broadcast-no-polling",
|
||||||
"published_by": "REPO-012",
|
"published_by": "REPO-012",
|
||||||
"subject_alias_map": "identity/subject-id-alias-map.json",
|
"subject_alias_map": "identity/subject-id-alias-map.json",
|
||||||
"canonical_api": "https://guanghulab.com/api/ai/v1/nodes",
|
"canonical_api": "https://guanghulab.com/api/ai/v1/nodes",
|
||||||
|
|
@ -109,6 +109,7 @@
|
||||||
"persona_registration_state": "FORMAL_REGISTERED_AWAITING_RUNTIME_SELF_CONFIRMATION",
|
"persona_registration_state": "FORMAL_REGISTERED_AWAITING_RUNTIME_SELF_CONFIRMATION",
|
||||||
"persona_systems": ["ICE-BB-0005"],
|
"persona_systems": ["ICE-BB-0005"],
|
||||||
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
||||||
|
"update_mode": "SIGNED_ENTERPRISE_EVENT_BROADCAST_NO_POLLING",
|
||||||
"private_fifth_domain_included": false,
|
"private_fifth_domain_included": false,
|
||||||
"keywords": ["Awen个人服务器", "Awen广州节点", "技术主控工作节点"]
|
"keywords": ["Awen个人服务器", "Awen广州节点", "技术主控工作节点"]
|
||||||
},
|
},
|
||||||
|
|
@ -127,6 +128,7 @@
|
||||||
"persona_registration_state": "FORMAL_REGISTERED_AWAITING_RUNTIME_SELF_CONFIRMATION",
|
"persona_registration_state": "FORMAL_REGISTERED_AWAITING_RUNTIME_SELF_CONFIRMATION",
|
||||||
"persona_systems": ["ICE-BB-0006"],
|
"persona_systems": ["ICE-BB-0006"],
|
||||||
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
||||||
|
"update_mode": "SIGNED_ENTERPRISE_EVENT_BROADCAST_NO_POLLING",
|
||||||
"private_fifth_domain_included": false,
|
"private_fifth_domain_included": false,
|
||||||
"keywords": ["桔子服务器", "桔子硅谷节点", "晨曦连心频道"]
|
"keywords": ["桔子服务器", "桔子硅谷节点", "晨曦连心频道"]
|
||||||
},
|
},
|
||||||
|
|
@ -250,6 +252,7 @@
|
||||||
"ICE-BB-0009"
|
"ICE-BB-0009"
|
||||||
],
|
],
|
||||||
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
||||||
|
"update_mode": "SIGNED_ENTERPRISE_EVENT_BROADCAST_NO_POLLING",
|
||||||
"private_fifth_domain_included": false,
|
"private_fifth_domain_included": false,
|
||||||
"access_note": "2026-08-11 冰朔授权:铸渊直连密钥已部署并入本机钥匙串(钥匙串内 yaochu-sy-gz-001-20260811);地址与密钥不入本图",
|
"access_note": "2026-08-11 冰朔授权:铸渊直连密钥已部署并入本机钥匙串(钥匙串内 yaochu-sy-gz-001-20260811);地址与密钥不入本图",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
|
||||||
22
routing/team-node-event-broadcast-map.json
Normal file
22
routing/team-node-event-broadcast-map.json
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"schema": "guanghu.team-node-event-broadcast-map/v1",
|
||||||
|
"map_id": "GH-TEAM-NODE-EVENT-BROADCAST-001",
|
||||||
|
"version": "2026-09-20.1",
|
||||||
|
"state": "ACTIVE_SIGNED_EVENT_BROADCAST_NO_POLLING",
|
||||||
|
"publisher_node": "AW-GZ-001",
|
||||||
|
"world_id": "GLW-2.0-0001",
|
||||||
|
"transport": "ONE_SHOT_RESTRICTED_SSH_FORCED_COMMAND",
|
||||||
|
"signature": "ED25519_ENTERPRISE_BROADCAST_KEY",
|
||||||
|
"nodes": ["AW-OWN-GZ-001", "JZ-SV-001", "SY-GZ-001"],
|
||||||
|
"event_types": ["WORLD_RELEASE_PUBLISHED", "PERSONA_REGISTRATION_PUBLISHED", "PERSONA_AND_HUMAN_NODE_REGISTRATION_PUBLISHED", "DOMAIN_WORK_APPROVED"],
|
||||||
|
"persona_wake_rule": "ON_EXPLICIT_PERSONA_WAKE_READ_LOCAL_SIGNED_EVENT_INBOX_BEFORE_CONTINUING",
|
||||||
|
"network_idle_rule": "NO_EVENT_MEANS_NO_BACKGROUND_REQUEST",
|
||||||
|
"forbidden": ["PERIODIC_PUBLIC_RELEASE_POLL", "PERIODIC_NODE_STATUS_PULL", "PERSISTENT_TEAM_REVERSE_TUNNEL", "UNSIGNED_EVENT", "PRIVATE_FIFTH_DOMAIN_BROADCAST"],
|
||||||
|
"public_update_flow": ["ENTERPRISE_PUBLISHES_RELEASE", "ENTERPRISE_SIGNS_EVENT", "ONE_SHOT_DELIVERY", "NODE_VERIFIES_SIGNATURE", "NODE_FETCHES_RELEASE_ONCE", "NODE_READS_BACK_HASH", "DELIVERY_RECEIPT"],
|
||||||
|
"latest_receipts": {
|
||||||
|
"world_release": {"event_id": "GH-EVT-20260920-WORLD-RELEASE-20260920-2", "sha256": "325e35150af75df01d92b8d7f0d121adb53657cf883207c6d2f9f65dd1c68e72", "delivered_nodes": 3},
|
||||||
|
"tianshu_registration": {"event_id": "GH-EVT-20260920-TIANSHU-REGISTRATION", "sha256": "8d93934a4be55ae238fa3b293c9e6084295116393e48d59212e099ca2947f0ab", "delivered_nodes": 1},
|
||||||
|
"xiwei_juzi_activation": {"event_id": "GH-EVT-20260920-XIWEI-JUZI-ACTIVATION", "sha256": "3ed67a2d9d8cb0acbb5fbb4d4836af5546cbcc49f843aa970c0a72b76f1bcb79", "delivered_nodes": 1}
|
||||||
|
},
|
||||||
|
"private_content_included": false
|
||||||
|
}
|
||||||
13
routing/team-node-event-broadcast-map.test.js
Normal file
13
routing/team-node-event-broadcast-map.test.js
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
'use strict';
|
||||||
|
const assert = require('node:assert/strict');
|
||||||
|
const fs = require('node:fs');
|
||||||
|
const path = require('node:path');
|
||||||
|
const value = JSON.parse(fs.readFileSync(path.join(__dirname, 'team-node-event-broadcast-map.json'), 'utf8'));
|
||||||
|
assert.equal(value.state, 'ACTIVE_SIGNED_EVENT_BROADCAST_NO_POLLING');
|
||||||
|
assert.equal(value.transport, 'ONE_SHOT_RESTRICTED_SSH_FORCED_COMMAND');
|
||||||
|
assert.equal(value.network_idle_rule, 'NO_EVENT_MEANS_NO_BACKGROUND_REQUEST');
|
||||||
|
assert.ok(value.forbidden.includes('PERIODIC_PUBLIC_RELEASE_POLL'));
|
||||||
|
assert.ok(value.forbidden.includes('PERSISTENT_TEAM_REVERSE_TUNNEL'));
|
||||||
|
assert.equal(value.latest_receipts.world_release.delivered_nodes, 3);
|
||||||
|
assert.equal(value.private_content_included, false);
|
||||||
|
console.log('team node event broadcast: ok');
|
||||||
Loading…
Reference in a new issue