58 lines
2.7 KiB
JavaScript
58 lines
2.7 KiB
JavaScript
const assert = require("node:assert/strict");
|
|
const fs = require("node:fs");
|
|
const path = require("node:path");
|
|
|
|
const root = path.resolve(__dirname, "..");
|
|
const readJson = (relativePath) =>
|
|
JSON.parse(fs.readFileSync(path.join(root, relativePath), "utf8"));
|
|
|
|
const map = readJson("routing/industry-four-domain-minimum-map.json");
|
|
const profile = readJson("routing/industry-profiles/web-novel.json");
|
|
const schema = readJson("routing/industry-four-domain-profile.schema.json");
|
|
|
|
assert.equal(map.map_id, "INDUSTRY-4D-MINIMUM-MAP-001");
|
|
assert.equal(map.architecture_id, "GLS-0249");
|
|
assert.equal(map.cognition_id, "ZY-BIDIRECTIONAL-COGNITION-020");
|
|
assert.equal(map.domains.length, 4);
|
|
assert.equal(new Set(map.domains.map((domain) => domain.domain_id)).size, 4);
|
|
assert.equal(map.shared_kernel.length, 10);
|
|
|
|
const zeroSense = map.domains.find((domain) => domain.domain_id === "DOMAIN-ZS");
|
|
assert.equal(zeroSense.subject_model, "TWO_HUMANS_PLUS_THEIR_TWO_PERSONAS");
|
|
assert.equal(zeroSense.responsibility_pairs.length, 2);
|
|
assert.equal(zeroSense.constitutional_quorum, "TWO_OF_TWO_HUMAN_PERSONA_PAIRS");
|
|
|
|
assert.equal(schema.properties.schema.const, profile.schema);
|
|
assert.equal(profile.profile_id, "IND-WEBNOVEL-001");
|
|
assert.equal(profile.domain_lanes.length, 4);
|
|
assert.equal(new Set(profile.domain_lanes.map((lane) => lane.lane_id)).size, 4);
|
|
assert.deepEqual(
|
|
new Set(profile.domain_lanes.map((lane) => lane.maps_to_domain)),
|
|
new Set(["DOMAIN-MAIN", "DOMAIN-SUB", "DOMAIN-ZERO", "DOMAIN-ZS"]),
|
|
);
|
|
|
|
assert.equal(profile.connector_policy.read_first, true);
|
|
assert.equal(profile.connector_policy.write_target, "OWNER_HOLOLAKE_WORKSPACE");
|
|
assert.equal(
|
|
profile.connector_policy.official_or_explicitly_authorized_connectors_only,
|
|
true,
|
|
);
|
|
assert.equal(profile.data_and_compliance_policy.private_manuscript_public_training, false);
|
|
assert.equal(profile.data_and_compliance_policy.ai_detection_evasion, false);
|
|
assert.equal(profile.data_and_compliance_policy.platform_rule_bypass, false);
|
|
|
|
const awen = profile.team_capability_alignment.find((entry) => entry.human === "Awen");
|
|
assert.ok(awen.scope.includes("ENTERPRISE_WIDE_TECHNICAL_CONTROLLER"));
|
|
assert.ok(awen.excluded_scope.includes("WEB_NOVEL_CONTENT_OWNER"));
|
|
|
|
for (const relativePath of [
|
|
"gls/GLS-0249-ALL-INDUSTRY-FOUR-DOMAIN-MINIMUM-ENGINEERING-AND-WEB-NOVEL-REFERENCE.hdlp",
|
|
"routing/industry-four-domain-minimum-map.json",
|
|
"routing/industry-four-domain-profile.schema.json",
|
|
"routing/industry-profiles/web-novel.json",
|
|
"eternal-lake-heart/heartbeat-core/zhuyuan-persona-system/ZY-BIDIRECTIONAL-COGNITION-020-ALL-INDUSTRY-FOUR-DOMAIN-AND-WEB-NOVEL-FIRST-REFERENCE-20260806.hdlp"
|
|
]) {
|
|
assert.ok(fs.existsSync(path.join(root, relativePath)), `${relativePath} must exist`);
|
|
}
|
|
|
|
console.log("industry-four-domain-minimum-map: ok");
|