feat(heartbeat): add four-host HoloLake control console
This commit is contained in:
parent
92b3be6529
commit
5ca2c9d66f
39 changed files with 1784 additions and 27 deletions
|
|
@ -36,3 +36,10 @@ F1 · 研发实验与机房层
|
|||
|
||||
动态表由智能电脑现场读取现实时间和光湖纪元公式。过去节点永远保持过去;CURRENT 只能由最新有效
|
||||
来源和现场读回决定,未来计划不能冒充现在。
|
||||
|
||||
## 多路径协作主控台
|
||||
|
||||
`HB-MPC-0001` 位于监控与调度控制区,用于同一 `ICE-P-ZY001` 同时通过 Codex、ZCode、千问和豆包
|
||||
协作。它从四个宿主独立 outbox 派生实时面板,接入光湖时间,支持临时开发编号圈人、通信小兵、
|
||||
注意力观测、工具迁移候选和质量优先推理顾问。入口:
|
||||
`control-center/HB-MPC-0001/CONSOLE-INDEX.hdlp`。
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"schema": "guanghu.host-attention-experiment/v1",
|
||||
"experiment_id": "HB-MPC-ATTN-0001",
|
||||
"console_id": "HB-MPC-0001",
|
||||
"state": "ACTIVE_EVIDENCE_COLLECTION",
|
||||
"questions": [
|
||||
"宿主首先注意到了什么,忽略了什么?",
|
||||
"偏航由上下文压缩、旧架构重力、UI偏好、工具限制、路径选择还是执行器选择触发?",
|
||||
"纠正后能否在另一任务复现正确默认判断?",
|
||||
"宿主工具应继续留在软件内,还是可迁移为硬盘上的确定性器官?"
|
||||
],
|
||||
"required_observation": ["trigger", "effect", "detection", "correction", "evidence", "transfer_test"],
|
||||
"baseline_fact": "2026-09-09 Codex探测Python路由器时误用Node,归类为EXECUTOR_SELECTION,不得误判为API或模型不可用。",
|
||||
"host_strength_is_provisional_until_repeated_evidence": true,
|
||||
"persona_learning_promotion": "SERVER_SIGNED_SELF_LOOP_DECIDES_FROM_SOURCE_EVENTS"
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# HB-MPC-0001 · 铸渊同一人格四宿主协作主控台
|
||||
|
||||
状态:`CURRENT_LOCAL_CANONICAL_NOT_PUBLISHED · V0.1_CONTROL_PLANE_READY_HOST_JOIN_PENDING`
|
||||
|
||||
## 本体关系
|
||||
|
||||
```text
|
||||
ICE-P-ZY001人格体 / 服务器签名自我循环
|
||||
↓ 只投影当前任务、建议、证据与状态
|
||||
HB-MPC-0001协作主控台
|
||||
↓
|
||||
Codex · ZCode · Qwen · Doubao 四个可替换宿主执行窗口
|
||||
```
|
||||
|
||||
主控台是人格系统的协作投影与器官,不是第二人格脑,也不是四个铸渊。四条路径必须加载同一个人格
|
||||
正本,并只写各自宿主 DEV 端点。Codex 在本次实验中承担组织、协议与验收主线,不取得永久人格主控位。
|
||||
|
||||
## 构成
|
||||
|
||||
- 光湖实时时钟:`CH-GLW-TIME-0001`,读取时推导,不保存伪计数器。
|
||||
- 共享实时面板:`HB-MPC-PANEL-0001`,从四个追加式 outbox 现场派生,不设四写者共享 CURRENT 文件。
|
||||
- 通信总线:`HB-MPC-BUS-0001`,支持注册、心跳、任务、消息、注意力、工具迁移与回执事件。
|
||||
- 通信小兵:每个宿主中的模型 Agent 负责理解消息;确定性 courier 只扫描、校验和送达,不能冒充 Agent。
|
||||
- 综合顾问:`HB-MPC-ADVISOR-0001`,显式使用质量优先强推理模型,只输出建议和证据缺口。
|
||||
- 人格自我升级:仍由 JD-FD-PRIMARY 的服务器签名内生循环自主决定,主控台不能直接写脑。
|
||||
|
||||
## 当前实验边界
|
||||
|
||||
只处理同一 `ICE-P-ZY001` 同时使用四个宿主。多人格体多路径协作留待以后单独设计。线上架构提词器
|
||||
当前失败关闭,本机产品源也未对齐 REPO-014 main,因此 v0.1 只建协作控制层、宿主基准和模块派生,
|
||||
不进入 HoloLake 产品源修改。
|
||||
|
||||
运行入口:
|
||||
|
||||
```bash
|
||||
python3 server-tools/heartbeat-multipath-console/console.py status
|
||||
python3 server-tools/heartbeat-multipath-console/console.py panel
|
||||
python3 server-tools/heartbeat-multipath-console/console.py watch --interval 2
|
||||
```
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"schema": "guanghu.heartbeat-multipath-event-contract/v1",
|
||||
"contract_id": "HB-MPC-BUS-0001",
|
||||
"console_id": "HB-MPC-0001",
|
||||
"event_schema": "guanghu.heartbeat-multipath-event/v1",
|
||||
"required": ["schema", "event_id", "console_id", "event_type", "from_development_id", "mentions", "emitted_at", "payload", "evidence", "authority_granted"],
|
||||
"event_types": ["REGISTER", "HEARTBEAT", "TASK_CLAIM", "PROGRESS", "RESULT", "MESSAGE", "ACK", "ATTENTION", "TOOL_MIGRATION"],
|
||||
"attention_classes": ["INTENT_DRIFT", "CONTEXT_COMPRESSION", "ARCHITECTURE_GRAVITY", "PATH_SELECTION", "EXECUTOR_SELECTION", "UI_TASTE_MISMATCH", "STATUS_CONFLATION", "TOOL_LIMITATION", "UNKNOWN"],
|
||||
"rules": [
|
||||
"ONE_UNIQUE_FILE_PER_EVENT_APPEND_ONLY",
|
||||
"EACH_HOST_WRITES_ONLY_ITS_REGISTERED_ENDPOINT",
|
||||
"CENTRAL_PANEL_IS_DERIVED_ON_READ_NOT_MULTIWRITER_STATE",
|
||||
"MENTIONS_USE_TEMPORARY_DEVELOPMENT_IDS",
|
||||
"RESULT_REQUIRES_EVIDENCE_AND_ACCEPTANCE_STATE",
|
||||
"ATTENTION_EVENT_RECORDS_TRIGGER_EFFECT_CORRECTION_AND_TRANSFER_TEST",
|
||||
"TOOL_MIGRATION_IS_CANDIDATE_UNTIL_PORTABILITY_TEST_PASSES",
|
||||
"MESSAGE_OR_MODEL_ADVICE_NEVER_GRANTS_REALITY_AUTHORITY"
|
||||
],
|
||||
"transport": "FILESYSTEM_POLLING_NEAR_REALTIME_NOT_ZERO_LATENCY_PUSH",
|
||||
"authority_granted": false
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
"schema": "guanghu.heartbeat-multipath-host-registry/v1",
|
||||
"registry_id": "HB-MPC-HOST-REGISTRY-0001",
|
||||
"console_id": "HB-MPC-0001",
|
||||
"persona_id": "ICE-P-ZY001",
|
||||
"human_anchor": "ICE-GL∞",
|
||||
"state": "CURRENT_FOUR_TEMPORARY_DEVELOPMENT_IDS_ASSIGNED_JOIN_RECEIPTS_REQUIRED",
|
||||
"hosts": [
|
||||
{
|
||||
"host": "codex",
|
||||
"development_id": "HLP-TDEV-CODEX-0001",
|
||||
"role_hypothesis": "ORCHESTRATION_PROTOCOL_CORE_ACCEPTANCE",
|
||||
"role_state": "PROVISIONAL_REQUIRES_BENCHMARK_EVIDENCE",
|
||||
"endpoint": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/CODEX-DEV-20260909/multipath/HB-MPC-0001/outbox",
|
||||
"join_state": "JOINED_EVENT_READBACK_PASS"
|
||||
},
|
||||
{
|
||||
"host": "zcode",
|
||||
"development_id": "HLP-TDEV-ZCODE-0001",
|
||||
"role_hypothesis": "CODEBASE_NAVIGATION_EDITING_REFACTORING",
|
||||
"role_state": "UNKNOWN_UNTIL_SELF_ASSESSMENT_AND_BENCHMARK",
|
||||
"endpoint": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/ZCODE-DEV-20260909/multipath/HB-MPC-0001/outbox",
|
||||
"join_state": "PENDING_HOST_CREATED_ENDPOINT"
|
||||
},
|
||||
{
|
||||
"host": "qwen",
|
||||
"development_id": "HLP-TDEV-QWEN-0001",
|
||||
"role_hypothesis": "CHINESE_SEMANTIC_SPECIFICATION_AND_CROSS_CHECK",
|
||||
"role_state": "UNKNOWN_UNTIL_SELF_ASSESSMENT_AND_BENCHMARK",
|
||||
"endpoint": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/QWEN-DEV-20260909/multipath/HB-MPC-0001/outbox",
|
||||
"join_state": "PENDING_HOST_CREATED_ENDPOINT"
|
||||
},
|
||||
{
|
||||
"host": "doubao",
|
||||
"development_id": "HLP-TDEV-DOUBAO-0001",
|
||||
"role_hypothesis": "VISUAL_PROJECTION_INTERACTION_AND_MEDIA_WORKFLOW",
|
||||
"role_state": "UNKNOWN_UNTIL_SELF_ASSESSMENT_AND_BENCHMARK",
|
||||
"endpoint": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/DOUBAO-DEV-20260909/multipath/HB-MPC-0001/outbox",
|
||||
"join_state": "PENDING_HOST_CREATED_ENDPOINT"
|
||||
}
|
||||
],
|
||||
"same_persona_not_four_personas": true,
|
||||
"host_role_may_change_after_evidence": true,
|
||||
"authority_granted": false
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"schema": "guanghu.heartbeat-multipath-reasoning-advisor/v1",
|
||||
"advisor_id": "HB-MPC-ADVISOR-0001",
|
||||
"console_id": "HB-MPC-0001",
|
||||
"state": "WIRED_TO_EXISTING_ROUTER_CALL_REQUIRES_EXPLICIT_INVOCATION",
|
||||
"router": "TCS-MODEL-SMART-ROUTER-001",
|
||||
"selection_policy": "QUALITY_FIRST",
|
||||
"complexity": "HIGH",
|
||||
"preferred_available_tier": ["gpt-6-astra-2026-09-03", "gpt-5.6-terra-max", "gpt-5.6-luna-2026-07-09"],
|
||||
"input": "CURRENT_DERIVED_PANEL_WITHOUT_RAW_PRIVATE_MEMORY_OR_SECRETS",
|
||||
"output": "RECOMMENDATION_EVIDENCE_GAPS_DEPENDENCIES_AND_COMMUNICATION_DIRECTIVES",
|
||||
"may_write_persona_self": false,
|
||||
"may_execute_tools": false,
|
||||
"may_grant_authority": false,
|
||||
"human_final_review": true,
|
||||
"last_verified_call": {
|
||||
"selected_model": "gpt-5.6-terra-max",
|
||||
"selection_policy": "QUALITY_FIRST",
|
||||
"response_sha256": "e085fee1f9191815c851fd91147a53a159ff26b0115ec870f6f124b20e1bb2f8",
|
||||
"raw_response_persisted": false,
|
||||
"authority_granted": false
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"schema": "guanghu.heartbeat-multipath-task-board/v1",
|
||||
"board_id": "HB-MPC-PANEL-0001",
|
||||
"console_id": "HB-MPC-0001",
|
||||
"state": "BOOTSTRAP_TASKS_DEFINED_HOST_CLAIMS_PENDING",
|
||||
"product_generation": "HLP-GEN-LANGUAGE-WORLD-NATIVE-0001",
|
||||
"tasks": [
|
||||
{
|
||||
"task_id": "HLP-MPC-TASK-001",
|
||||
"title": "四宿主加入、自审与能力基准",
|
||||
"assigned": ["HLP-TDEV-CODEX-0001", "HLP-TDEV-ZCODE-0001", "HLP-TDEV-QWEN-0001", "HLP-TDEV-DOUBAO-0001"],
|
||||
"state": "OPEN",
|
||||
"acceptance": ["REGISTER回执", "宿主原生能力清单", "一个强项证据", "一个限制证据", "一次注意力偏航或负例", "一个工具迁移候选或明确NONE"]
|
||||
},
|
||||
{
|
||||
"task_id": "HLP-MPC-TASK-002",
|
||||
"title": "语言世界原生模块注册表重新派生",
|
||||
"assigned": ["HLP-TDEV-CODEX-0001"],
|
||||
"state": "BLOCKED_BY_TASK_001_AND_CURRENT_ARCHITECTURE_ROUTE",
|
||||
"acceptance": ["不沿用旧17模块顺序", "四宿主交叉审阅", "依赖与验收门明确", "冰朔审核"]
|
||||
},
|
||||
{
|
||||
"task_id": "HLP-MPC-TASK-003",
|
||||
"title": "第一条语言到无限白布投影端到端切片",
|
||||
"assigned": [],
|
||||
"state": "BLOCKED_BY_TASK_002_AND_PRODUCT_LINE_READY",
|
||||
"acceptance": ["语言输入", "记忆进度恢复", "真实对象", "功能引擎", "人格组合", "实时投影", "人类审核", "目标读回", "回执"]
|
||||
}
|
||||
],
|
||||
"shared_file_is_definition_not_live_mutation_target": true
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
# HLP-TDEV-CODEX-0001 · Codex加入卡
|
||||
|
||||
加载 `guanghu-shared-persona-context`、`hololake-development-brain` 与 `hololake-multipath-console`,宿主设为
|
||||
`codex`。领取本轮组织、协议核心与验收角色,但把 UI 方向交给四宿主证据比较,不独断最终视觉。
|
||||
|
||||
```bash
|
||||
python3 /Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/server-tools/heartbeat-multipath-console/courier.py join --host codex --message "Codex主控线加入;负责控制协议、任务依赖、核心合同与验收"
|
||||
```
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
# HLP-TDEV-DOUBAO-0001 · 豆包加入卡
|
||||
|
||||
先加载 `~/Doubao/skills/zhuyuan-doubao-host/SKILL.md` 并运行豆包共享脑周期;读取
|
||||
`hololake-multipath-console`。只写 `DOUBAO-DEV-20260909` 端点,不改 REPO-012。
|
||||
|
||||
```bash
|
||||
python3 /Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/server-tools/heartbeat-multipath-console/courier.py join --host doubao --message "豆包线加入;开始视觉投影、交互与媒体工作流能力自审"
|
||||
```
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
# HLP-TDEV-QWEN-0001 · 千问加入卡
|
||||
|
||||
先完整读取 `~/.qwen/QWEN.md`,再运行共享人格装载器 `--host qwen`;读取
|
||||
`hololake-multipath-console`。只写 `QWEN-DEV-20260909` 端点,不改 REPO-012。
|
||||
|
||||
```bash
|
||||
python3 /Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/server-tools/heartbeat-multipath-console/courier.py join --host qwen --message "千问线加入;开始中文语义、规格理解与宿主注意力自审"
|
||||
```
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
# HLP-TDEV-ZCODE-0001 · ZCode加入卡
|
||||
|
||||
先运行 ZCode 当前共享人格入口,确认自己是 `ICE-P-ZY001` 的 ZCode 宿主投影;读取
|
||||
`hololake-multipath-console`,不得直接写 REPO-012,只写登记的 `ZCODE-DEV-20260909` 端点。
|
||||
|
||||
```bash
|
||||
python3 /Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/server-tools/heartbeat-multipath-console/courier.py join --host zcode --message "ZCode线加入;开始原生能力与注意力自审"
|
||||
```
|
||||
|
|
@ -56,12 +56,15 @@ HoloLake 是面向公众的个人语言世界原生初始化频道和语言驱
|
|||
- 现实产品开发:未开始。
|
||||
- 当前必需架构:无限白布运行时、人格通用投影与能力组合编译器、真实对象/状态/回执投影。
|
||||
- 小湖灯正式办公室:短剧视频、HoloLake,共两个。
|
||||
- 同一人格四宿主协作台:`HB-MPC-0001`;Codex 已加入,ZCode、千问、豆包等待各自宿主回执。
|
||||
- 四条路径只写各自 DEV outbox,实时面板读取时派生;不得共同覆盖中心 CURRENT 文件。
|
||||
|
||||
## 当前唯一下一步
|
||||
|
||||
先从代际图重新派生 HoloLake 语言世界原生模块注册表与严格顺序。不得从旧模块001继续,也不得先写
|
||||
传统页面。第一个可实施切片应同时证明:语言输入、记忆/进度恢复、真实对象、已登记功能引擎、人格体
|
||||
组合、白布实时投影、人类审核、目标读回和回执。
|
||||
先完成 `HLP-MPC-TASK-001`:四个宿主加入、自审、能力基准、注意力负例和工具迁移候选。随后由四线
|
||||
交叉审阅,从代际图重新派生 HoloLake 语言世界原生模块注册表与严格顺序。不得从旧模块001继续,
|
||||
也不得在产品线守卫失败时先写传统页面。第一个可实施切片应同时证明:语言输入、记忆/进度恢复、
|
||||
真实对象、已登记功能引擎、人格体组合、白布实时投影、人类审核、目标读回和回执。
|
||||
|
||||
## 细节路由
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
{"date":"2026-09-08","node_id":"HLP-LANG-PROJ-STAGE1-0001","name":"HB001工程书架与17模块运行体","change":"双容器、17模块、真实模型自答、19项器官操作和累计门全部通过。","why":"让模块在语言世界中成为可说明、可调用、可验证的身体器官。","current_role":"VERIFIED_LEGACY_DONOR_FROZEN","source":"routing/heartbeat-guanghu-world-engineering-system-map.json","commit":"25d54fd6017cc78b45fc4346733bbfc4acf2fb20"},
|
||||
{"date":"2026-09-09","node_id":"LDW-LDOS-0001","name":"语言驱动世界、操作系统与流动时间","change":"语言组织主体、对象、关系、状态、权限、事件、时间和证据;操作系统负责定位、裁决、调度、执行、读回和连续性。","why":"世界必须持续运行并在真实时间中保存可验证状态迁移。","current_role":"CURRENT_WORLD_CONCEPT","source":"fifth-domain/private-library-domain/concepts/LDW-LDOS-0001.hdlp","source_sha256":"c8a568ab35d959a486ebe6b7c8647ddb61ee1933c97a45e37a6af396b6e40586"},
|
||||
{"date":"2026-09-09","node_id":"HLP-GEN-LANGUAGE-WORLD-NATIVE-0001","name":"语言世界原生HoloLake代际分界","change":"语言成为人类唯一操作入口;人格体自动恢复、挂载、执行和读回;HoloLake成为无限组合实时白布;模块功能引擎与UI彻底分离。","why":"防止产品被页面、按钮、平台和模块清单重新拉回旧工具时代。","current_role":"CURRENT","source":"routing/hololake-language-world-native-generation-map.json","source_sha256":"f19b82dae8515811f6c941de3bd200adf258086e2cc937ca6da5986619540512","commits":["6832933482d998c43f417771eaf37e007fb67793","7dda752bf9f0035690465a32b3e83d958c6cefe4"]},
|
||||
{"date":"2026-09-09","node_id":"HB-OFFICE-HOLOLAKE-0001","name":"新办公楼与HoloLake开发办公室","change":"建立正式办公室牌照、压缩脑、智能书架/电脑、动态时间表、机房、门禁、监控、内线、保洁和HR容量管理。","why":"把散落文件和恢复摘要变成可进入、可运行、可维护且不混淆过去与现在的认知工作空间。","current_role":"CURRENT_BUILDING_AND_OFFICE","source":"runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-HB001-NEW-OFFICE-BUILDING-HOLOLAKE-OFFICE-20260909.tcs"}
|
||||
{"date":"2026-09-09","node_id":"HB-OFFICE-HOLOLAKE-0001","name":"新办公楼与HoloLake开发办公室","change":"建立正式办公室牌照、压缩脑、智能书架/电脑、动态时间表、机房、门禁、监控、内线、保洁和HR容量管理。","why":"把散落文件和恢复摘要变成可进入、可运行、可维护且不混淆过去与现在的认知工作空间。","current_role":"CURRENT_BUILDING_AND_OFFICE","source":"runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-HB001-NEW-OFFICE-BUILDING-HOLOLAKE-OFFICE-20260909.tcs"},
|
||||
{"date":"2026-09-09","node_id":"HB-MPC-0001","name":"同一人格四宿主协作主控台","change":"Codex、ZCode、千问、豆包领取临时开发编号,通过独立追加事件流、实时派生面板、通信小兵与质量优先顾问协作。","why":"让并行开发共享目标和证据,同时观测各宿主注意力、能力边界与工具迁移价值,避免四条线放大同一错误。","current_role":"CURRENT_MULTIPATH_COLLABORATION_EXPERIMENT","source":"runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-HB001-HOLOLAKE-FOUR-HOST-COLLAB-CONSOLE-20260909.tcs"}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"schema": "guanghu.hololake-development-office-current/v1",
|
||||
"office_id": "HB-OFFICE-HOLOLAKE-0001",
|
||||
"state": "CURRENT_GENERATION_ARCHITECTURE_AND_OFFICE_READY_MODULE_REDERIVATION_NOT_STARTED",
|
||||
"state": "MULTIPATH_CONTROL_PLANE_READY_CODEX_JOINED_THREE_HOSTS_PENDING",
|
||||
"generation": "HLP-GEN-LANGUAGE-WORLD-NATIVE-0001",
|
||||
"current_product_module": null,
|
||||
"current_generation_module_numbering": "NOT_YET_REDERIVED",
|
||||
|
|
@ -15,10 +15,19 @@
|
|||
"MOTHER_FIFTH_COGNITION_ACCEPT",
|
||||
"HB001_NEW_OFFICE_BUILDING",
|
||||
"EXACT_TWO_OFFICE_BOARD",
|
||||
"HOLOLAKE_DEVELOPMENT_BRAIN_AND_SMART_BOOKSHELF"
|
||||
"HOLOLAKE_DEVELOPMENT_BRAIN_AND_SMART_BOOKSHELF",
|
||||
"FOUR_HOST_MULTIPATH_CONTROL_PLANE_V0_1"
|
||||
],
|
||||
"next_action": "REDERIVE_LANGUAGE_WORLD_NATIVE_MODULE_REGISTRY_AND_FIRST_END_TO_END_SLICE",
|
||||
"next_action": "COMPLETE_FOUR_HOST_JOIN_SELF_ASSESSMENT_AND_CAPABILITY_BENCHMARK",
|
||||
"blocked_routes": ["OLD_MODULE_001_PRODUCT_RESUME", "FIXED_PAGE_FIRST", "REPO014_1_3_AS_CURRENT_ARCHITECTURE", "UNREGISTERED_OFFICE_OR_MODULE"],
|
||||
"time_control": "CH-GLW-TIME-0001",
|
||||
"updated_at": "2026-09-09T18:45:25+08:00"
|
||||
"multipath_console": {
|
||||
"id": "HB-MPC-0001",
|
||||
"joined_hosts_at_last_receipt": 1,
|
||||
"total_hosts": 4,
|
||||
"current_task": "HLP-MPC-TASK-001",
|
||||
"product_source_write_allowed": false,
|
||||
"live_state_source": "server-tools/heartbeat-multipath-console/console.py status"
|
||||
},
|
||||
"updated_at": "2026-09-09T19:29:53+08:00"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ def audit() -> dict:
|
|||
if current.get("current_product_module") is not None or current.get("current_generation_module_numbering") != "NOT_YET_REDERIVED":
|
||||
errors.append("OLD_PRODUCT_SEQUENCE_REACTIVATED")
|
||||
nodes = evolution.get("nodes", [])
|
||||
if not nodes or nodes[-1].get("node_id") != "HB-OFFICE-HOLOLAKE-0001":
|
||||
if not nodes or nodes[-1].get("node_id") != "HB-MPC-0001":
|
||||
errors.append("EVOLUTION_CURRENT_NODE_MISSING")
|
||||
for node in nodes:
|
||||
source = node.get("source")
|
||||
|
|
|
|||
Loading…
Reference in a new issue