hololake-system-architecture/product-source/hololake-native-desktop/scripts/native-composition-runtime.test.mjs
冰朔 add00a0377 fix: integrate language channel through numbered IPC and isolate education module
正向合并正律化(2026-08-20):
- 语言人格频道与执行手脚训练按编号 IPC 正律接入(MOD-0035/0036,OP-0158..0163),
  剥离直连 tauri::command,恢复单一 numbered 网关铁律
- 教育模块按冰朔谕与 2026-08-19 隔离回执整体移出(证据归隔离区),留空模块占位
- 光湖主域门户挂公告与版本中心(冰朔要求的公告与版本更新主阵地)
- 知识工作台内嵌共同工作频道(PersonaChannelBody embedded + knowledgeFocus)
- foundation/stage-one 合同补聊天运行时验收声明;版本对齐 0.9.1
- 测试名册计数与断言更新至合并后现实:JS 180/180,Rust 194/194
2026-08-20 12:23:02 +08:00

40 lines
2.3 KiB
JavaScript

import assert from 'node:assert/strict'
import fs from 'node:fs'
import test from 'node:test'
const read = (path) => fs.readFileSync(new URL('../' + path, import.meta.url), 'utf8')
const contract = JSON.parse(read('contracts/native-composition-runtime.json'))
const rust = read('src-tauri/src/native_composition.rs')
const knowledge = read('src-tauri/src/knowledge_base.rs')
const ui = read('src/modules/native-composition/index.tsx')
const lib = read('src-tauri/src/lib.rs')
test('native objects and composition recipes are bounded system contracts', () => {
assert.equal(contract.internal_object.schema, 'hololake.native-object/v1')
assert.equal(contract.internal_object.script_allowed, false)
assert.equal(contract.internal_object.html_allowed, false)
assert.equal(contract.recipe.registered_modules_only, true)
assert.equal(contract.recipe.directed_acyclic_graph_required, true)
assert.equal(contract.recipe.current_account_only, true)
assert.match(rust, /HOLOLAKE_COMPOSITION_MODULE_NOT_REGISTERED/)
assert.match(rust, /HOLOLAKE_COMPOSITION_PORT_TYPE_MISMATCH/)
assert.match(rust, /HOLOLAKE_COMPOSITION_CYCLE_REJECTED/)
})
test('the native core reads only the authenticated HoloLake knowledge snapshot', () => {
assert.match(knowledge, /get_knowledge_snapshot/)
assert.match(knowledge, /account_storage_root\(app, "knowledge-v1"\)/)
assert.match(rust, /execute_knowledge_native_composition/)
assert.match(rust, /source_is_real_account_data: true/)
assert.match(fs.readFileSync(new URL('../src-tauri/src/numbered_ipc_dispatch.rs', import.meta.url), 'utf8'), /native_composition::execute_knowledge_native_composition/)
})
test('one execution result can be rendered through every stage-one human projection', () => {
assert.deepEqual(contract.human_projection.views, ['DASHBOARD', 'COMPARISON', 'VERTICAL_BAR', 'CLASSIFICATION', 'TABLE'])
assert.equal(contract.human_projection.shares_one_execution_result, true)
assert.equal(contract.human_projection.owns_source_data, false)
assert.equal(contract.human_projection.direct_write_authority, false)
for (const label of ['仪表盘', '对比', '柱状图', '分类', '明细表']) assert.match(ui, new RegExp(label))
assert.match(ui, /projection\.nativeObject\.rows/)
assert.match(ui, /projection\?\.groups/)
})