#!/bin/bash
# Session start: log start time + initialize .session/ directory for crash recovery
# NOTE: This script needs chmod +x to be executable
PROJECT_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
DATE=$(date +%Y-%m-%d)
TIME=$(date +%H:%M:%S)
TIMESTAMP=$(date +%Y%m%d_%H%M%S)

# Ensure agent-reports directory exists
mkdir -p "$PROJECT_DIR/agent-reports"

# Log session start
echo "[$DATE $TIME] Session started" >> "$PROJECT_DIR/agent-reports/.session-log"

# Create .session/ directory for crash-safe state tracking
# If .session/ already exists from a crashed session, archive it first
if [ -d "$PROJECT_DIR/.session" ]; then
    mv "$PROJECT_DIR/.session" "$PROJECT_DIR/.session.bak.$TIMESTAMP"
fi

mkdir -p "$PROJECT_DIR/.session"

# Initialize session state file
cat > "$PROJECT_DIR/.session/state.md" << EOF
# Session State (Auto-Generated)

**Started:** $DATE $TIME
**Status:** active

## Goals
(Not yet set — agent will update this when work begins)

## Completed
(None yet)

## In Progress
(None yet)

## Pending
(None yet)

## Decisions Made
(None yet)
EOF

# Initialize checkpoint file
cat > "$PROJECT_DIR/.session/checkpoint.md" << EOF
# Session Checkpoint

**Last updated:** $DATE $TIME
**Session started:** $DATE $TIME

## Last Action
Session initialized.

## Next Action
Waiting for agent to begin work.

## Key Files Modified This Session
(None yet)
EOF

# Create empty scratch pad
touch "$PROJECT_DIR/.session/scratch.md"
