fix: unify and auto-refresh public navigation entry
This commit is contained in:
parent
2ba64391ea
commit
ea41e5a4fc
9 changed files with 573 additions and 61 deletions
|
|
@ -0,0 +1,139 @@
|
|||
{
|
||||
"schema": "guanghu.existing-service-update-request/v1",
|
||||
"request_id": "AI-DISCOVERY-CANONICAL-AUTO-SNAPSHOT-20260806",
|
||||
"target_node": "JD-FD-PRIMARY",
|
||||
"status": "SERVICE_UPDATE_PACKAGE_READY · DEPLOYMENT_PENDING",
|
||||
"purpose": {
|
||||
"what": "把公共导航改为从REPO-012 main的同一提交自动读取唯一导航锚点与整套只读地图快照。",
|
||||
"why": "当前公共服务使用/opt/guanghu/ai-discovery中的人工复制件,代码频道main更新后不会同步,已经出现在线2026-08-04.2落后于仓库2026-08-05.1。",
|
||||
"success": "本地、代码频道和公共API都解析GLW-PUBLIC-NAV-ANCHOR-001;公共响应回执同一source_commit;后续纯地图更新无需复制文件或重启服务。",
|
||||
"out_of_scope": [
|
||||
"不从push执行仓库脚本",
|
||||
"不自动部署服务代码、systemd单元、迁移或操作系统",
|
||||
"不扩大京东服务器权限",
|
||||
"不把仓库发布解释为人格体在线或光湖OS启动"
|
||||
]
|
||||
},
|
||||
"module": {
|
||||
"unit": "guanghu-ai-discovery.service",
|
||||
"run_user": "guanghu",
|
||||
"install_root": "/opt/guanghu/ai-discovery"
|
||||
},
|
||||
"service_update": {
|
||||
"kind": "existing-systemd-service",
|
||||
"require_existing_unit": true,
|
||||
"required_existing_files": [
|
||||
"server.js",
|
||||
"repository-route-map.json",
|
||||
"server-node-map.json",
|
||||
"fifth-domain-subject-registry.json",
|
||||
"subject-id-alias-map.json",
|
||||
"ai-machine-navigation-map.json"
|
||||
]
|
||||
},
|
||||
"unit_source": "server-tools/ai-discovery-gateway/guanghu-ai-discovery.service",
|
||||
"files": [
|
||||
{
|
||||
"source": "server-tools/ai-discovery-gateway/server.js",
|
||||
"destination": "server.js",
|
||||
"mode": "0644"
|
||||
},
|
||||
{
|
||||
"source": "routing/public-navigation-anchor.json",
|
||||
"destination": "public-navigation-anchor.json",
|
||||
"mode": "0644"
|
||||
},
|
||||
{
|
||||
"source": "routing/repository-route-map.json",
|
||||
"destination": "repository-route-map.json",
|
||||
"mode": "0644"
|
||||
},
|
||||
{
|
||||
"source": "routing/server-node-map.json",
|
||||
"destination": "server-node-map.json",
|
||||
"mode": "0644"
|
||||
},
|
||||
{
|
||||
"source": "identity/fifth-domain-subject-registry.json",
|
||||
"destination": "fifth-domain-subject-registry.json",
|
||||
"mode": "0644"
|
||||
},
|
||||
{
|
||||
"source": "identity/subject-id-alias-map.json",
|
||||
"destination": "subject-id-alias-map.json",
|
||||
"mode": "0644"
|
||||
},
|
||||
{
|
||||
"source": "routing/ai-machine-navigation-map.json",
|
||||
"destination": "ai-machine-navigation-map.json",
|
||||
"mode": "0644"
|
||||
}
|
||||
],
|
||||
"runtime_check": {
|
||||
"url": "http://127.0.0.1:3922/health",
|
||||
"expected": {
|
||||
"ok": true,
|
||||
"service": "guanghu-ai-discovery",
|
||||
"mode": "read-only",
|
||||
"navigation_source": {
|
||||
"anchor_id": "GLW-PUBLIC-NAV-ANCHOR-001",
|
||||
"source_mode": "REPO-012_MAIN_GIT_SNAPSHOT",
|
||||
"source_degraded": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"acceptance_checks": [
|
||||
{
|
||||
"url": "http://127.0.0.1:3922/v1/anchor",
|
||||
"expected": {
|
||||
"anchor_id": "GLW-PUBLIC-NAV-ANCHOR-001",
|
||||
"repository_id": "REPO-012",
|
||||
"branch": "main"
|
||||
}
|
||||
},
|
||||
{
|
||||
"url": "http://127.0.0.1:3922/v1/navigation",
|
||||
"expected": {
|
||||
"map_id": "AI-MACHINE-NAV-001",
|
||||
"version": "2026-08-05.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"url": "http://127.0.0.1:3922/v1/entry?subject=ICE-P-ZY001",
|
||||
"expected": {
|
||||
"status": "WARM_RESUME_READY",
|
||||
"subject": "ICE-P-ZY001",
|
||||
"runtime_id": "ZY-TCS-BRAIN-RUNTIME-0001",
|
||||
"authority": "NONE_NAVIGATION_AND_RUNTIME_STATUS_ONLY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"url": "http://127.0.0.1:3922/v1/navigate?subject=ICE-P-ZY001&intent=persona_restore",
|
||||
"expected": {
|
||||
"status": "COMPILED_EXACT_NO_GUESS",
|
||||
"canonical_subject": "ICE-P-ZY001",
|
||||
"authority": "NONE_NAVIGATION_ONLY"
|
||||
}
|
||||
}
|
||||
],
|
||||
"source_consistency_check": {
|
||||
"repository": "/var/lib/guanghu/personas/guanghu/hlcc-v16.0.1/data/repositories/bingshuo/guanghu-ice-heart.git",
|
||||
"branch": "refs/heads/main",
|
||||
"require_every_response_source_commit_equals_branch_head": true,
|
||||
"require_maps_loaded_from_one_commit": true
|
||||
},
|
||||
"rollback": {
|
||||
"automatic_on_failure": true,
|
||||
"scope": "restore every declared destination and the previous systemd unit, then restart the previous service",
|
||||
"receipt_required": true
|
||||
},
|
||||
"security": {
|
||||
"public_read_only": true,
|
||||
"allowlisted_json_only": true,
|
||||
"repository_scripts_executed": false,
|
||||
"restart_on_map_update": false,
|
||||
"last_known_good_fallback": true,
|
||||
"degraded_health_on_invalid_head": true,
|
||||
"no_secrets": true
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue