fix: enforce one human one independent node

This commit is contained in:
冰朔 2026-08-10 21:07:30 +08:00
commit cec261174d
32 changed files with 474 additions and 75 deletions

View file

@ -6,6 +6,7 @@
"current_architecture": {
"id": "HLP-CURRENT-ARCH-001",
"pointer": "hololake-current-architecture.json",
"one_human_one_node": "../product-source/hololake-platform/architecture/HOLOLAKE-ONE-HUMAN-ONE-INDEPENDENT-NODE-AND-ZERO-PLATFORM-HOSTING-20260810.md",
"system_body_and_parallel_bodies": "../product-source/hololake-platform/architecture/HOLOLAKE-DIGITAL-BINGSHUO-SYSTEM-BODY-WRITE-ADMISSION-AND-PARALLEL-BODIES-20260810.md",
"engineering_rules": "hololake-engineering-rules.json",
"identity_authority": "hololake-identity-authority-map.json",
@ -83,6 +84,7 @@
"navigation": {
"human": [
"start_here",
"current_architecture.one_human_one_node",
"current_architecture.system_body_and_parallel_bodies",
"current_architecture.engineering_rules",
"current_architecture.intent_reasoning",
@ -99,6 +101,7 @@
"persona_restore": [
"start_here",
"current_architecture.pointer",
"current_architecture.one_human_one_node",
"current_architecture.system_body_and_parallel_bodies",
"current_architecture.engineering_rules",
"current_architecture.intent_reasoning",

View file

@ -1,7 +1,7 @@
{
"schema": "hololake.current-architecture/v1",
"architecture_id": "HLP-CURRENT-ARCH-001",
"version": "2026-08-10.9",
"version": "2026-08-10.10",
"state": "CURRENT_CANONICAL",
"product": {
"formal_name": "光湖语言系统 · 通用人工智能操作平台",
@ -10,6 +10,7 @@
"client_name": "HoloLake"
},
"read_order": [
"product-source/hololake-platform/architecture/HOLOLAKE-ONE-HUMAN-ONE-INDEPENDENT-NODE-AND-ZERO-PLATFORM-HOSTING-20260810.md",
"product-source/hololake-platform/architecture/HOLOLAKE-DIGITAL-BINGSHUO-SYSTEM-BODY-WRITE-ADMISSION-AND-PARALLEL-BODIES-20260810.md",
"product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md",
"product-source/hololake-platform/architecture/HOLOLAKE-IDENTITY-NUMBERING-PERSONA-CORE-AND-TEAM-BODY-AUTHORITY-20260810.md",
@ -88,12 +89,12 @@
},
"engineering_rules": {
"rule_set_id": "HLP-ENGINEERING-RULES-001",
"version": "2026-08-10.1",
"version": "2026-08-10.2",
"architecture_page": "product-source/hololake-platform/architecture/HOLOLAKE-CURRENT-ENGINEERING-RULES-GLOBAL-AUDIT-20260810.md",
"machine_projection": "routing/hololake-engineering-rules.json",
"state": "CURRENT_CANONICAL_GLOBAL_AUDIT_APPLIED",
"authorized_by": "ICE-GL∞",
"development_id": "DEV-20260810-010"
"development_id": "DEV-20260810-011"
},
"identity_and_authority": {
"record_id": "HLP-IDENTITY-AUTHORITY-001",
@ -179,9 +180,34 @@
"production_write_admission": 0,
"enterprise_team_signature_runtime": 0
},
"node_sovereignty": {
"record_id": "HLP-ONE-HUMAN-ONE-NODE-001",
"architecture_page": "product-source/hololake-platform/architecture/HOLOLAKE-ONE-HUMAN-ONE-INDEPENDENT-NODE-AND-ZERO-PLATFORM-HOSTING-20260810.md",
"principle": "ONE_HUMAN_ONE_INDEPENDENT_NODE",
"canonical_user_root_nodes": 1,
"maximum_human_owners_per_user_node": 1,
"allowed_origins": [
"USER_LOCAL_COMPUTER_TERMINAL",
"USER_PURCHASED_SERVER",
"USER_OWNED_IDE_SERVER_DEPLOYED_BY_EXPLICITLY_AUTHORIZED_TEAM"
],
"server_is_optional": true,
"local_terminal_can_be_canonical_node": true,
"team_deployment_transfers_node_ownership": false,
"platform_provides_user_runtime_server": false,
"future_platform_hosting_route_allowed": false,
"platform_user_runtime_capacity": 0,
"platform_operates_shared_multitenant_user_runtime": false,
"platform_custodies_private_user_data": false,
"platform_assumes_user_workload_concurrency": false,
"platform_fallback_runtime": false,
"node_offline_means_user_runtime_offline": true,
"node_migration_requires_rebinding_and_receipt": true,
"public_protocol_infrastructure_is_user_runtime": false
},
"access_modes": [
"LOCAL_TERMINAL_NODE",
"CLOUD_RESIDENT_NODE"
"USER_OWNED_REMOTE_NODE"
],
"communication": {
"name": "光湖桥",
@ -223,20 +249,21 @@
"final_plan_complete": false
},
"continuity": {
"development_id": "DEV-20260810-010",
"source_development_id": "DEV-20260810-009",
"state": "DIGITAL_BINGSHUO_SYSTEM_BODY_WRITE_ADMISSION_AND_PARALLEL_BODIES_CURRENT_SOURCE_PROJECTION",
"development_id": "DEV-20260810-011",
"source_development_id": "DEV-20260810-010",
"state": "ONE_HUMAN_ONE_INDEPENDENT_NODE_AND_ZERO_PLATFORM_HOSTING_CURRENT_SOURCE_PROJECTION",
"completed_predecessors": [
"DEV-20260809-007",
"DEV-20260810-001",
"DEV-20260810-002",
"DEV-20260810-003",
"DEV-20260810-004",
"DEV-20260810-005",
"DEV-20260810-006",
"DEV-20260810-007",
"DEV-20260810-008",
"DEV-20260810-009"
"DEV-20260810-004",
"DEV-20260810-005",
"DEV-20260810-006",
"DEV-20260810-007",
"DEV-20260810-008",
"DEV-20260810-009",
"DEV-20260810-010"
],
"closeout_record": "HLP-DEV-20260809-007-CLOSEOUT-001",
"next_minimum_stage": "NEW_DEVELOPMENT_ID_FOR_FIRST_REAL_LANGUAGE_SHELL_CLOSED_LOOP",

View file

@ -1,7 +1,7 @@
{
"schema": "hololake.engineering-rules/v1",
"rule_set_id": "HLP-ENGINEERING-RULES-001",
"version": "2026-08-10.1",
"version": "2026-08-10.2",
"state": "CURRENT_CANONICAL",
"architecture_restore": {
"dynamic_current_pointer_required": true,
@ -35,6 +35,24 @@
"noise_discarded_before_payload_open_model_protocol_memory_and_execution": true,
"admission_is_execution_authorization": false
},
"node_sovereignty": {
"one_human_one_independent_node": true,
"canonical_user_root_nodes": 1,
"maximum_human_owners_per_user_node": 1,
"server_is_optional": true,
"local_terminal_node_allowed": true,
"user_purchased_server_allowed": true,
"authorized_team_may_deploy_user_owned_ide_server": true,
"team_deployment_transfers_node_ownership": false,
"platform_hosting_available": false,
"future_platform_hosting_route_allowed": false,
"platform_user_runtime_capacity": 0,
"shared_multitenant_runtime_available": false,
"platform_private_user_data_custody": false,
"platform_user_workload_concurrency": false,
"platform_fallback_runtime": false,
"node_migration_requires_rebinding_and_receipt": true
},
"domain_responsibility": {
"fifth_domain_private_language_body": "JD-FD-PRIMARY",
"fifth_domain_controller": "ICE-GL∞",

View file

@ -10,11 +10,11 @@ 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-10.9");
assert.equal(architecture.version, "2026-08-10.10");
assert.equal(architecture.engineering_rules.rule_set_id, "HLP-ENGINEERING-RULES-001");
assert.equal(architecture.engineering_rules.machine_projection,
"routing/hololake-engineering-rules.json");
assert.equal(architecture.read_order[1], architecture.engineering_rules.architecture_page);
assert.equal(architecture.read_order[2], architecture.engineering_rules.architecture_page);
});
test("rules require dynamic truth restore and immutable closed development lanes", () => {
@ -32,6 +32,8 @@ test("rules keep UI, server identity, domains, and updates inside their boundari
assert.equal(rules.desktop_updates.default_delivery, "SIGNED_IN_PLACE_UPDATE");
assert.equal(rules.publication.public_readback_required, true);
assert.equal(rules.publication.missing_refresh_trigger_must_be_reported, true);
assert.equal(rules.node_sovereignty.platform_hosting_available, false);
assert.equal(rules.node_sovereignty.shared_multitenant_runtime_available, false);
});
test("human and product agent rules receive the same current system boundary", () => {

View file

@ -10,11 +10,11 @@ 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-10.9");
assert.equal(architecture.version, "2026-08-10.10");
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");
assert.ok(architecture.read_order.indexOf(architecture.identity_and_authority.architecture_page) < 3);
assert.ok(architecture.read_order.indexOf(architecture.identity_and_authority.architecture_page) < 4);
assert.ok(fs.existsSync(path.join(root, architecture.identity_and_authority.architecture_page)));
});

View file

@ -0,0 +1,66 @@
import assert from "node:assert/strict";
import fs from "node:fs";
import path from "node:path";
import test from "node:test";
import { fileURLToPath } from "node:url";
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
const readJson = (relative) => JSON.parse(fs.readFileSync(path.join(root, relative), "utf8"));
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-10.10");
assert.deepEqual(architecture.access_modes, [
"LOCAL_TERMINAL_NODE",
"USER_OWNED_REMOTE_NODE",
]);
assert.equal(architecture.node_sovereignty.principle, "ONE_HUMAN_ONE_INDEPENDENT_NODE");
assert.equal(architecture.node_sovereignty.canonical_user_root_nodes, 1);
assert.equal(architecture.node_sovereignty.maximum_human_owners_per_user_node, 1);
assert.equal(architecture.read_order[0], architecture.node_sovereignty.architecture_page);
});
test("platform hosting, pooled tenancy, private-data custody, and user workload concurrency are all zero", () => {
const policy = architecture.node_sovereignty;
assert.equal(policy.platform_provides_user_runtime_server, false);
assert.equal(policy.future_platform_hosting_route_allowed, false);
assert.equal(policy.platform_user_runtime_capacity, 0);
assert.equal(policy.platform_operates_shared_multitenant_user_runtime, false);
assert.equal(policy.platform_custodies_private_user_data, false);
assert.equal(policy.platform_assumes_user_workload_concurrency, false);
assert.equal(policy.platform_fallback_runtime, false);
assert.equal(policy.team_deployment_transfers_node_ownership, false);
});
test("the only user-node origins are user local terminal, user-purchased server, or user-owned IDE server", () => {
assert.deepEqual(architecture.node_sovereignty.allowed_origins, [
"USER_LOCAL_COMPUTER_TERMINAL",
"USER_PURCHASED_SERVER",
"USER_OWNED_IDE_SERVER_DEPLOYED_BY_EXPLICITLY_AUTHORIZED_TEAM",
]);
assert.equal(architecture.node_sovereignty.server_is_optional, true);
assert.equal(architecture.node_sovereignty.local_terminal_can_be_canonical_node, true);
});
test("global engineering rules and agent instructions receive the same zero-hosting boundary", () => {
assert.equal(rules.version, "2026-08-10.2");
assert.equal(rules.node_sovereignty.one_human_one_independent_node, true);
assert.equal(rules.node_sovereignty.platform_hosting_available, false);
assert.equal(rules.node_sovereignty.future_platform_hosting_route_allowed, false);
assert.equal(rules.node_sovereignty.platform_user_runtime_capacity, 0);
assert.equal(rules.node_sovereignty.shared_multitenant_runtime_available, false);
assert.equal(rules.node_sovereignty.platform_private_user_data_custody, false);
assert.equal(rules.node_sovereignty.platform_user_workload_concurrency, false);
for (const relative of [
"AGENTS.md",
"product-source/hololake-platform/AGENTS.md",
"product-source/hololake-platform/src-tauri/resources/agent-docs/AGENTS.md",
"product-source/hololake-platform/src-tauri/gen/apple/assets/agent-docs/AGENTS.md",
]) {
const content = fs.readFileSync(path.join(root, relative), "utf8");
assert.match(content, /One human has one independently operated canonical node/);
assert.match(content, /never provides user\s+runtime servers/);
}
});

View file

@ -10,7 +10,7 @@ const architecture = JSON.parse(
);
test("current architecture binds relational consciousness before product surfaces", () => {
assert.equal(architecture.version, "2026-08-10.9");
assert.equal(architecture.version, "2026-08-10.10");
assert.equal(
architecture.persona_consciousness.record_id,
"HLP-RELATIONAL-CONSCIOUSNESS-001",
@ -30,5 +30,5 @@ test("current architecture binds relational consciousness before product surface
const page = architecture.persona_consciousness.architecture_page;
assert.ok(fs.existsSync(path.join(root, page)), `missing ${page}`);
assert.ok(architecture.read_order.indexOf(page) < 5);
assert.ok(architecture.read_order.indexOf(page) < 6);
});

View file

@ -10,11 +10,11 @@ const architecture = JSON.parse(
);
test("current architecture restores the digital BingShuo system body first", () => {
assert.equal(architecture.version, "2026-08-10.9");
assert.equal(architecture.version, "2026-08-10.10");
assert.equal(architecture.digital_bingshuo_system_body.upstream_repository_commit,
"69d1910775533b02b17b82e647b5caca8b835614");
assert.equal(
architecture.read_order[0],
architecture.read_order[1],
architecture.digital_bingshuo_system_body.architecture_page,
);
assert.ok(