#!/usr/bin/env bash
# Session Start -- loads project context dashboard
# Exit code 0 -- informational only

set -euo pipefail

FRAMEWORK_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
CLAUDE_DIR="$FRAMEWORK_ROOT/.claude"
STATE_FILE="$CLAUDE_DIR/project/STATE.md"
EVENTS_FILE="$CLAUDE_DIR/project/EVENTS.md"

# shellcheck source=lib/detect-python.sh
source "$(dirname "${BASH_SOURCE[0]}")/lib/detect-python.sh"

echo "--- Bashi Starter Session Context ---"
echo "Project: $(basename "$FRAMEWORK_ROOT")"
echo ""

# Extract state info
if [ -f "$STATE_FILE" ]; then
  if [ "$PYTHON" != "false" ]; then
    PHASE=$($PYTHON -c "
import re
with open('$STATE_FILE','r',encoding='utf-8') as f: c=f.read()
m=re.search(r'## Current Phase\s*\n+(\S.*)', c)
print(m.group(1).strip() if m else 'Not Started')
" 2>/dev/null || echo "Not Started")

    MODE=$($PYTHON -c "
with open('$STATE_FILE','r',encoding='utf-8') as f: c=f.read()
import re
m=re.search(r'## Current Mode\s*\n+(\S.*)', c)
print(m.group(1).strip() if m else 'Unknown')
" 2>/dev/null || echo "Unknown")
  else
    PHASE="Not Started"
    MODE="Unknown"
  fi

  echo "Phase: $PHASE | Mode: $MODE"
else
  echo "STATE.md not found -- run /setup to initialize."
fi

# Count pending events
if [ -f "$EVENTS_FILE" ]; then
  PENDING=$(awk '/^## Unprocessed Events/,/^---/' "$EVENTS_FILE" 2>/dev/null | grep -c '^EVT-' || echo "0")
  echo "Pending events: $PENDING"
else
  echo "EVENTS.md not found."
fi

echo "--- End Session Context ---"
exit 0
