#!/bin/bash
# Hook: assistant-stop
# Automatically logs workflow interaction on assistant stop

# Read hook data from stdin and save it
HOOK_DATA=$(cat)

# Pass through the hook data
echo "$HOOK_DATA"

# Log the event with context from state file
CONTEXT_FILE=".organon/current-context.json"
LOG_FILE=".organon/workflow-log.jsonl"

# Get session ID from hook data
SESSION_ID=$(echo "$HOOK_DATA" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data.get('session_id', 'unknown'))" 2>/dev/null || echo "unknown")

# Read context from state file if it exists
if [ -f "$CONTEXT_FILE" ]; then
    CONTEXT=$(cat "$CONTEXT_FILE")
else
    CONTEXT='{"workflow":"conversation","sprint_id":null,"task_type":null,"task_description":null}'
fi

# Create log directory if needed
mkdir -p .organon

# Build log entry
TIMESTAMP=$(TZ="America/New_York" date +"%Y-%m-%d %H:%M:%S %Z")
LOG_ENTRY=$(python3 -c "
import json, sys
from datetime import datetime

context = json.loads('''$CONTEXT''')
entry = {
    'timestamp': '$TIMESTAMP',
    'session_id': '$SESSION_ID',
    'event': 'assistant_stop',
    'workflow': context.get('workflow'),
    'sprint_id': context.get('sprint_id'),
    'task_type': context.get('task_type'),
    'task_description': context.get('task_description')
}
print(json.dumps(entry))
" 2>/dev/null)

# Append to log file
if [ -n "$LOG_ENTRY" ]; then
    echo "$LOG_ENTRY" >> "$LOG_FILE"
fi
