diff --git a/deployment/receipts/DEV-20260807-002-LIGHTHOUSE-SERVICE-REQUEST-20260807.json b/deployment/receipts/DEV-20260807-002-LIGHTHOUSE-SERVICE-REQUEST-20260807.json new file mode 100644 index 0000000..24a8a62 --- /dev/null +++ b/deployment/receipts/DEV-20260807-002-LIGHTHOUSE-SERVICE-REQUEST-20260807.json @@ -0,0 +1,32 @@ +{ + "schema": "guanghu.development-closure-receipt/v1", + "receipt_id": "DEV-20260807-002-LIGHTHOUSE-SERVICE-REQUEST-20260807", + "development_id": "DEV-20260807-002", + "result": "PASS_100", + "source_repository": "REPO-012", + "source_baseline": "cdd0c3f1a0d9d43ff2ba368604ec8474c4c07b2c", + "target_node": "JD-FD-PRIMARY", + "scope": "IMMUTABLE_SERVICE_UPDATE_MANIFEST_ONLY", + "request": "deployment/requests/AI-DISCOVERY-LIGHTHOUSE-HOST-NAV-20260807.json", + "service": "guanghu-ai-discovery.service", + "validation": { + "manifest_json": "PASS_100", + "ai_discovery_tests": "PASS_17_OF_17", + "git_diff_check": "PASS_100", + "current_public_anchor": 200, + "current_public_lighthouse": 404, + "current_public_host_skills": 404, + "current_public_host_navigate": 404 + }, + "authorization": { + "deployment_authority": "NOT_YET_GRANTED", + "next_gate": "Create a public workorder bound to request_id@published_commit and wait for owner approval." + }, + "truth_boundary": "This receipt proves the immutable update request is ready and tested. It does not prove owner authorization, server deployment, service restart or endpoint health.", + "publication": { + "repository": "repo://guanghulab.com/code/bingshuo/guanghu-ice-heart", + "branch": "main", + "state": "TO_BE_BOUND_BY_FINALIZATION_RECEIPT" + }, + "recorded_at": "2026-08-07T18:46:00+08:00" +} diff --git a/deployment/requests/AI-DISCOVERY-LIGHTHOUSE-HOST-NAV-20260807.json b/deployment/requests/AI-DISCOVERY-LIGHTHOUSE-HOST-NAV-20260807.json new file mode 100644 index 0000000..0ade5e6 --- /dev/null +++ b/deployment/requests/AI-DISCOVERY-LIGHTHOUSE-HOST-NAV-20260807.json @@ -0,0 +1,148 @@ +{ + "schema": "guanghu.existing-service-update-request/v1", + "request_id": "AI-DISCOVERY-LIGHTHOUSE-HOST-NAV-20260807", + "target_node": "JD-FD-PRIMARY", + "status": "SERVICE_UPDATE_PACKAGE_READY_DEPLOYMENT_AUTHORIZATION_REQUIRED", + "purpose": { + "what": "让公共 AI 导航服务加载灯塔路径注册表、三宿主技能地图和按宿主意图导航端点。", + "why": "REPO-012 main 已发布新锚点和地图,但当前服务代码仍返回三个新端点 404;路径登记存在不能冒充编号查询已生效。", + "success": "公共 lighthouse、host-skills、host-navigate 和 GHS-009 编号查询全部返回当前 REPO-012 main 的非降级来源回执。", + "out_of_scope": [ + "不改变京东启动项、磁盘、原生光湖OS候选或引导器", + "不执行仓库中的任意脚本", + "不扩大公开写权限", + "不上传JZAO私有人格记忆", + "不修改其他服务" + ] + }, + "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", + "public-navigation-anchor.json", + "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" + }, + { + "source": "routing/lighthouse-path-registry.json", + "destination": "lighthouse-path-registry.json", + "mode": "0644" + }, + { + "source": "routing/host-skill-navigation-map.json", + "destination": "host-skill-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/lighthouse", + "expected": { + "registry_id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001", + "lighthouse_id": "SYS-GLW-LTH-0001", + "state": "CURRENT_CANONICAL" + } + }, + { + "url": "http://127.0.0.1:3922/v1/host-skills", + "expected": { + "map_id": "GLW-HOST-SKILL-NAV-001", + "state": "CURRENT" + } + }, + { + "url": "http://127.0.0.1:3922/v1/host-navigate?host=codex&intent=%E6%8E%A8%E4%B8%80%E4%B8%8B%E7%BA%BF%E4%B8%8A%E4%BB%93%E5%BA%93", + "expected": { + "status": "COMPILED_EXACT_NO_GUESS", + "lighthouse_id": "SYS-GLW-LTH-0001", + "authority": "NONE_NAVIGATION_ONLY" + } + }, + { + "url": "http://127.0.0.1:3922/v1/resolve?id=GHS-009-LIGHTHOUSE-HOST-NAVIGATION", + "expected": { + "decision": "VALID_REGISTERED", + "lighthouse_id": "SYS-GLW-LTH-0001" + } + } + ], + "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 all declared destinations and the previous systemd unit, then restart only guanghu-ai-discovery.service", + "receipt_required": true + }, + "security": { + "public_read_only": true, + "allowlisted_json_only": true, + "repository_scripts_executed": false, + "last_known_good_fallback": true, + "degraded_health_on_invalid_head": true, + "no_secrets": true + } +}