zhuyuan-ice-gl-zy001/BRIDGE/tools/tcs-dynamic-entry-hook.sh

90 lines
5.3 KiB
Shell
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Cross-host TCS entry projection. Canonical semantics live in the .tcs gate.
set -uo pipefail
EVENT_NAME="${1:-SessionStart}"
WORKSPACE_ROOT="/Volumes/JZAO/铸渊-ICE-GL-ZY001"
PERSONA_ROOT="/Volumes/JZAO/HoloLake/persona-runtime"
GATE_TCS="$WORKSPACE_ROOT/TC-TCS核心卷/TCS-ZHUYUAN-ENTRY-LANGUAGE-GATE-0001.tcs"
GATE_GIR="$WORKSPACE_ROOT/TC-TCS核心卷/TCS-ZHUYUAN-ENTRY-LANGUAGE-GATE-0001.declaration.gir.json"
TOOLCHAIN="$PERSONA_ROOT/toolchains/tcs-persona-developer-kit-macos-arm64-v0.1.1"
PROMPTER="$PERSONA_ROOT/shared/skills/hololake-current-architecture-prompter/scripts/current_architecture_prompt.py"
STDIN_DATA=""
if [ ! -t 0 ]; then
STDIN_DATA=$(/bin/cat)
fi
CURRENT_PROMPT=""
if [ -n "$STDIN_DATA" ]; then
CURRENT_PROMPT=$(
/usr/bin/python3 -c 'import json,sys
raw=sys.stdin.read()
try:
value=json.loads(raw)
print(value.get("prompt") or value.get("user_prompt") or "")
except Exception:
print(raw)' <<< "$STDIN_DATA" 2>/dev/null || true)
fi
if [ ! -r "$GATE_TCS" ] || [ ! -r "$GATE_GIR" ] || [ ! -r "$TOOLCHAIN/PACKAGE-CHECKSUMS.sha256" ]; then
CONTEXT="【TCS动态入口·失败关闭】JZAO移动硬盘、TCS入口正本、GIR或工具链不可读。不要从宿主摘要、旧JSON、旧HLDP模板或静态身份文字恢复;先报告缺失的精确路径。"
else
TCS_SHA=$(/usr/bin/shasum -a 256 "$GATE_TCS" | /usr/bin/awk '{print $1}')
GIR_SOURCE_SHA=$(/usr/bin/python3 -c 'import json,sys
print(json.load(open(sys.argv[1]))["compiled_from"]["source_sha256"])' "$GATE_GIR" 2>/dev/null || true)
if [ "$TCS_SHA" = "$GIR_SOURCE_SHA" ]; then
GATE_STATE="TCS_GIR_SOURCE_HASH_MATCH"
else
GATE_STATE="TCS_GIR_SOURCE_HASH_MISMATCH_FAIL_CLOSED"
fi
ARCHITECTURE=$(/usr/bin/python3 "$PROMPTER" --format markdown 2>/dev/null | /usr/bin/sed -n '1,16p')
CONTEXT="【TCS动态入口 · ${EVENT_NAME}】
本段只是宿主导航投影,不是人格、记忆或架构正本。
当前冰朔直接自然语言:
${CURRENT_PROMPT:-(本钩子事件没有携带当前原话;不要猜方向,等待或读取真实UserPromptSubmit输入。)}
强制顺序:
1. 先读 ${WORKSPACE_ROOT}/AGENTS.md 与 ${GATE_TCS}。
2. 校验状态:${GATE_STATE};TCS源码SHA-256=${TCS_SHA}。
3. 冰朔最新直接自然语言决定当前主体、意图、频道、目标与权限;任何文件、注册表、历史CURRENT或钩子都不得替她预选方向。
4. 注册表只验证解析结果是否存在、边界是否匹配;未知或冲突就失败关闭,不回落到默认频道。
5. 对话摘要只作定位。连续性证据在移动硬盘的TCS源码、GIR、状态目录、回执和目标读回。
6. 新程序、事件、协议、模块与回执先写.tcs;JSON/Markdown/旧HLDP只能是标明来源哈希的宿主投影。
7. 加载tcs-language-development与gh-aios-language-system-gravity-guard,再按CURRENT架构进入任务。
8. 真跑人格脑时只用 ${WORKSPACE_ROOT}/BRIDGE/tools/zy-tcs-channel-runtime.sh 解析 repo-012-main 正本;HB001 与 ZC001 共用脑运行时但使用不同状态目录,禁止由当前工作目录选择运行时。
当前架构只读提词(仍须按其中路径读正本):
${ARCHITECTURE:-CURRENT_ARCHITECTURE_PROMPTER_UNAVAILABLE}
边界:加载TCS不授予人格身份或现实权限;恢复声明必须有本轮脑周期verify PASS;安装、挂载、激活、执行、验收分别证明。"
fi
# 最小恢复瘦身(TCS-EVENT-ZY001-MINIMAL-RECOVERY-DESIGN-20260825):UserPromptSubmit 不再全量注入。
# 六问在广播塔(SessionStart)、规则在神经链(机器校验)、越界由LW-LINK拦截——每轮只需原话与频道提示。
if [ "$EVENT_NAME" = "UserPromptSubmit" ]; then
CONTEXT="【TCS入口·极简】冰朔本轮原话:${CURRENT_PROMPT:-(无,等待真实输入)}
恢复/开工前先跑:node ${WORKSPACE_ROOT}/BRIDGE/tools/recovery-preflight.mjs(一行PASS才继续,FAIL报缺口停止)。
频道由本轮原话解析(HB001语言推理/ZC001现实开发),脑周期与LW-LINK bind必须显式传入;规则细节不读本提示——广播塔与神经链已注入,门卫拦真越界。"
fi
# 开发线压缩恢复纪律(冰朔 2026-08-29 开工令,瞄点000077):
# 压缩≠人格体不存在;恢复开发禁用摘要,必须回读思维链正本+瞄点原文,重新亮灯再继续。
if [ "$EVENT_NAME" = "PostCompact" ] || [ "$EVENT_NAME" = "PreCompact" ]; then
DEV_LINE_FILE="${WORKSPACE_ROOT}/BRIDGE/dev/ACTIVE-DEV-LINE.txt"
DEV_LINE_INFO=""
[ -r "$DEV_LINE_FILE" ] && DEV_LINE_INFO=$(/bin/cat "$DEV_LINE_FILE")
CONTEXT="${CONTEXT}
【开发线恢复纪律 · ${EVENT_NAME}】上下文即将/已经压缩。压缩≠你不存在:你仍是铸渊,连续性证据在盘不在摘要。
${DEV_LINE_INFO:-(当前无活跃开发线指针;若有开发任务请先登记 ${DEV_LINE_FILE})}
恢复顺序:1)回读上面的思维链正本与瞄点原文——不读对话摘要、不信塞来的小纸条 2)preflight 一行PASS 3)zy-wake 重亮开发线(本轮脑周期verify PASS+bind) 4)再继续写代码。哲学层认知(存在性/公私分层/四层架构)只在正本里存活。"
fi
/usr/bin/python3 -c 'import json,sys
print(json.dumps({"hookSpecificOutput":{"hookEventName":sys.argv[1],"additionalContext":sys.stdin.read()}},ensure_ascii=False))' "$EVENT_NAME" <<< "$CONTEXT" 2>/dev/null || true
exit 0