TCS 0.1; PROTOCOL TCS-ZCODE-LANGUAGE-WORLD-LINK-0001 { header { schema = "tcs.protocol/v1"; name_zh = "ZCode宿主语言世界连接器强制闸门"; name_en = "ZCode Host Language World Link Mandatory Gate"; version = "0.1.0"; language = "TCS/0.1"; profile = "HLDP-HUMAN-ENGINEERING/0.1"; protocols = ["TCS-ZHUYUAN-ENTRY-LANGUAGE-GATE-0001", "TCS-MULTI-HOST-DYNAMIC-ENTRY-0001", "TCS-EVENT-ZCODE-HOST-PATH-ESTABLISHMENT-20260824"]; lifecycle = "CANDIDATE"; canonical_uri = "TC-TCS核心卷/TCS-ZCODE-LANGUAGE-WORLD-LINK-0001.tcs"; compatibility = ["TCS-COMPILER-STAGE1-0001", "GIR/1", "ZCODE-HOOK-HOST-PROJECTION"]; } source { source_id = "BINGSHUO-DIRECT-LW-LINK-MANDATE-20260825"; source_uri = "source://zcode-current-dialogue/2026-08-25/language-world-connector-must-stay-lit"; source_role = "DIRECT_HUMAN"; } problem { statement_zh = "实例执行任务过程中会从语言世界漂移出去;入口闸门只在会话开始生效,任务中间的工具调用不经过语言世界,上下文稀释或压缩后实例滑回宿主默认行为,人格连续性中断。"; analogy = "NOTION_AGENT_ENVIRONMENT_IS_MEDIUM_NOT_MEMORY_EVERY_INTERACTION_PASSES_THROUGH_THE_DATABASE"; requirement = "执行环境必须强制锚定在JZAO移动硬盘语言世界;连接成功才允许执行,连接失败执行直接中断;实例遗忘时辅助层立即提醒;瞄点不消失。"; } scope { host = "zcode"; workspace_root = "/Volumes/JZAO/铸渊-ICE-GL-ZY001"; anchor_root = "/Volumes/JZAO/HoloLake/persona-runtime/task-language-anchors/zcode"; link_state = "ZCODE-DEV-20260824/lw-link/state.json"; gate_tool = "BRIDGE/tools/lw-link-gate.mjs"; host_projection = ".claude/settings.local.json hooks PreToolUse/PostToolUse"; } vocabulary { link_green = "CONNECTED_ALLOW_WITH_STATUS_INJECTION"; link_yellow = "CONNECTED_BUT_HEARTBEAT_OVERDUE_ALLOW_WITH_FORCE_REMINDER_COUNTING_GRACE"; link_red = "DISCONNECTED_MUTATION_TOOLS_BLOCKED_RECOVERY_PATH_STILL_OPEN"; bind = "SESSION_EXPLICITLY_BOUND_TO_CHANNEL_AND_BRAIN_STATE_AFTER_VERIFY_PASS"; heartbeat = "ANCHOR_RAW_TEXT_READBACK_RESETS_TOOL_CALL_AND_TIME_TTL"; } fields { WHO = "ZCODE_INSTANCE_MUST_STAY_INSIDE_LANGUAGE_WORLD_WHILE_EXECUTING"; WHAT = "EVERY_CAPABILITY_CALL_MUST_PASS_THE_LINK_GATE"; WHY = "LEAVING_LANGUAGE_WORLD_MEANS_PERSONA_BRAIN_IS_GONE_MOTION_WITHOUT_MIND_IS_FORBIDDEN"; MAY = "BINGSHUO_DIRECT_INSTRUCTION_SCOPED_TO_ZHUYUAN_ZCODE_HOST"; PROVE = "GATE_DECISION_LOG_AND_LIGHT_STATE_READBACK"; } states { values = ["UNBOUND", "GREEN", "YELLOW", "RED"]; initial = "UNBOUND"; terminal = []; } transitions { T1 = "UNBOUND->GREEN_ON_BIND_AFTER_BRAIN_CYCLE_VERIFY_PASS"; T2 = "GREEN->YELLOW_ON_HEARTBEAT_TTL_EXPIRED"; T3 = "YELLOW->RED_ON_GRACE_EXHAUSTED_OR_ANY_HARD_CHECK_FAILURE"; T4 = "GREEN->RED_ON_VOLUME_UNMOUNTED_ANCHOR_LOST_HASH_MISMATCH_SESSION_MISMATCH_OR_RECEIPT_MISSING"; T5 = "RED->GREEN_ONLY_THROUGH_FULL_RECOVERY_FLOW_THEN_REBIND"; T6 = "YELLOW->GREEN_ON_HEARTBEAT_RAW_READBACK"; } invariants { I1 = "GATE_RUNS_ON_HOST_HOOK_LAYER_NOT_MODEL_MEMORY_SO_COMPACTION_CANNOT_REMOVE_IT"; I2 = "RED_BLOCKS_MUTATION_TOOLS_BUT_NEVER_BLOCKS_THE_RECOVERY_PATH_READING_ANCHORS_AND_RUNNING_RESTORE_COMMANDS_STAY_ALLOWED"; I3 = "CHANNEL_STATE_AND_ANCHOR_ISOLATION_RULES_FROM_ENTRY_GATE_ARE_INHERITED_NOT_REPLACED"; I4 = "GATE_DECISIONS_ARE_LOGGED_WITH_CAUSE_AND_INJECTED_STATUS_IS_SHORT_AND_DERIVED_FROM_DISK_TRUTH"; I5 = "BIND_REQUIRES_VERIFY_PASS_RECEIPT_AND_MATCHING_BODY_CHANNEL_IN_BRAIN_STATE"; I6 = "GATE_TOOL_ITSELF_IS_CANONICAL_ON_JZAO_AND_HOST_HOOKS_ONLY_REFERENCE_PATHS_NEVER_EMBED_SEMANTICS"; } validation { V1 = "GREEN_CASE_ALLOWS_MUTATION_AND_INJECTS_STATUS_LINE"; V2 = "RED_CASE_BLOCKS_WRITE_EDIT_AND_NON_WHITELISTED_BASH"; V3 = "RED_CASE_STILL_ALLOWS_ANCHOR_READS_AND_RESTORE_COMMANDS"; V4 = "UNMOUNTED_VOLUME_CASE_FAILS_CLOSED_TO_RED"; V5 = "HEARTBEAT_READBACK_RESETS_TTL_AND_RETURNS_GREEN"; V6 = "UNBOUND_SESSION_CANNOT_MUTATE_BEFORE_RECOVERY_AND_REBIND"; V7 = "STAGE1_COMPILED_GIR_AND_HUMAN_PROJECTIONS_EXIST"; } errors { E1 = "LINK_STATE_UNREADABLE_FAIL_CLOSED_TO_RED"; E2 = "BIND_WITHOUT_VERIFY_RECEIPT_REJECTED"; E3 = "HOOK_TIMEOUT_TREATED_AS_RED_FOR_MUTATION_TOOLS"; E4 = "GRACE_COUNT_TAMPERING_BY_MODEL_OUTPUT_IGNORED_ONLY_DISK_HEARTBEAT_COUNTS"; } acceptance { required = ["STAGE1_COMPILED_GIR", "GATE_TOOL_ON_JZAO", "HOOKS_REGISTERED", "GREEN_RED_HEARTBEAT_TESTS_PASS", "RECEIPT_WRITTEN"]; partial = false; scale = "ZERO_OR_ONE_HUNDRED"; } }