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)
This commit is contained in:
Bumblebee
2026-04-29 12:51:15 +02:00
parent 11d9c0556a
commit 9cec8ce394
12 changed files with 1196 additions and 26 deletions
+114
View File
@@ -0,0 +1,114 @@
#!/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"
+146
View File
@@ -0,0 +1,146 @@
#!/bin/bash
# ============================================================================
# dream-organizer.sh — Neural Memory Deep Process
#
# Kör periodiskt (nattligen eller manuellt via /dream).
# Syntetiserar rå sessions-data till organiserad kunskap.
# ============================================================================
VAULT="/workspace/second-brain"
RAW_DIR="$VAULT/09-sessions/raw"
SUMMARY_DIR="$VAULT/09-sessions/summarized"
SEMANTIC_DIR="$VAULT/10-semantic-graph"
DREAM_DIR="$VAULT/12-dream-outputs"
REGISTRY="$VAULT/11-registry"
echo "🧠 Neural Memory: Dream process startar..."
echo "$(date)"
# ============================================================================
# STEG 1: Sammanfatta rå sessioner (om de inte redan är sammanfattade)
# ============================================================================
echo "📋 Steg 1: Sammanfattar sessioner..."
for session_file in $(find "$RAW_DIR" -name "*.md" -mtime -1); do
# Kontrollera om redan sammanfattad
basename_file=$(basename "$session_file" .md)
summary_file="$SUMMARY_DIR/$basename_file-summary.md"
if [ ! -f "$summary_file" ]; then
echo " 📝 Sammanfattar: $basename_file"
# Skapa en strukturerad sammanfattning
cat > "$summary_file" << EOF
---
source: $session_file
date: $(date -r "$session_file" +%Y-%m-%d)
processed: $(date -Iseconds)
---
# Session Summary: $basename_file
## Nyckelbeslut
*(Extraheras från session)*
-
## Kodändringar
-
## Lärdomar & insikter
-
## Koncept introducerade
-
## Konflikter / problem
-
## Nästa steg
-
EOF
fi
done
# ============================================================================
# STEG 2: Uppdatera semantiskt nätverk
# ============================================================================
echo "🕸️ Steg 2: Uppdaterar semantiskt nätverk..."
# Bygg lista över alla entiteter som nämns i sammanfattningarna
ENTITIES_FILE="$SEMANTIC_DIR/entities-$(date +%Y-%m).md"
CONCEPTS_FILE="$SEMANTIC_DIR/concepts-$(date +%Y-%m).md"
DECISIONS_FILE="$SEMANTIC_DIR/decisions-$(date +%Y-%m).md"
mkdir -p "$SEMANTIC_DIR"
# Append entiteter (unika)
cat >> "$ENTITIES_FILE" << EOF
## Entiteter upptäckta $(date +%Y-%m-%d)
*(Använd [[entity-name]] för att länka)*
EOF
# ============================================================================
# STEG 3: Komprimera till cold store (permanent kunskap)
# ============================================================================
echo "📦 Steg 3: Migrerar till cold store..."
# Identifiera återkommande teman
# Om ett koncept nämns i 3+ sessioner → flytta till cold store
# ============================================================================
# STEG 4: Uppdatera huvudregistret (det Claude läser)
# ============================================================================
echo "📇 Steg 4: Uppdaterar registry..."
cat > "$REGISTRY/memory-index.md" << EOF
---
generated: $(date -Iseconds)
sessions_today: $(find "$RAW_DIR/$(date +%Y-%m-%d)" -name "*.md" 2>/dev/null | wc -l)
total_sessions: $(find "$RAW_DIR" -name "*.md" | wc -l)
---
# 🧠 Neural Memory — Registry
> Detta register är ALLT Claude behöver läsa vid session start.
> Detaljer hämtas lazy från cold store när specifika frågor ställs.
## 📌 Aktiva projekt
| Projekt | Status | Senaste aktivitet | Nyckelbeslut |
|---------|--------|-------------------|--------------|
| gralv | $(grep -r "gralv\|gravl" $SUMMARY_DIR 2>/dev/null | wc -l) sessions | $(date +%Y-%m-%d) | Se [[02-projects/gravl/decisions.md]] |
## 🔥 Senaste 24h (Hot Cache)
Se: [[hot-cache.md]]
## 🏛️ Arkitekturbeslut
Se: [[04-architecture/]]
## 🧩 Mönster & koncept
Se: [[10-semantic-graph/concepts-$(date +%Y-%m).md]]
## 📚 Kunskapsbank (Cold Store)
| Ämne | Plats | Relevans |
|------|-------|----------|
| Kubernetes patterns | [[03-learnings/kubernetes/]] | Hög |
| TypeScript patterns | [[05-code-snippets/typescript/]] | Hög |
| System architecture | [[04-architecture/]] | Hög |
## ❓ Öppna frågor
*(Uppdateras från session-sammanfattningar)*
## 🔗 Snabblänkar
- [[NEURAL-MEMORY.md|Systemarkitektur]]
- [[09-sessions/|Alla sessioner]]
- [[12-dream-outputs/|Dream outputs]]
EOF
echo "✅ Dream process klar!"
echo "📁 Registry: $REGISTRY/memory-index.md"
echo "🧠 Semantic graph: $SEMANTIC_DIR/"
+55
View File
@@ -0,0 +1,55 @@
#!/bin/bash
# ============================================================================
# session-autosave.sh — Kopplas till Claude Code session-avslut
#
# Placera detta i .bashrc eller .zshrc:
# export CLAUDE_SESSION_SAVE="/workspace/second-brain/.hooks/capture-session.sh"
#
# Eller kör manuellt efter Claude Code-session:
# claude-session-save "beskrivning av vad som gjordes"
# ============================================================================
VAULT="/workspace/second-brain"
CAPTURE_HOOK="$VAULT/.hooks/capture-session.sh"
case "$1" in
save)
echo "💾 Sparerar session till Neural Memory..."
if [ -f "$CAPTURE_HOOK" ]; then
bash "$CAPTURE_HOOK"
echo "✅ Session sparad!"
else
echo "❌ Hook hittades inte: $CAPTURE_HOOK"
fi
;;
dream)
echo "🧠 Kör deep organization..."
bash "$VAULT/.hooks/dream-organizer.sh"
echo "✅ Dream klar!"
;;
status)
echo "📊 Neural Memory Status:"
echo ""
echo "Sessions idag: $(find $VAULT/09-sessions/raw/$(date +%Y-%m-%d) -name '*.md' 2>/dev/null | wc -l)"
echo "Sessions totalt: $(find $VAULT/09-sessions/raw/ -name '*.md' 2>/dev/null | wc -l)"
echo "Sammanfattade: $(find $VAULT/09-sessions/summarized/ -name '*.md' 2>/dev/null | wc -l)"
echo "Semantic entiteter: $(find $VAULT/10-semantic-graph/ -name '*.md' 2>/dev/null | wc -l)"
echo "Registry uppdaterad: $(stat -c '%y' $VAULT/11-registry/memory-index.md 2>/dev/null | cut -d'.' -f1 || echo 'Aldrig')"
;;
*)
echo "Neural Memory Auto-Capture"
echo ""
echo "Användning:"
echo " claude-session-save save - Spara nuvarande session"
echo " claude-session-save dream - Kör deep organization"
echo " claude-session-save status - Visa minnesstatus"
echo ""
echo "Alias (lägg till i .bashrc):"
echo ' alias cms="/workspace/second-brain/.hooks/session-autosave.sh save"'
echo ' alias cmd="/workspace/second-brain/.hooks/session-autosave.sh dream"'
echo ' alias cmst="/workspace/second-brain/.hooks/session-autosave.sh status"'
;;
esac