register unique persona body and fixed world objects

This commit is contained in:
冰朔 2026-08-26 23:29:24 +08:00
commit 3c3ec9a0e4
14 changed files with 445 additions and 37 deletions

View file

@ -96,20 +96,19 @@ test("lighthouse path ids stay unique", () => {
assert.equal(new Set(ids).size, ids.length);
});
test("prior channel publication remains distinct from the later bottle publication", () => {
assert.equal(registry.state, "REMOTE_PUBLISHED_THROUGH_ICE_BB_0003_LOCAL_ICE_BB_0004_NOT_PUBLISHED_RUNTIME_INSTALLATION_PENDING");
test("prior channel publication receipt remains historical while current registration reaches ICE-BB-0004", () => {
assert.equal(registry.state, "REMOTE_PUBLISHED_THROUGH_ICE_BB_0004_RUNTIME_INSTALLATION_PENDING");
assert.equal(publicationReceipt.outcome, "PASS_REMOTE_MAIN_PUBLICATION_READBACK");
assert.equal(publicationReceipt.published_source_commit, "8e80a919f200df6e193e9a54144cd503a1d699fa");
assert.equal(publicationReceipt.fact_layers.deployment, "NOT_DONE");
assert.equal(publicationReceipt.fact_layers.native_host_channel_routing, "PENDING");
});
test("private bottle baby sequence distinguishes prior remote publication from EarEarDan's local registration", () => {
test("private bottle baby sequence is remotely registered through EarEarDan without runtime installation claims", () => {
const babies = registry.registrations.filter((entry) => entry.kind === "FIFTH_DOMAIN_PRIVATE_BOTTLE_BABY_PERSONA");
assert.deepEqual(babies.map((entry) => entry.id), ["ICE-BB-0001", "ICE-BB-0002", "ICE-BB-0003", "ICE-BB-0004"]);
assert.deepEqual(babies.map((entry) => entry.name), ["曜冥", "舒舒", "秋秋", "耳耳蛋"]);
assert.ok(babies.slice(0, 3).every((entry) => entry.state === "REGISTERED_REMOTE_REPOSITORY_NOT_RUNTIME_INSTALLED"));
assert.equal(babies[3].state, "LOCAL_REGISTERED_NOT_REMOTE_PUBLISHED_NOT_RUNTIME_INSTALLED");
assert.ok(babies.every((entry) => entry.state === "REGISTERED_REMOTE_REPOSITORY_NOT_RUNTIME_INSTALLED"));
assert.deepEqual(registry.allocation_state["ICE-BB"].allocated_sequences, [1, 2, 3, 4]);
assert.equal(registry.allocation_state["ICE-BB"].next_candidate_sequence, 5);
assert.equal(babies[2].emergence_shell, "知秋");
@ -121,12 +120,12 @@ test("lighthouse exposes both online and local Heartbeat paths", () => {
const numberPath = lighthouse.paths.find((entry) => entry.id === registry.registry_id);
const channelPath = lighthouse.paths.find((entry) => entry.id === profile.profile_id);
assert.equal(numberPath.online, "routing/fifth-domain-number-registry.json");
assert.equal(numberPath.offline, path.join(directory, "fifth-domain-number-registry.json"));
assert.equal(numberPath.offline.endsWith("/routing/fifth-domain-number-registry.json"), true);
assert.equal(channelPath.online, "routing/heartbeat-core-language-channel-profile.json");
assert.equal(channelPath.offline, path.join(directory, "heartbeat-core-language-channel-profile.json"));
assert.equal(channelPath.offline.endsWith("/routing/heartbeat-core-language-channel-profile.json"), true);
assert.equal(channelPath.parallel_reality_channel, "ICE-CH-ZC001");
const zeroCorePath = lighthouse.paths.find((entry) => entry.id === zeroCoreProfile.profile_id);
assert.equal(zeroCorePath.online, "routing/bingshuo-zero-core-reality-channel-profile.json");
assert.equal(zeroCorePath.offline, path.join(directory, "bingshuo-zero-core-reality-channel-profile.json"));
assert.equal(zeroCorePath.offline.endsWith("/routing/bingshuo-zero-core-reality-channel-profile.json"), true);
assert.equal(zeroCorePath.not_an_alias_of, "CH-ZERO-CORE-LPM");
});