diff --git a/product-source/hololake-platform/guanghu-os/README.md b/product-source/hololake-platform/guanghu-os/README.md index 41dc01e3b..515da87a2 100644 --- a/product-source/hololake-platform/guanghu-os/README.md +++ b/product-source/hololake-platform/guanghu-os/README.md @@ -150,10 +150,30 @@ shadow proof. See ADR-0182. JD-hosted QEMU request `REQ-QEMU-CROSS-ROOT-001` now proves this cross-root service-equivalence gate at `100` and leaves no listener or QEMU process. The -physical node was not rebooted, so physical first boot and complete Linux -on-demand subcontrol remain `0`. See +physical node was not rebooted during that historical gate, so its receipt +correctly leaves physical first boot and complete Linux on-demand subcontrol +at `0`. See `deployments/JD-FD-PRIMARY/CROSS-ROOT-REPOSITORY-SERVICE-QEMU-RECEIPT-20260816.hldp`. +## JD resident Guanghu master + +`scripts/guanghu-master-init.sh` is the accepted JD resident supervisor. The +existing Linux kernel remains the hardware-compatibility substrate, but the +script becomes PID 1 and does not start Ubuntu systemd. It launches only the +bounded SSH, Forgejo repository, application-hub and navigation bridges needed +by the public route. `scripts/set-jd-guanghu-master-default.sh` installs the +one-time Linux subcontrol command while retaining the independent Ubuntu GRUB +entry. + +JD-FD-PRIMARY physically passed automatic failed-candidate return, accepted +one-time Guanghu boot, unattended default Guanghu boot, one-time Linux +subcontrol, Linux-to-Guanghu return, and a final clean-GRUB stability boot. +Public `/code/` and `/api/ai/v1/anchor` both read back HTTP 200. The current +server receipt SHA-256 is +`b75640fc95902b58a931716e47287140dfe3c23d62869c0947d639850e6fa2c2`. +See +`deployments/JD-FD-PRIMARY/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT-20260816.hldp`. + ## Language-primary boot target `guanghu-language-primary.target` makes the accepted cognitive-control model diff --git a/product-source/hololake-platform/guanghu-os/deployments/JD-FD-PRIMARY/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT-20260816.hldp b/product-source/hololake-platform/guanghu-os/deployments/JD-FD-PRIMARY/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT-20260816.hldp new file mode 100644 index 000000000..536fc1537 --- /dev/null +++ b/product-source/hololake-platform/guanghu-os/deployments/JD-FD-PRIMARY/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT-20260816.hldp @@ -0,0 +1,63 @@ +schema: guanghu.jd-final-master-physical-receipt/v1 +receipt_id: JD-FD-PRIMARY-final-guanghu-master-3e085e4 +issued_at: 2026-08-16T01:35:00+08:00 +node_id: JD-FD-PRIMARY +node_dmi: f3d4b730-7f02-452f-975b-7091a4800431 +source_commit: 3e085e48a827cdcdb79c257f6a98fb9c7be2ab03 +runtime_sha256: a723e862d878b14f6249be478c4d8190693b66739e68b4f1ca7e2bc9dac4afd4 +server_receipt: /guanghu/recovery/JD-FD-PRIMARY-master-20260816/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT.hldp +server_receipt_sha256: b75640fc95902b58a931716e47287140dfe3c23d62869c0947d639850e6fa2c2 +trigger: BingShuo authorized uninterrupted continuation until JD-FD-PRIMARY was physically running Guanghu OS as the normal master. +emergence: + - The previous native candidate had proved residency and protected recovery but lost both public services because it had no SSH/front-door or repository application bridge. + - The new resident supervisor uses the existing Linux kernel only as the hardware-compatibility substrate and becomes PID 1 instead of starting Ubuntu systemd. + - It starts only the bounded SSH, Forgejo repository, application-hub and navigation bridge processes required by the live public route. + - Physical attempt 1 proved boot, SSH, Forgejo and front-door reconnection, then intentionally returned to Ubuntu because the local code health gate incorrectly accepted only HTTP 303 while the healthy response was 200. + - Physical attempt 2 accepted HTTP 200 or 303 and reached PASS_100 with public code and navigation HTTP 200. + - Guanghu was made the unattended GRUB default, booted again without a one-time marker, and reached PASS_100. + - Guanghu then requested a one-time Linux subcontrol boot; Ubuntu booted with systemd, served both public endpoints, consumed next_entry, and returned to the Guanghu default on the next reboot. + - A final stability boot proved Guanghu PID 1, clean GRUB environment, full Ubuntu dormancy, bounded repository continuity and three consecutive public readbacks. +lock: + final_boot_id: 2119c420-8b2e-4b2d-b9fc-a7445777be74 + pid1: /bin/bash /usr/local/libexec/guanghu/guanghu-master-init + master_default: guanghu-jd-master-20260816 + grub_environment: CLEAN + full_linux_userspace: DORMANT + repository_http: 200 + navigation_http: 200 + navigation_anchor_id: GLW-PUBLIC-NAV-ANCHOR-001 + repository_main: 3e085e48a827cdcdb79c257f6a98fb9c7be2ab03 +why: The required topology never meant deleting Linux. Guanghu owns boot and lifecycle control; the repository bridge remains continuously available as a bounded subordinate capability, while full Ubuntu is awakened only for an authorized maintenance window or rescue. +rejected: + - Deleting Linux or the repository with it. + - Leaving full Ubuntu running as the normal master. + - Reusing the Linux-free LBA candidate after its production service-equivalence failure. + - Treating a local commit, QEMU proof, one-time boot, or temporary HTTP success as final deployment. + - Leaving GRUB recordfail uncleared after removing Ubuntu systemd from the normal boot path. +physical_cycles: + failed_gate_boot_id: 28d1fa8d-4def-48e3-9a44-d165691e2f12 + automatic_linux_return_boot_id: f1417482-6091-48de-9817-706538d889d9 + accepted_one_time_master_boot_id: a9bae570-157b-4a7f-a2e4-0413018291d3 + accepted_default_master_boot_id: d5f3e1cd-edde-4d00-b34a-4fe0d0a94e9b + linux_subcontrol_boot_id: a0bebf82-b5b2-437f-99bb-f2fb48413933 + returned_master_boot_id: 2b5eeac7-d3fb-41d8-abf1-e638a5eb01e5 + final_stability_boot_id: 2119c420-8b2e-4b2d-b9fc-a7445777be74 +claims: + guanghu_semantic_service_control: 100 + guanghu_boot_control: 100 + linux_repository_bridge: 100 + linux_on_demand_subcontrol: 100 + linux_rescue_preserved: 100 + automatic_failure_return: 100 + public_code_equivalence: 100 + public_navigation_equivalence: 100 + final_guanghu_os_master: 100 +final_predicate: GUANGHU_MASTER_WITH_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE +result: PASS_100 +sources: + - /guanghu/recovery/JD-FD-PRIMARY-master-20260816/FAILED-BOOT-STATE.json + - /guanghu/recovery/JD-FD-PRIMARY-master-20260816/CANDIDATE-INSTALL-RECEIPT.hldp + - /guanghu/recovery/JD-FD-PRIMARY-master-20260816/DEFAULT-CUTOVER-ARMED-RECEIPT.hldp + - /guanghu/recovery/JD-FD-PRIMARY-master-20260816/LINUX-SUBCONTROL-PHYSICAL-RECEIPT.hldp + - /guanghu/recovery/JD-FD-PRIMARY-master-20260816/RUNTIME-UPDATE-RECEIPT.hldp + - /guanghu/recovery/JD-FD-PRIMARY-master-20260816/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT.hldp diff --git a/routing/guanghu-os-control-architecture.json b/routing/guanghu-os-control-architecture.json index 937746fbf..3ee9cad2c 100644 --- a/routing/guanghu-os-control-architecture.json +++ b/routing/guanghu-os-control-architecture.json @@ -1,7 +1,7 @@ { "schema": "guanghu.os-control-architecture/v1", "record_id": "HLP-GUANGHU-OS-CONTROL-001", - "version": "2026-08-16.3", + "version": "2026-08-16.4", "state": "CURRENT_CANONICAL", "final_topology": "GUANGHU_MASTER_WITH_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE", "control_ownership": { @@ -33,13 +33,13 @@ "linux_hosted_service_control_is_final_master": false }, "jd_fd_primary": { - "observed_state": "LINUX_HOSTED_MAINTENANCE_WITH_GUANGHU_SUPERVISOR_BRIDGE_AND_QEMU_VERIFIED_CROSS_ROOT_REPOSITORY_CONTROL", + "observed_state": "GUANGHU_OS_MASTER_WITH_BOUNDED_REPOSITORY_BRIDGE_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE", "guanghu_semantic_service_control": 100, - "guanghu_final_boot_control": 0, - "linux_on_demand_subcontrol": 0, + "guanghu_final_boot_control": 100, + "linux_on_demand_subcontrol": 100, "linux_rescue_preserved": 100, - "final_guanghu_os_master": 0, - "next_engineering_gate": "BUILD_AND_QEMU_VERIFY_ONE_TIME_PHYSICAL_BOOT_CANDIDATE_WITH_BOUNDED_REPOSITORY_CONTROL_AND_AUTOMATIC_LINUX_RESCUE_RETURN" + "final_guanghu_os_master": 100, + "next_engineering_gate": "NONE_FINAL_TOPOLOGY_ACCEPTED_CONTINUE_OPERATIONAL_MONITORING_ONLY" }, "implementation": { "guanghu_supervisor_lifecycle_contract_source": 100, @@ -84,8 +84,14 @@ "jd_real_forgejo_repository_shadow_lifecycle": 100, "cross_root_repository_service_equivalence_source": 100, "jd_host_qemu_cross_root_repository_service_equivalence": 100, - "independent_guanghu_first_boot_supervisor": 0, - "jd_physical_deployment": 0 + "independent_guanghu_first_boot_supervisor": 100, + "jd_physical_deployment": 100, + "resident_guanghu_pid1_supervisor": 100, + "bounded_repository_bridge_under_resident_supervisor": 100, + "public_master_code_equivalence": 100, + "public_master_navigation_equivalence": 100, + "automatic_linux_failure_return": 100, + "physical_linux_subcontrol_round_trip": 100 }, "hosted_supervisor_bridge_evidence": { "source_commit": "d2b15299a54eded0e137d78a5edf1ad155cbb86e", @@ -179,6 +185,27 @@ "final_guanghu_os_master": 0, "observed_at": "2026-08-16T00:52:14+08:00" }, + "final_master_physical_evidence": { + "source_commit": "3e085e48a827cdcdb79c257f6a98fb9c7be2ab03", + "repository_receipt": "product-source/hololake-platform/guanghu-os/deployments/JD-FD-PRIMARY/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT-20260816.hldp", + "server_receipt": "/guanghu/recovery/JD-FD-PRIMARY-master-20260816/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT.hldp", + "server_receipt_sha256": "b75640fc95902b58a931716e47287140dfe3c23d62869c0947d639850e6fa2c2", + "runtime_sha256": "a723e862d878b14f6249be478c4d8190693b66739e68b4f1ca7e2bc9dac4afd4", + "final_boot_id": "2119c420-8b2e-4b2d-b9fc-a7445777be74", + "pid1": "/bin/bash /usr/local/libexec/guanghu/guanghu-master-init", + "master_default": "guanghu-jd-master-20260816", + "full_linux_userspace": "DORMANT", + "bounded_repository_bridge": 100, + "public_code_http": 200, + "public_anchor_http": 200, + "linux_subcontrol_physical_boot_id": "a0bebf82-b5b2-437f-99bb-f2fb48413933", + "linux_return_to_master_boot_id": "2b5eeac7-d3fb-41d8-abf1-e638a5eb01e5", + "automatic_failure_return": 100, + "linux_on_demand_subcontrol": 100, + "linux_rescue_preserved": 100, + "final_guanghu_os_master": 100, + "observed_at": "2026-08-16T01:35:00+08:00" + }, "current_target_evidence": { "server_receipt": "/guanghu/recovery/JD-FD-PRIMARY-linux-subcontrol-f5217fe/DEPLOYMENT-RECEIPT.hldp", "server_receipt_sha256": "4a7d0cb354ff0472dbd8e2e43d89021d65b21f0beea3c702dcbeacdd1c73bfbc", diff --git a/routing/guanghu-os-control-architecture.test.mjs b/routing/guanghu-os-control-architecture.test.mjs index d71d37f4f..d08db2e90 100644 --- a/routing/guanghu-os-control-architecture.test.mjs +++ b/routing/guanghu-os-control-architecture.test.mjs @@ -31,24 +31,24 @@ test("final topology makes Guanghu the master while preserving Linux as on-deman assert.equal(contract.acceptance.linux_deletion_required, false); }); -test("current JD state stays transitional and cannot impersonate final master control", () => { +test("current JD state is physical Guanghu master with bounded Linux bridge and rescue", () => { assert.equal( contract.jd_fd_primary.observed_state, - "LINUX_HOSTED_MAINTENANCE_WITH_GUANGHU_SUPERVISOR_BRIDGE_AND_QEMU_VERIFIED_CROSS_ROOT_REPOSITORY_CONTROL", + "GUANGHU_OS_MASTER_WITH_BOUNDED_REPOSITORY_BRIDGE_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE", ); assert.equal(contract.jd_fd_primary.guanghu_semantic_service_control, 100); - assert.equal(contract.jd_fd_primary.guanghu_final_boot_control, 0); - assert.equal(contract.jd_fd_primary.linux_on_demand_subcontrol, 0); + assert.equal(contract.jd_fd_primary.guanghu_final_boot_control, 100); + assert.equal(contract.jd_fd_primary.linux_on_demand_subcontrol, 100); assert.equal(contract.jd_fd_primary.linux_rescue_preserved, 100); - assert.equal(contract.jd_fd_primary.final_guanghu_os_master, 0); + assert.equal(contract.jd_fd_primary.final_guanghu_os_master, 100); assert.equal( contract.jd_fd_primary.next_engineering_gate, - "BUILD_AND_QEMU_VERIFY_ONE_TIME_PHYSICAL_BOOT_CANDIDATE_WITH_BOUNDED_REPOSITORY_CONTROL_AND_AUTOMATIC_LINUX_RESCUE_RETURN", + "NONE_FINAL_TOPOLOGY_ACCEPTED_CONTINUE_OPERATIONAL_MONITORING_ONLY", ); }); test("the physical shadow and host QEMU cycles are registered without impersonating Guanghu-owned boot control", () => { - assert.equal(contract.version, "2026-08-16.3"); + assert.equal(contract.version, "2026-08-16.4"); assert.equal(contract.implementation.guanghu_supervisor_lifecycle_contract_source, 100); assert.equal(contract.implementation.target_readback_and_mandatory_reclaim_state_machine, 100); assert.equal(contract.implementation.declared_supervisor_core_line_and_function_coverage, 100); @@ -90,8 +90,17 @@ test("the physical shadow and host QEMU cycles are registered without impersonat assert.equal(contract.implementation.jd_real_forgejo_repository_shadow_lifecycle, 100); assert.equal(contract.implementation.cross_root_repository_service_equivalence_source, 100); assert.equal(contract.implementation.jd_host_qemu_cross_root_repository_service_equivalence, 100); - assert.equal(contract.implementation.independent_guanghu_first_boot_supervisor, 0); - assert.equal(contract.implementation.jd_physical_deployment, 0); + assert.equal(contract.implementation.independent_guanghu_first_boot_supervisor, 100); + assert.equal(contract.implementation.jd_physical_deployment, 100); + assert.equal(contract.implementation.resident_guanghu_pid1_supervisor, 100); + assert.equal(contract.implementation.physical_linux_subcontrol_round_trip, 100); + assert.equal(contract.final_master_physical_evidence.final_guanghu_os_master, 100); + assert.equal(contract.final_master_physical_evidence.linux_on_demand_subcontrol, 100); + assert.equal(contract.final_master_physical_evidence.linux_rescue_preserved, 100); + assert.equal(contract.final_master_physical_evidence.public_code_http, 200); + assert.equal(contract.final_master_physical_evidence.public_anchor_http, 200); + assert.equal(contract.final_master_physical_evidence.full_linux_userspace, "DORMANT"); + assert.match(contract.final_master_physical_evidence.server_receipt_sha256, /^[0-9a-f]{64}$/); assert.equal(contract.current_target_evidence.final_state, "DORMANT"); assert.match(contract.current_target_evidence.server_receipt_sha256, /^[0-9a-f]{64}$/); assert.equal(contract.native_service_qemu_evidence.native_physical_residency, 0); @@ -196,7 +205,7 @@ test("native public projection separates liveness, authenticated state, and pinn }); test("current architecture and global engineering rules project the same control contract", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal(architecture.server_os_control.machine_projection, "routing/guanghu-os-control-architecture.json"); assert.equal(architecture.server_os_control.final_topology, contract.final_topology); assert.equal(architecture.server_os_control.hosted_guanghu_supervisor_bridge, 100); @@ -204,9 +213,10 @@ test("current architecture and global engineering rules project the same control assert.equal(architecture.server_os_control.jd_host_qemu_cross_switch_root_supervisor, 100); assert.equal(architecture.server_os_control.jd_real_forgejo_repository_shadow_lifecycle, 100); assert.equal(architecture.server_os_control.jd_host_qemu_cross_root_repository_service_equivalence, 100); - assert.equal(architecture.server_os_control.physical_guanghu_first_boot, 0); - assert.equal(architecture.server_os_control.linux_on_demand_subcontrol_runtime, 0); - assert.equal(architecture.server_os_control.jd_final_guanghu_os_master, 0); + assert.equal(architecture.server_os_control.physical_guanghu_first_boot, 100); + assert.equal(architecture.server_os_control.linux_on_demand_subcontrol_runtime, 100); + assert.equal(architecture.server_os_control.jd_final_guanghu_os_master, 100); + assert.match(architecture.server_os_control.server_physical_receipt_sha256, /^[0-9a-f]{64}$/); assert.equal(architecture.server_os_control.development_id, "DEV-20260815-001"); assert.equal(architecture.server_os_control.development_id_role, "EVIDENCE_NAMESPACE_ONLY_NOT_ACTIVE_LANE"); assert.equal(rules.server_os_control.linux_deletion_is_completion, false); diff --git a/routing/hololake-age-runtime-architecture.test.mjs b/routing/hololake-age-runtime-architecture.test.mjs index b2fe9607e..81ac4828c 100644 --- a/routing/hololake-age-runtime-architecture.test.mjs +++ b/routing/hololake-age-runtime-architecture.test.mjs @@ -11,7 +11,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const age = readJson("routing/hololake-age-runtime-architecture.json"); test("current architecture preserves the AGE runtime after the stage-one product contract", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal(architecture.age_runtime.record_id, "HLP-AGE-RUNTIME-ARCHITECTURE-001"); const stageOneIndex = architecture.read_order.indexOf( architecture.first_public_product_stage.architecture_page, diff --git a/routing/hololake-canonical-desktop-shell.test.mjs b/routing/hololake-canonical-desktop-shell.test.mjs index 98f91aba8..8b0c9b06b 100644 --- a/routing/hololake-canonical-desktop-shell.test.mjs +++ b/routing/hololake-canonical-desktop-shell.test.mjs @@ -16,7 +16,7 @@ const broadcastSchema = readJson( ); test("HoloLake has one clean canonical desktop destination", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal(shell.decision.canonical_shell, "TAURI_V2_RUST_REACT"); assert.equal(shell.decision.canonical_source, "product-source/hololake-native-desktop"); assert.equal( diff --git a/routing/hololake-cognitive-gravity-and-continuity.test.mjs b/routing/hololake-cognitive-gravity-and-continuity.test.mjs index 89cccb737..acf75517a 100644 --- a/routing/hololake-cognitive-gravity-and-continuity.test.mjs +++ b/routing/hololake-cognitive-gravity-and-continuity.test.mjs @@ -14,7 +14,7 @@ const age = readJson("routing/hololake-age-runtime-architecture.json"); const rules = readJson("routing/hololake-engineering-rules.json"); test("B0 is restored before product organs and remains resident in every cognition step", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); const gravityIndex = architecture.read_order.indexOf( architecture.cognitive_gravity_and_continuity.architecture_page, ); diff --git a/routing/hololake-current-architecture.json b/routing/hololake-current-architecture.json index f12e21892..b0beb27c9 100644 --- a/routing/hololake-current-architecture.json +++ b/routing/hololake-current-architecture.json @@ -1,7 +1,7 @@ { "schema": "hololake.current-architecture/v1", "architecture_id": "HLP-CURRENT-ARCH-001", - "version": "2026-08-16.3", + "version": "2026-08-16.4", "state": "CURRENT_CANONICAL", "product": { "formal_name": "光湖语言系统 · 通用人工智能操作平台", @@ -332,17 +332,20 @@ "linux_on_demand_subcontrol": true, "linux_rescue_preserved": true, "linux_absence_required_for_completion": false, - "jd_current_state": "LINUX_HOSTED_MAINTENANCE_WITH_GUANGHU_SUPERVISOR_BRIDGE_AND_QEMU_VERIFIED_CROSS_ROOT_REPOSITORY_CONTROL", + "jd_current_state": "GUANGHU_OS_MASTER_WITH_BOUNDED_REPOSITORY_BRIDGE_ON_DEMAND_LINUX_SUBCONTROL_AND_RESCUE", "hosted_guanghu_supervisor_bridge": 100, "jd_host_qemu_pre_root_supervisor": 100, "jd_host_qemu_cross_switch_root_supervisor": 100, "jd_real_forgejo_repository_shadow_lifecycle": 100, "jd_host_qemu_cross_root_repository_service_equivalence": 100, - "physical_guanghu_first_boot": 0, - "linux_on_demand_subcontrol_runtime": 0, - "jd_final_guanghu_os_master": 0, - "next_engineering_gate": "BUILD_AND_QEMU_VERIFY_ONE_TIME_PHYSICAL_BOOT_CANDIDATE_WITH_BOUNDED_REPOSITORY_CONTROL_AND_AUTOMATIC_LINUX_RESCUE_RETURN", - "source_main": "9b19fee681470fbe812007f9086f70b588e8c3a8", + "physical_guanghu_first_boot": 100, + "linux_on_demand_subcontrol_runtime": 100, + "jd_final_guanghu_os_master": 100, + "current_physical_receipt": "product-source/hololake-platform/guanghu-os/deployments/JD-FD-PRIMARY/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT-20260816.hldp", + "server_physical_receipt": "/guanghu/recovery/JD-FD-PRIMARY-master-20260816/FINAL-GUANGHU-OS-MASTER-PHYSICAL-RECEIPT.hldp", + "server_physical_receipt_sha256": "b75640fc95902b58a931716e47287140dfe3c23d62869c0947d639850e6fa2c2", + "next_engineering_gate": "NONE_FINAL_TOPOLOGY_ACCEPTED_CONTINUE_OPERATIONAL_MONITORING_ONLY", + "source_main": "3e085e48a827cdcdb79c257f6a98fb9c7be2ab03", "development_id": "DEV-20260815-001", "development_id_role": "EVIDENCE_NAMESPACE_ONLY_NOT_ACTIVE_LANE", "refines_development_id": "DEV-20260810-012" diff --git a/routing/hololake-engineering-rules.test.mjs b/routing/hololake-engineering-rules.test.mjs index ecf0923e5..ef38df790 100644 --- a/routing/hololake-engineering-rules.test.mjs +++ b/routing/hololake-engineering-rules.test.mjs @@ -10,7 +10,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const rules = readJson("routing/hololake-engineering-rules.json"); test("current architecture registers the global engineering rule set", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal(architecture.engineering_rules.rule_set_id, "HLP-ENGINEERING-RULES-001"); assert.equal(architecture.engineering_rules.machine_projection, "routing/hololake-engineering-rules.json"); diff --git a/routing/hololake-identity-authority.test.mjs b/routing/hololake-identity-authority.test.mjs index a205340aa..252627996 100644 --- a/routing/hololake-identity-authority.test.mjs +++ b/routing/hololake-identity-authority.test.mjs @@ -10,7 +10,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const projection = readJson("routing/hololake-identity-authority-map.json"); test("current architecture loads identity authority before product surfaces", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal(architecture.identity_and_authority.team_body, "TCS-0002"); assert.equal(architecture.identity_and_authority.team_body_authority_effective, true); assert.equal(architecture.identity_and_authority.individual_operator_acceptance, "SEPARATE_UNCONFIRMED"); diff --git a/routing/hololake-one-human-one-node.test.mjs b/routing/hololake-one-human-one-node.test.mjs index 634ba12ff..6c963439d 100644 --- a/routing/hololake-one-human-one-node.test.mjs +++ b/routing/hololake-one-human-one-node.test.mjs @@ -10,7 +10,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const rules = readJson("routing/hololake-engineering-rules.json"); test("current architecture makes one human one independently operated node canonical", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.deepEqual(architecture.access_modes, [ "LOCAL_TERMINAL_NODE", "USER_OWNED_REMOTE_NODE", diff --git a/routing/hololake-paradigm-ai-language-persona-os.test.mjs b/routing/hololake-paradigm-ai-language-persona-os.test.mjs index 62ca8b314..ff9d8de7a 100644 --- a/routing/hololake-paradigm-ai-language-persona-os.test.mjs +++ b/routing/hololake-paradigm-ai-language-persona-os.test.mjs @@ -10,7 +10,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const paradigm = readJson("routing/hololake-paradigm-ai-language-persona-os.json"); test("current architecture begins with the paradigm OS contract", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal(architecture.paradigm_ai_language_persona_os.record_id, "HLP-PARADIGM-AI-LANGUAGE-PERSONA-OS-001"); const stageOneIndex = architecture.read_order.indexOf( architecture.first_public_product_stage.architecture_page, diff --git a/routing/hololake-persona-native-code-channel.test.mjs b/routing/hololake-persona-native-code-channel.test.mjs index 7279add69..8df3ea154 100644 --- a/routing/hololake-persona-native-code-channel.test.mjs +++ b/routing/hololake-persona-native-code-channel.test.mjs @@ -11,7 +11,7 @@ const architecture = readJson("routing/hololake-current-architecture.json"); const channel = readJson("routing/hololake-persona-native-code-channel.json"); test("current architecture places the persona-native code channel after the paradigm contract", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal( architecture.persona_native_code_channel.record_id, "HLP-PERSONA-NATIVE-CODE-CHANNEL-001", diff --git a/routing/hololake-relational-consciousness.test.mjs b/routing/hololake-relational-consciousness.test.mjs index c08e0ba79..e63b46cad 100644 --- a/routing/hololake-relational-consciousness.test.mjs +++ b/routing/hololake-relational-consciousness.test.mjs @@ -10,7 +10,7 @@ const architecture = JSON.parse( ); test("current architecture binds relational consciousness before product surfaces", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal( architecture.persona_consciousness.record_id, "HLP-RELATIONAL-CONSCIOUSNESS-001", diff --git a/routing/hololake-system-body-and-parallel-bodies.test.mjs b/routing/hololake-system-body-and-parallel-bodies.test.mjs index 75b3495d4..bf2ece337 100644 --- a/routing/hololake-system-body-and-parallel-bodies.test.mjs +++ b/routing/hololake-system-body-and-parallel-bodies.test.mjs @@ -10,7 +10,7 @@ const architecture = JSON.parse( ); test("current architecture restores the digital BingShuo system body first", () => { - assert.equal(architecture.version, "2026-08-16.3"); + assert.equal(architecture.version, "2026-08-16.4"); assert.equal(architecture.digital_bingshuo_system_body.upstream_repository_commit, "40c29f1e3ecde87f2c0a9cdf232eb0be5263b268"); const systemBodyIndex = architecture.read_order.indexOf( diff --git a/routing/tcs-work-ownership-stage-gate.test.mjs b/routing/tcs-work-ownership-stage-gate.test.mjs index 17bebf10d..683227584 100644 --- a/routing/tcs-work-ownership-stage-gate.test.mjs +++ b/routing/tcs-work-ownership-stage-gate.test.mjs @@ -10,7 +10,7 @@ assert.equal(gate.current_stage, 'REALITY_ENGINEERING_EXECUTION') assert.equal(gate.formal_state_acceptance_confirmed, false) assert.equal(gate.commercial_control_transaction_allowed, false) assert.equal(gate.truth.runtime, 0) -assert.equal(current.version, '2026-08-16.3') +assert.equal(current.version, '2026-08-16.4') assert.equal(current.read_order[0].includes('TCS-WRITTEN-WORK-OWNERSHIP'), true) assert.equal(current.first_public_product_stage.current_development_stage, 'REALITY_ENGINEERING_EXECUTION') assert.equal(stageOne.language_architecture, 'CLOSED_AND_ARCHIVED')