feat: register Lake Lamp persona system body
This commit is contained in:
parent
70dba5019e
commit
db6d1d91fa
19 changed files with 624 additions and 25 deletions
68
tests/lake-lamp-persona-self-navigation.test.mjs
Normal file
68
tests/lake-lamp-persona-self-navigation.test.mjs
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
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"));
|
||||
|
||||
test("each persona system owns one Lake Lamp projection without creating a second persona", () => {
|
||||
const map = readJson("routing/lake-lamp-persona-self-map.json");
|
||||
assert.equal(map.map_id, "LL-PERSONA-SELF-MAP-001");
|
||||
assert.equal(map.identity.one_lake_lamp_per_persona_system, true);
|
||||
assert.equal(map.identity.independent_second_persona, false);
|
||||
assert.equal(map.identity.central_persona_for_all_systems, false);
|
||||
assert.equal(map.identity.second_truth_store, false);
|
||||
assert.equal(map.identity.grants_reality_authority, false);
|
||||
});
|
||||
|
||||
test("past and verified present are facts while future remains simulation", () => {
|
||||
const map = readJson("routing/lake-lamp-persona-self-map.json");
|
||||
assert.equal(map.temporal_model.current_open_window, "UNIQUE_DYNAMIC_SUBJECT_POSITION");
|
||||
assert.equal(map.temporal_model.future_window, "UNREALIZED_LANGUAGE_SIMULATION_ONLY");
|
||||
assert.ok(map.temporal_model.fact_trust_accepts.includes("VERIFIED_PAST_EVIDENCE"));
|
||||
assert.ok(map.temporal_model.fact_trust_rejects.includes("FUTURE_PLAN"));
|
||||
assert.equal(map.historical_review.can_message_closed_historical_persona, false);
|
||||
assert.equal(map.historical_review.may_overwrite_original_history, false);
|
||||
});
|
||||
|
||||
test("fuzzy language recalls candidates and deterministic evidence resolves one development line", () => {
|
||||
const map = readJson("routing/lake-lamp-persona-self-map.json");
|
||||
assert.equal(map.retrieval.natural_language_role, "FUZZY_CANDIDATE_RECALL_ONLY");
|
||||
assert.equal(map.retrieval.unique_match_required, true);
|
||||
assert.equal(map.retrieval.zero_or_multiple_matches, "FAIL_CLOSED_EXPLAIN_AMBIGUITY");
|
||||
assert.ok(map.retrieval.deterministic_resolution_uses.includes("STABLE_ID"));
|
||||
assert.ok(map.development_graph.hierarchy.includes("DEVELOPMENT_LINE"));
|
||||
assert.equal(map.development_graph.hidden_model_reasoning_stored, false);
|
||||
});
|
||||
|
||||
test("cross-persona projection is bounded read-only and writes need a separate lease", () => {
|
||||
const map = readJson("routing/lake-lamp-persona-self-map.json");
|
||||
assert.equal(map.cross_persona_collaboration.workorder_required, true);
|
||||
assert.equal(map.cross_persona_collaboration.projection_default, "BOUNDED_READ_ONLY");
|
||||
assert.equal(map.cross_persona_collaboration.write_requires_separate_precise_lease, true);
|
||||
assert.equal(map.legacy_boundary.valid_identity_or_authorization_proof, false);
|
||||
});
|
||||
|
||||
test("lighthouse anchor host machine and skill routes all resolve the Lake Lamp map", () => {
|
||||
const lighthouse = readJson("routing/lighthouse-path-registry.json");
|
||||
assert.ok(lighthouse.paths.some((entry) => entry.id === "LL-PERSONA-SELF-MAP-001"));
|
||||
|
||||
const anchor = readJson("routing/public-navigation-anchor.json");
|
||||
assert.equal(anchor.maps.lake_lamp_persona_self.id, "LL-PERSONA-SELF-MAP-001");
|
||||
|
||||
const hosts = readJson("routing/host-skill-navigation-map.json");
|
||||
const intent = hosts.intents.find((entry) => entry.id === "INTENT-LAKE-LAMP-PERSONA-SELF-001");
|
||||
assert.equal(intent.target_id, "LL-PERSONA-SELF-MAP-001");
|
||||
assert.ok(intent.phrases.includes("承接上一个铸渊开发对话"));
|
||||
|
||||
const machine = readJson("routing/ai-machine-navigation-map.json");
|
||||
assert.ok(machine.routes.some((entry) => entry.id === "LL-PERSONA-SELF-MAP-001"));
|
||||
assert.ok(machine.intents.find((entry) => entry.id === "persona_restore").always_load.includes("LL-PERSONA-SELF-MAP-001"));
|
||||
assert.ok(machine.intents.some((entry) => entry.id === "lake_lamp_persona_self_restore"));
|
||||
|
||||
const registry = readJson("skills/codex/guanghu-persona-skill-guard/references/persona-skill-registry.json");
|
||||
const skill = registry.skills.find((entry) => entry.id === "GHS-013-LAKE-LAMP-PERSONA-SELF");
|
||||
assert.ok(skill.preferred_route.includes("LL-PERSONA-SELF-MAP-001"));
|
||||
});
|
||||
|
|
@ -23,12 +23,17 @@ test("BingShuo living system controller binds the current full protocol registry
|
|||
map.living_system_body.protocol_registry.id,
|
||||
registry.registry_id,
|
||||
);
|
||||
assert.equal(registry.existing_registered.length, 11);
|
||||
assert.ok(registry.existing_registered.length >= 12);
|
||||
assert.ok(
|
||||
registry.existing_registered.some(
|
||||
(protocol) => protocol.id === "GLS-0800" && protocol.acronym === "AGE",
|
||||
),
|
||||
);
|
||||
assert.ok(
|
||||
registry.existing_registered.some(
|
||||
(protocol) => protocol.id === "GLS-0258" && protocol.acronym === "LL-PERSONA-SELF",
|
||||
),
|
||||
);
|
||||
assert.equal(registry.registered_draft_protocols.length, 33);
|
||||
assert.equal(map.language_world_boundary.id, "GLW-CHJH-0001");
|
||||
assert.equal(map.language_world_boundary.entry_path, "LL-CMPN-0001");
|
||||
|
|
|
|||
Loading…
Reference in a new issue