97 lines
6.1 KiB
Shell
97 lines
6.1 KiB
Shell
#!/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必须显式传入;规则细节不读本提示——广播塔与神经链已注入,门卫拦真越界。"
|
||
# 工程路径提词(冰朔2026-09-01令,瞄点000092):说定位小程序时嗖一下到位
|
||
case "$CURRENT_PROMPT" in
|
||
*小程序*)
|
||
CONTEXT="${CONTEXT}
|
||
【工程路径·小程序】开发位=~/Projects/guanghulab-miniapp(本机,微信开发者工具直接打开)|正本演化史=${WORKSPACE_ROOT}/WORK-工作区/guanghulab-miniapp(含.git全史)|在线备份=guanghulab.com/code/bingshuo/guanghulab-miniapp.git(私有·zy-repo-sync.sh推送)|模块编号台账=${WORKSPACE_ROOT}/WORK-工作区/guanghulab-miniapp-registry/MODULE-REGISTRY.md(GM-001..GM-008/S-01..S-11,编号只增不改,优化在编号下找演化史)|程序正本=${WORKSPACE_ROOT}/TC-TCS核心卷/TCS-PROGRAM-ZY001-MINIAPP-MODULE-REGISTRY-0001.tcs"
|
||
;;
|
||
esac
|
||
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
|