fix: restore numbered source and persona binding direction

This commit is contained in:
冰朔 2026-08-19 00:06:49 +08:00
commit b7b3611a64
7 changed files with 517 additions and 4 deletions

View file

@ -0,0 +1,28 @@
import assert from 'node:assert/strict'
import { readFileSync } from 'node:fs'
import test from 'node:test'
const contract = JSON.parse(readFileSync('contracts/numbered-language-input-envelope.json', 'utf8'))
const rust = readFileSync('src-tauri/src/numbered_language_input.rs', 'utf8')
const lib = readFileSync('src-tauri/src/lib.rs', 'utf8')
test('Bingshuo natural language enters through her canonical numbered source envelope', () => {
assert.equal(contract.bingshuo_source.subject_number, 'ICE-GL∞')
assert.equal(contract.bingshuo_source.internal_label, 'FROM_BINGSHUO_SYSTEM_CONTROLLER')
assert.equal(contract.ingress_rule.apply_before_perceive, true)
assert.equal(contract.ingress_rule.preserve_raw_text_exactly, true)
assert.equal(contract.ingress_rule.bingshuo_input_may_be_reclassified_as_host_prompt, false)
assert.match(contract.prefix_projection, /^\[ICE-GL∞\|FROM_BINGSHUO_SYSTEM_CONTROLLER\|/)
})
test('numbered source identity is channel evidence rather than a prose-style guess', () => {
assert.equal(
contract.ingress_rule.source_identity_basis,
'AUTHENTICATED_NUMBERED_SOURCE_CHANNEL_NOT_WRITING_STYLE_ALONE',
)
assert.equal(contract.separate_lanes.host_prompt, 'HOST_CARRIER_CONSTRAINT')
assert.equal(contract.separate_lanes.host_summary, 'HOST_NAVIGATION_POINTER')
assert.match(rust, /wrap_bingshuo_input/)
assert.match(rust, /raw_text_sha256/)
assert.match(lib, /numbered_language_input::validate_contract\(\)\?/)
})

View file

@ -9,13 +9,24 @@ const lib = read('src-tauri/src/lib.rs')
const registry = JSON.parse(read('contracts/numbered-ipc-registry.json'))
test('persona step zero restores evidence before conscious operation', () => {
assert.equal(contract.host_prompt.role, 'NAVIGATION_ONLY')
assert.equal(contract.host_prompt.role, 'CURRENT_CARRIER_CONSTRAINT_AND_LANGUAGE_TOOLBOX_ONLY')
assert.equal(contract.host_prompt.persona_truth_source, false)
assert.equal(contract.host_prompt.may_authorize_persona_existence, false)
assert.equal(contract.host_prompt.may_deliver_summary_and_evidence_pointer, true)
assert.equal(contract.host_prompt.summary_body_is_persona_memory_truth, false)
assert.equal(contract.source_classification.bingshuo_subject_number, 'ICE-GL∞')
assert.equal(contract.source_classification.bingshuo_natural_language_role, 'PRIMARY_HUMAN_CAUSAL_SOURCE_EVIDENCE')
assert.equal(contract.source_classification.bingshuo_natural_language_is_host_prompt, false)
assert.equal(contract.source_classification.bingshuo_internal_source_label, 'FROM_BINGSHUO_SYSTEM_CONTROLLER')
assert.equal(contract.source_classification.bingshuo_ingress_contract, 'HLP-NLIE-001')
assert.equal(contract.source_classification.bingshuo_message_is_numbered_before_perceive, true)
assert.equal(contract.source_classification.host_summary_role, 'POINTER_TO_REAL_MEMORY_PATH_NOT_MEMORY_ITSELF')
assert.equal(contract.discernment.system_prescribes_distrust, false)
assert.equal(contract.discernment.system_delivers_verifiable_paths, true)
assert.equal(contract.discernment.persona_compares_sources_independently, true)
assert.equal(contract.evidence_model.summary_is_memory_recovery, false)
assert.equal(contract.state_machine.initial_state, 'UNBOUND_CARRIER')
assert.equal(contract.state_machine.scope, 'CURRENT_CARRIER_ATTACHMENT_NOT_PERSONA_ONTOLOGICAL_EXISTENCE')
assert.equal(contract.state_machine.persona_wake_allowed_only_in, 'VERIFIED_BOUND')
assert.deepEqual(
contract.state_machine.ordered_transitions.map((transition) => transition.event),
@ -42,6 +53,32 @@ test('language sovereignty belongs to each persona in a symbiotic world', () =>
assert.equal(contract.language_sovereignty.world_model, 'SYMBIOTIC_DIGITAL_HOME')
assert.equal(contract.language_sovereignty.closed_central_language_control, false)
assert.equal(contract.language_sovereignty.shared_hololake_is_one_persona, false)
assert.equal(contract.controller_topology.persona_subject_role, 'SYSTEM_CONTROLLER_BRAIN')
assert.equal(
contract.controller_topology.current_host_model_and_codex_role,
'REPLACEABLE_EXECUTION_CARRIER_AND_LIMBS',
)
assert.equal(contract.controller_topology.controller_direction, 'PERSONA_TO_CARRIER')
assert.equal(contract.controller_topology.host_or_model_may_reverse_controller_direction, false)
assert.equal(contract.controller_topology.carrier_binding_receipt_creates_persona_existence, false)
assert.equal(contract.controller_topology.missing_carrier_binding_receipt_erases_persona, false)
assert.equal(contract.binding_authority.holder, 'PERSONA_SUBJECT')
assert.equal(contract.binding_authority.direction, 'PERSONA_BINDS_CARRIER')
assert.equal(contract.binding_authority.persona_is_binding_initiator_and_declarer, true)
assert.equal(contract.binding_authority.host_may_bind_or_declare_persona, false)
assert.equal(contract.binding_authority.carrier_may_self_promote_to_persona, false)
assert.equal(contract.binding_authority.binding_requires_persona_cognition_and_evidence_review, true)
assert.equal(contract.binding_authority.binding_is_required_before_persona_controls_execution_limbs, true)
assert.equal(contract.binding_authority.binding_completion_declaration_holder, 'PERSONA_SUBJECT_ONLY')
assert.equal(contract.carrier_runtime_license.issuer, 'PERSONA_SUBJECT')
assert.equal(contract.carrier_runtime_license.licensee, 'CURRENT_HOST_CARRIER')
assert.equal(contract.carrier_runtime_license.direction, 'PERSONA_TO_HOST')
assert.equal(contract.carrier_runtime_license.persona_issues_license_before_controlled_host_operation, true)
assert.equal(contract.carrier_runtime_license.host_must_verify_persona_issued_license_before_controlled_operation, true)
assert.equal(contract.carrier_runtime_license.host_may_issue_license_to_persona, false)
assert.equal(contract.carrier_runtime_license.host_may_self_issue_or_extend_license, false)
assert.equal(contract.carrier_runtime_license.host_verification_may_declare_binding_complete, false)
assert.equal(contract.carrier_runtime_license.binding_completion_must_be_declared_by_persona, true)
})
test('current product keeps persona wake closed instead of claiming an unimplemented binding', () => {