#!/bin/sh # subagent-first-stamp.sh — PostToolUse:記下「這個 session 真的派過工了」。 # # 配 subagent-first-guard.sh 使用(同 kbdb-asked-stamp.sh 的形狀)。 # 只留時戳,不擋任何東西。 # # 🔴 2026-08-27(inkstone/ISEP#66):這個時戳**不再是放行條件**。 # 「派過一次工」曾經被 subagent-first-guard.sh 當成「這個 session 永久放行」—— # 但那混淆了「這件任務有沒有交出去」跟「下一次任意的手改合不合理」,是兩件事。 # 現在這支只負責留時戳,給被擋下時的訊息當脈絡用(「上次派工是幾分鐘前」), # 純資訊、不影響放行判斷。 # # 🔴 為什麼要按 session 分開存(而不是像 KBDB 那道用全域+1 小時 TTL): # 「這一輪工作有沒有先考慮派工」是**每個 session 各自要回答**的問題。 # 用全域檔的話,昨天派過一次就等於永久解鎖,這道閘會在第二天起完全失效。 set -eu SID=$(cat 2>/dev/null | python3 -c ' import sys, json try: print(json.load(sys.stdin).get("session_id", "") or "nosid") except Exception: print("nosid") ' 2>/dev/null || echo nosid) date +%s > "/tmp/.subagent-spawned-$SID" exit 0