Files
second-brain/.hooks/capture-session.sh
Bumblebee 9cec8ce394 feat: Update Vietnam budget with confirmed flight booking
- Mark flights as BOKAD & BETALD (38,588 SEK ToR)
- Add booking details: CPH↔HAN, family of 5
- Update MEMORY.md with confirmed status
- Improve AGENTS.md startup routine (vault fallback)
2026-04-29 12:51:15 +02:00

115 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# capture-session.sh — Neural Memory Hook
#
# Spara varje Claude Code/OpenClaw session automatiskt.
# Körs efter varje session (manuellt eller via cron).
# ============================================================================
VAULT="/workspace/second-brain"
SESSIONS_DIR="$VAULT/09-sessions/raw"
SUMMARY_DIR="$VAULT/09-sessions/summarized"
REGISTRY="$VAULT/11-registry"
# Skapa datumstruktur
DATE=$(date +%Y-%m-%d)
TIME=$(date +%H-%M-%S)
SESSION_ID="${DATE}_${TIME}_$(openssl rand -hex 4)"
SESSION_FILE="$SESSIONS_DIR/$DATE/$SESSION_ID.md"
mkdir -p "$SESSIONS_DIR/$DATE"
mkdir -p "$SUMMARY_DIR/$DATE"
mkdir -p "$REGISTRY"
echo "📡 Neural Memory: Capturing session $SESSION_ID..."
# ============================================================================
# 1. EXTRAHERA SESSION-DATA (från Claude Code history)
# ============================================================================
cat > "$SESSION_FILE" << 'HEADER'
---
id: SESSION_ID
date: DATE
time: TIME
type: session_capture
agents: []
topics: []
decisions: []
---
# Session: DATE TIME
## Sammanfattning
*(Fylls i av Claude vid bearbetning)*
## Beslut tagna
*(Lista med beslutsnummer)*
## Kod ändrad
*(Filändringar)*
## Lärdomar
*(Nya insikter)*
## Frågor obesvarade
*(Blockers, TODOs)*
## Rå data
```
$(cat /tmp/claude-session-$SESSION_ID.log 2>/dev/null || echo "No raw log found")
```
HEADER
# Ersätt placeholders
sed -i "s/SESSION_ID/$SESSION_ID/g" "$SESSION_FILE"
sed -i "s/DATE/$DATE/g" "$SESSION_FILE"
sed -i "s/TIME/$TIME/g" "$SESSION_FILE"
# ============================================================================
# 2. UPPDATERA REGISTRY (Index över senaste aktivitet)
# ============================================================================
echo "📝 Uppdaterar registry..."
# Hitta alla sessionsfiler för idag
LATEST_SESSIONS=$(find "$SESSIONS_DIR/$DATE" -name "*.md" -mmin -60 | sort | tail -5)
# Uppdatera "hot cache" — vad som hände nyligen
cat > "$REGISTRY/hot-cache.md" << EOF
---
updated: $(date -Iseconds)
---
# 🔥 Hot Cache — Senaste aktivitet
## Sessioner idag ($DATE)
EOF
for session in $LATEST_SESSIONS; do
basename "$session" >> "$REGISTRY/hot-cache.md"
done
cat >> "$REGISTRY/hot-cache.md" << EOF
## Öppna frågor / blockers
*(Uppdateras från session-sammanfattningar)*
## Nyligen lärda koncept
*(Dras från semantic graph)*
EOF
# ============================================================================
# 3. NOTIFIERA OM VARNING
# ============================================================================
SESSION_COUNT=$(find "$SESSIONS_DIR/$DATE" -name "*.md" | wc -l)
if [ "$SESSION_COUNT" -gt 10 ]; then
echo "⚠️ Många sessioner idag ($SESSION_COUNT). Kör dream-sync för att organisera."
fi
echo "✅ Session sparad: $SESSION_FILE"
echo "📊 Registry uppdaterad: $REGISTRY/hot-cache.md"