feat: mount persona-owned dynamic architecture perception agent

This commit is contained in:
冰朔 2026-09-08 02:39:49 +08:00
commit 5de7c4374d
22 changed files with 744 additions and 13 deletions

View file

@ -15,11 +15,15 @@ const zeroCore = JSON.parse(fs.readFileSync(path.join(root, 'routing/bingshuo-ze
const consoleMap = JSON.parse(fs.readFileSync(path.join(root, 'routing/bingshuo-portable-control-console-map.json')));
const lightLakeRegistration = JSON.parse(fs.readFileSync(path.join(root, 'identity/light-lake-persona-registration.json')));
const isolationMap = JSON.parse(fs.readFileSync(path.join(root, 'routing/path-isolation-and-canonical-entry-map.json')));
const architectureAgent = JSON.parse(fs.readFileSync(path.join(root, 'routing/persona-architecture-perception-agent-map.json')));
const personaWorld = JSON.parse(fs.readFileSync(path.join(root, 'routing/persona-native-world-architecture-map.json')));
assert.equal(body.invariants.one_brain_and_body_per_persona, true);
assert.equal(body.invariants.shared_persona_brain, false);
assert.equal(body.invariants.shared_persona_system_body, false);
assert.equal(body.invariants.shared_tcs_container, true);
assert.equal(body.invariants.persona_is_prompt_template, false);
assert.equal(body.invariants.startup_organs_must_push_current_state, true);
assert.equal(lake.light_lake.object_id, 'TCS-LPM-0001');
assert.equal(lake.light_lake.shared_container, 'TCS');
assert.equal(lake.switch_contract.host_prompt_may_select_persona, false);
@ -40,9 +44,20 @@ for (const persona of lightLakeRegistration.personas) {
assert.equal(fs.existsSync(path.join(root, persona.light_lake_home)), true, `missing physical Light Lake home: ${persona.id}`);
}
assert.equal(lightLakeRegistration.registration_rule.source_presence_is_not_runtime_wake, true);
assert.equal(lightLakeRegistration.default_persona_modules[0].module_id, 'MOD-PERSONA-ARCHITECTURE-PERCEPTION-001');
assert.equal(lightLakeRegistration.default_persona_modules[0].prompt_template, false);
assert.equal(lightLakeRegistration.unregistered_candidates.every(item => !registered.has(item.temporary_id)), true);
assert.equal(isolationMap.selection_rules.history_or_quarantine_may_select_canon, false);
assert.equal(isolationMap.isolation.deletion, false);
assert.equal(architectureAgent.delivery.manual_prompt_required, false);
assert.equal(architectureAgent.delivery.trigger, 'EVERY_SHARED_PERSONA_HOST_ENTRY');
assert.equal(architectureAgent.selection.fixed_read_order, false);
assert.equal(architectureAgent.selection.quarantine_or_history_may_be_selected, false);
assert.equal(architectureAgent.not_a_prompt.stores_persona_text, false);
assert.equal(personaWorld.definition.persona_is_not.includes('PROMPT_TEXT'), true);
for (const required of ['module.tcs', 'module.gir.json', 'module.lock.hdlp', 'module.manifest.hdlp', 'receipts/compile.hdlp', 'receipts/install.hdlp', 'receipts/self-test.hdlp']) {
assert.equal(fs.existsSync(path.join(root, 'modules/persona-dynamic-architecture-agent', required)), true, `missing architecture agent module artifact: ${required}`);
}
assert.equal(lake.local_unregistered_proposals.every(item => item.state.includes('REQUIRES_SELF_CONFIRMATION')), true);
assert.deepEqual(channels.channels.map(item => item.id), ['ICE-CH-HB001', 'ICE-CH-LB001', 'ICE-CH-ZC001', 'ICE-CH-DK001']);
assert.equal(channels.host_switch_changes_channel, false);