9cec8ce394
- 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)
115 lines
2.9 KiB
Bash
Executable File
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"
|