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
+178
View File
@@ -0,0 +1,178 @@
# Vietnam Budget 2026 — Grov uppskattning
## Familj: 2 vuxna + 3 barn (11, 8, 4 år)
## Datum: 14/6 - 3/7 (~19 nätter, 20 dagar)
## Valuta: USD (1 USD ≈ 10.5 SEK)
---
## 1. INTERNATIONELLA FLYG (redan bokade?)
| Flyg | Kostnad | Status |
|------|---------|--------|
| CPH → Hanoi (Tur) | Ingår i ToR | ✅ **BOKAD & BETALD** |
| Hanoi → CPH (Retur) | Ingår i ToR | ✅ **BOKAD & BETALD** |
| Barn (2-11 år) | Ingår i familjepris | ✅ |
> **Bokningsdetaljer:**
> - **Pris:** 38,588 SEK (hela familjen, ToR)
> - **Rutt:** Köpenhamn (CPH) ↔ Hanoi (HAN)
> - **Status:** Betald och bekräftad
> - **Datum:** Utresa 14 juni, hemresa början av juli
---
## 2. INRIKES TRANSPORT
### Flyg
| Sträcka | Vuxen | Barn (11+ betalar fullt, 8+ ~80%, 4+ ~50%) | Totalt |
|---------|-------|---------------------------------------------|--------|
| Đà Nẵng → Nha Trang | ~$40-60 | $0 + $32 + $20 = ~$52 | ~$152 |
| Saigon → Hanoi | ~$50-80 | $0 + $64 + $40 = ~$104 | ~$204 |
| **Flyg totalt** | | | **~$356** |
### Nattåg (Soft sleeper 4-bädd)
| Sträcka | Kostnad/person | Familj (5 pers, 4-bädd x2 eller 6-bädd) | Totalt |
|---------|----------------|------------------------------------------|--------|
| Ha Long → Đà Nẵng (~16h) | ~$50-75 | 2 kupéer x 4-bädd: ~$300-450 | ~$375 |
| Nha Trang → Saigon (~8h) | ~$30-50 | 1-2 kupéer: ~$150-250 | ~$200 |
| **Tåg totalt** | | | **~$575** |
### Lokalt transport (taxi, bil, buss)
| Sträcka | Kostnad |
|---------|---------|
| Hemby → Ninh Binh | ~$30-50 (privat bil) |
| Ninh Binh → Ha Long | ~$40-60 |
| Hoi An → Đà Nẵng flygplats | ~$15-20 |
| Nha Trang flygplats → hotell | ~$10-15 |
| Saigon flygplats → hotell | ~$10-15 |
| Hanoi flygplats → hotell (retur) | ~$10-15 |
| Lokala resor inom städer (taxi, grab) | ~$15-20/dag x 20 dagar = ~$350 |
| **Lokalt totalt** | **~$465-530** |
**TRANSPORT TOTALT: ~$1,400-1,460**
---
## 3. BOENDE (19 nätter)
| Natt | Plats | Typ | Kostnad/natt | Totalt |
|------|-------|-----|--------------|--------|
| 1-3 (3 nätter) | Hemby | Hos släkt? / Gästhus | $0-30 | $0-90 |
| 4 (1 natt) | Ninh Binh | Familjerum (3-4 pers) | ~$40-60 | ~$50 |
| 5-6 (2 nätter) | Ha Long | Cruise (2-dagars, familjekupé) | ~$150-200/vuxen, barn halva | ~$500-700 |
| 7 (1 natt) | Tåg #1 | Soft sleeper (ingår i transport) | $0 | $0 |
| 8-11 (4 nätter) | Hoi An | Familjevilla / 2 rum | ~$60-100 | ~$320-400 |
| 12-14 (3 nätter) | Nha Trang | Strandresort, familjerum | ~$80-120 | ~$300-360 |
| 15 (1 natt) | Tåg #2 | Soft sleeper (ingår i transport) | $0 | $0 |
| 16-17 (2 nätter) | Saigon | Familjerum hotell | ~$50-80 | ~$130-160 |
| 18 (1 natt) | Hanoi | Hotell (sista natten) | ~$50-80 | ~$65 |
| 19 (1 natt) | Hanoi / Flyg | Hemresa på kvällen? | ~$50-80 / $0 | ~$65 |
**BOENDE TOTALT: ~$1,430-1,910**
> **Medel:** ~$80-100/natt för familj
---
## 4. MAT
| Typ | Kostnad/person/dag | Familj/dag | Totalt (20 dagar) |
|-----|-------------------|------------|-------------------|
| Frukost | Inkluderat på hotell / $3-5 | ~$15 | ~$100-150 |
| Lunch | $5-10 (street food / lokal) | ~$35 | ~$700 |
| Middag | $8-15 (restaurang) | ~$50 | ~$1,000 |
| Snacks, dryck, frukt | ~$5-10/dag | ~$40 | ~$600 |
**MAT TOTALT: ~$2,400-2,450**
> **Tips:** Sambon talar vietnamesiska = ni kan äta på lokala ställen, inte turistpriser!
---
## 5. AKTIVITETER
| Aktivitet | Vuxen | Barn (11 betalar fullt, 8-10 ~50-80%, 4 gratis) | Totalt |
|-----------|-------|------------------------------------------------|--------|
| Ha Long Bay cruise (2-dagars) | ~$150-200 | Ingår ovan i boende | (se boende) |
| Trang An båttur | ~$10-15 | ~$5-8 | ~$40 |
| Ba Na Hills (inkl. linbana) | ~$35-40 | ~$25-30 (11+ fullt, 8+ rabatt, 4 gratis) | ~$130-150 |
| Vinpearl Land Nha Trang | ~$40-50 | ~$30-35 | ~$170-200 |
| Cu Chi Tunnlar | ~$10-15 | ~$5 (11+), gratis yngre | ~$30 |
| Cooking class Hoi An | ~$30-40/person | Samma | ~$150-200 |
| Lantern-making workshop | ~$5-10 | Samma | ~$25-50 |
| Water puppet show Hanoi | ~$5-10 | ~$3-5 | ~$25-35 |
| Cykeluthyrning (Ninh Binh, Hoi An) | ~$3-5/dag | ~$2-3 | ~$40-60 |
| Snorkling / 4 Island tour Nha Trang | ~$15-20 | ~$10-15 | ~$65-85 |
| Eventuella små aktiviteter | | | ~$100-200 |
**AKTIVITETER TOTALT: ~$775-1,050**
---
## 6. ÖVRIGT
| Post | Kostnad |
|------|---------|
| Visum (om Sverige behöver) | ❌ Svenskar = 45 dagar visumfritt! ✅ |
| Reseförsäkring | ~$100-200 (familj) |
| Vaccinationer | ~$0-200 (beroende på vad ni har) |
| Souvenirer, shopping | ~$200-500 |
| Oförutsedda utgifter | ~$200-300 |
**ÖVRIGT TOTALT: ~$500-1,200**
---
## 📊 TOTALBUDGET
| Kategori | Låg uppskattning | Hög uppskattning |
|----------|-----------------|------------------|
| Inrikes flyg | $356 | $356 |
| Nattåg | $500 | $650 |
| Lokalt transport | $450 | $530 |
| Boende | $1,400 | $1,850 |
| Mat | $2,200 | $2,600 |
| Aktiviteter | $750 | $1,000 |
| Övrigt | $500 | $1,000 |
| **TOTALT** | **~$5,700** | **~$7,990** |
### I SEK (1 USD ≈ 10.5 SEK):
| | Låg | Hög |
|---|---|-----|
| **TOTALT** | **~60,000 SEK** | **~84,000 SEK** |
---
## 💡 Sätt att spara pengar
| Tips | Sparande |
|------|----------|
| Sambon pratar vietnesiska → ät lokalt | ~$500-1,000 på mat |
| Boka boende via vietnamesiska sidor (Booking/Agoda) | ~$200-400 |
| Undvik turistrestauranger | ~$300-500 |
| Res tåg soft seat (ej sleeper) på korta sträckor | ~$100-200 |
| Gratis aktiviteter: stränder, marknader, tempel | ~$200-400 |
**Potentiellt sparande: ~$1,500-3,500**
---
## 🎯 Sammanfattning
| | USD | SEK |
|---|---|-----|
| **Budget (låg)** | ~$5,500-6,000 | ~$58,000-63,000 |
| **Budget (realistisk)** | ~$6,500-7,000 | ~$68,000-74,000 |
| **Budget (hög)** | ~$8,000-8,500 | ~$84,000-89,000 |
> **Exklusive:** Internationella flyg (CPH ↔ Vietnam) som Josef redan bokat.
---
Vill du att jag:
1. **Detaljerar** någon specifik kategori?
2. **Jämför** med en "lyxigare" vs "budget" version?
3. **Sparar** detta i second brain under resplanering?
*Genererad: 2026-04-28*
+25 -24
View File
@@ -1,37 +1,38 @@
# ADR: [DECISION TITLE]
---
id: "ADR-XXX"
date: YYYY-MM-DD
status: proposed | accepted | deprecated
author: "Namn"
tags: [adr, architecture]
---
**Date:** YYYY-MM-DD
**Status:** Proposed | Accepted | Deprecated | Superseded
**Affects:** [Project/Component]
# ADR-XXX: Titel på beslutet
## Context
## Kontext
What is the issue that we're seeing that motivates this decision or change?
Vad är problemet? Vilka alternativ fanns?
## Decision
## Beslut
What is the change that we're proposing and/or doing?
Vad bestämdes?
## Rationale
## Konsekvenser
Why is this decision the right one?
- **Positiva:**
- **Negativa:**
- **Risker:**
### Alternatives Considered
- Alternative 1: [Why not this?]
- Alternative 2: [Why not this?]
## Alternativ övervägda
## Trade-offs
| Alternativ | Fördelar | Nackdelar |
|------------|----------|-----------|
| Alternativ A | ... | ... |
| Alternativ B | ... | ... |
What are we gaining and what are we losing?
## Relaterat
## Implementation Notes
How will this be implemented? What needs to change?
## Links
- Related decisions:
- References:
- [[andra-adrs]]
- [[projekt/relaterat.md]]
---
Tags: #architecture #adr
*Template: ADR (Architecture Decision Record)*
+81
View File
@@ -0,0 +1,81 @@
# Semantic Graph: Aktiva Entiteter
# Extraherade från MEMORY.md och sessions
## System/Infrastruktur
| Entitet | Typ | Beskrivning | Relationer |
|---------|-----|-------------|------------|
| **OpenClaw Gateway** | system | AI-agent gateway på IntensePC | → Traefik, → IntensePC |
| **IntensePC** | hardware | 11W-server, gateway-värd | → OpenClaw Gateway, → Traefik |
| **Mission Control** | system | Dashboard för OpenClaw | → Docker, → Gateway |
| **Traefik** | system | Reverse proxy, SSL | → Mission Control, → ai.homelab.local |
| **ai.homelab.local** | domain | Dashboard-domän | → Traefik, → Mission Control |
| **Xvfb on-demand** | system | Virtuell X11 | → socket-activation |
| **Vault Server** | system | Headless Obsidian REST API | → port 27123 |
## Projekt
| Entitet | Typ | Status | Beslutsnyckel |
|---------|-----|--------|---------------|
| **Gravl** | project | Phase 10, dev | Kubernetes staging, Ruflo integration |
| **Job Portal** | project | Under utv. | - |
| **FineDine** | project | Under utv. | - |
## Hårdvara
| Entitet | Typ | Spec | Användning |
|---------|-----|------|-----------|
| **SuperMicro Server** | hardware | Xeon 6c/12t, 48GB ECC, RTX 2070 8GB | Heavy lifting, Proxmox |
| **RTX 2070** | gpu | TU106, 8GB GDDR6 | Nuvarande GPU |
| **RTX 3090** | gpu | Ampere, 24GB GDDR6X | Föreslagen uppgradering |
| **EVO-X2** | hardware | Ryzen AI Max+ 395, 128GB unified | Alternativ till server-uppgradering |
| **BD395i MAX** | motherboard | Mini-ITX, Strix Halo | Kommer "mid 2026" |
## Koncept/Mönster
| Entitet | Typ | Beskrivning | Exempel |
|---------|-----|-------------|---------|
| **Unified Memory** | concept | CPU+GPU delar RAM | EVO-X2, Apple Silicon |
| **GPU Passthrough** | concept | VM får direkt GPU-access | Proxmox + RTX 2070 |
| **Custom Docker Network** | concept | Isolerade containernätverk | mission-control, proxy |
| **host.docker.internal** | concept | Docker-host access | Fungerar INTE på Linux custom networks |
| **Obsidian Headless** | concept | Vault utan GUI | vault-server.js port 27123 |
## Personer
| Entitet | Roll | Kontext |
|---------|------|---------|
| **Josef Karlsson** | user | Resa VN juni, AI-infrastruktur |
| **Bumblebee** | agent | OpenClaw agent, hjälper Josef |
## Resor/Platser
| Entitet | Typ | Datum | Status |
|---------|-----|-------|--------|
| **Vietnam** | travel | 14 jun - 10 jul 2026 | Planerat |
| **Hanoi** | city | Ankomst 14 jun | ✅ |
| **Ho Chi Minh City** | city | Avresa ~10 jul | ✅ |
| **Reunification Express** | train | Hanoi → Saigon | Under forskning |
## Relationer (Edges)
```
IntensePC --värdar--> OpenClaw Gateway
OpenClaw Gateway --använder--> Traefik
Traefik --routar--> ai.homelab.local
ai.homelab.local --pekar--> Mission Control
Mission Control --ansluter--> Gateway (via 192.168.10.43)
Josef --planerar--> Vietnam
Vietnam --transporteras--> Reunification Express
SuperMicro --kan-uppgraderas--> RTX 3090
EVO-X2 --alternativ-till--> SuperMicro+RTX 3090
Custom Docker Network --blockerar--> host.docker.internal
"host.docker.internal" --ersätts-av--> "192.168.10.43:18789"
```
---
*Genererad: 2026-04-28*
*Källa: MEMORY.md + session-sammanfattningar*
+89
View File
@@ -0,0 +1,89 @@
# Semantic Graph: Relationer & Patterns
## Relationer (Edges)
### Händer just nu (aktivt)
```
[Josef] --frågar--> [Bumblebee] --om--> [Neural Memory System]
[Josef] --bygger--> [Second Brain] --för--> [Claude Code + OpenClaw]
[Bumblebee] --skapar--> [hooks/session-autosave.sh]
[Bumblebee] --skapar--> [10-semantic-graph/]
[Bumblebee] --uppdaterar--> [11-registry/memory-index.md]
```
### Infrastruktur
```
[IntensePC] --värdar--> [OpenClaw Gateway] --på--> [port 18789]
[OpenClaw Gateway] --använder--> [Traefik] --för--> [SSL + routing]
[Traefik] --routar--> [ai.homelab.local] --till--> [Mission Control]
[Mission Control] --ansluter--> [Gateway] --via--> [192.168.10.43:18789]
[Mission Control] --kör--> [Docker] --med--> [custom networks]
[Custom networks] --blockerar--> [host.docker.internal]
[host.docker.internal] --ersätts-av--> [192.168.10.43:18789]
[Vault Server] --exponerar--> [Obsidian API] --på--> [port 27123]
```
### Hårdvara-dilemmat
```
[Josef] --vill-ha--> [LLM-kraft] --för--> [lokal AI]
[SuperMicro] --har--> [RTX 2070 8GB] --otillräcklig-för--> [30B+ modeller]
[SuperMicro] --kan-uppgraderas-med--> [RTX 3090 24GB]
[RTX 3090] --kostar--> [~10k SEK] --på--> [Blocket]
[EVO-X2] --är--> [alternativ] --med--> [128GB unified]
[EVO-X2] --kostar--> [~20-22k SEK] --importerat-från--> [Amazon.com]
[Unified Memory] --tillåter--> [70B modeller] --men--> [AMD ROCm]
[CUDA] --är-bättre-än--> [ROCm] --för--> [LLM inference]
```
### Vietnam-resan
```
[Josef] --planerar--> [Vietnam] --från--> [14 jun] --till--> [10 jul 2026]
[Hanoi] --ankomst--> [14 jun] --med--> [Thai Airways]
[Hanoi] --förbinder--> [Ho Chi Minh City] --med--> [Reunification Express]
[Reunification Express] --tar--> [~35h] --kostar--> [~$75-100/person]
[Ho Chi Minh City] --avresa--> [~10 jul] --till--> [Köpenhamn]
```
### Neural Memory
```
[Session] --sparas-som--> [raw log] --sammanfattas-till--> [summary]
[Summary] --analyseras-av--> [Dream Process] --som--> [extracts patterns]
[Patterns] --lagras-i--> [10-semantic-graph/] --och--> [02-03-08/]
[Registry] --indexerar--> [alla-källor] --läses-av--> [Claude vid start]
```
## Återkommande Mönster (Patterns)
### Felsökningsmönster
```
[Problem] --> [Diagnostisera] --> [Isolera orsak] --> [Implementera fix] --> [Verifiera]
↓ ↓
spara i 09-sessions/ uppdatera 11-registry/
```
### Beslutsmönster
```
[Alternativ A] --värderas-mot--> [Alternativ B] --baserat-på--> [Kriterier]
↓ ↓
kostnad, prestanda dokumentera i 04-architecture/
```
### Kunskapsuppbyggnad
```
[Observation] --> [Sammanfattning] --> [Mönster] --> [Princip] --> [Standard]
↓ ↓ ↓ ↓
sessions/ summaries/ semantic/ 06-references/
```
## Antipatterns (Att undvika)
| Antipattern | Problem | Lösning |
|-------------|---------|---------|
| **host.docker.internal på Linux** | Fungerar inte med custom networks | Använd LAN-IP direkt |
| **GTX istället för RTX** | Saknar Tensor Cores för AI | Kontrollera arkitektur |
| **För lite VRAM** | Kan inte köra stora modeller | 24GB+ för 30B+ |
| **Manuell kontext** | Slöseri med tokens | Registry + lazy loading |
---
*Genererad: 2026-04-28*
*Källa: Session-sammanfattningar + MEMORY.md*
+209
View File
@@ -0,0 +1,209 @@
---
generated: 2026-04-28T21:30:00Z
version: 1.0
type: memory_registry
---
# 🧠 Neural Memory — Active Registry
> **Detta är ALLT Claude behöver vid session start.**
> All detaljerad kunskap ligger i refererade filer och hämtas on-demand.
---
## 🎯 Aktiva Projekt (Senaste 30 dagarna)
| Projekt | Repo | Status | Key Decisions | Plats |
|---------|------|--------|---------------|-------|
| **Gravl** | `/workspace/gravl/` | Phase 10, dev | Kubernetes staging ✅, Ruflo integration | [[02-projects/gravl/]] |
| **Job Portal** | `/workspace/job-portal/` | Under utv. | | [[02-projects/job-portal/]] |
| **FineDine** | `/workspace/finedine/` | Under utv. | | [[02-projects/finedine/]] |
---
## 🔥 Hot Cache — Aktiv Kontext
| Ämne | Senast | Plats | Relevans |
|------|--------|-------|----------|
| OpenClaw Gateway RPC fix | 2026-04-28 | [[09-sessions/summarized/2026-04-28_*]] | 🔴 Avgörande |
| Domänbyte: mission → ai.homelab.local | 2026-04-28 | [[09-sessions/summarized/2026-04-28_*]] | 🔴 Avgörande |
| EVO-X2 vs RTX 3090 analys | 2026-04-28 | [[09-sessions/summarized/2026-04-28_*]] | 🟡 Referens |
| Vietnam resa juni-juli 2026 | 2026-04-28 | [[01-daily/2026-04-28.md]] | 🟢 Kontext |
| Second Brain arkitektur | 2026-04-28 | [[NEURAL-MEMORY.md]] | 🔴 Aktiv |
---
## 🏛️ Systemarkitektur — Beslut
| Beslut | Datum | Status | Plats |
|--------|-------|--------|-------|
| Docs = separata repos (inte i harness) | 2026-04-26 | ✅ Genomfört | [[04-architecture/documentation-architecture.md]] |
| Obsidian headless via REST API | 2026-04-26 | ✅ Drift | [[04-architecture/obsidian-mcp.md]] |
| Xvfb on-demand | 2026-04-26 | ✅ Drift | [[XVFB-ON-DEMAND.md]] |
| Neural Memory v1 | 2026-04-28 | 🆕 Aktiv | [[NEURAL-MEMORY.md]] |
---
## 🧩 Lärdomar & Patterns (Cold Store)
| Kategori | Koncept | Plats |
|----------|---------|-------|
| **Docker** | `host.docker.internal` fungerar ej på custom networks i Linux | [[03-learnings/docker-networking.md]] |
| **Kubernetes** | kubectl installerat för staging | [[02-projects/gravl/k8s-setup.md]] |
| **OpenClaw** | Gateway + Mission Control + Traefik-arkitektur | [[03-learnings/openclaw-infrastructure.md]] |
| **Hardware** | LLM GPU: unified memory vs dedikerad VRAM | [[03-learnings/llm-hardware.md]] |
---
## 👤 Personkontext
| Nyckel | Värde | Källa |
|--------|-------|-------|
| Namn | Josef Karlsson | USER.md |
| Resa | Vietnam 14 jun - 10 jul 2026 | [[01-daily/2026-04-28.md]] |
| Server | IntensePC (11W) + SuperMicro (Xeon, RTX 2070) | Konversation |
| Önskemål | Självutvecklande AI-minne | Konversation |
---
## ❓ Öppna Frågor / Blockers
| # | Fråga | Sedan | Prioritet |
|---|-------|-------|-----------|
| 1 | EVO-X2 köp vs server-uppgradering | 2026-04-28 | 🟡 Låg |
| 2 | Discord-server för threads? | 2026-04-28 | 🟡 Låg |
---
## 📁 Navigation
```
/workspace/second-brain/
├── 00-inbox/ # Snabbinfångst
├── 01-daily/ # Dagliga loggar
├── 02-projects/ # Projekt (gravl, job-portal, finedine)
├── 03-learnings/ # Kunskap (k8s, docker, typescript...)
├── 04-architecture/ # Systembeslut (ADRs)
├── 05-code-snippets/ # Kodmallar
├── 06-references/ # Länkar, docs
├── 07-templates/ # Mallar
├── 08-connections/ # Team, kontakter
├── 09-sessions/ # ⭐ SESSIONS (raw + summarized)
│ ├── raw/ # Kompletta loggar
│ └── summarized/ # Bearbetade sammanfattningar
├── 10-semantic-graph/ # ⭐ ENTITETER & RELATIONER
│ ├── entities/ # Personer, platser, koncept
│ ├── relations/ # Kopplingar
│ └── patterns/ # Återkommande mönster
├── 11-registry/ # ⭐ DETTA REGISTER
├── 12-dream-outputs/ # Syntetiserade insikter
└── NEURAL-MEMORY.md # Systemdokumentation
```
---
## 🔄 Så här fungerar det
1. **Session** → sparas i `09-sessions/raw/`
2. **Sammanfattning**`09-sessions/summarized/` (manuellt eller auto)
3. **Dream** → analyserar, extraherar mönster → `10-semantic-graph/`
4. **Organisering** → permanent kunskap → `02-03-08/`
5. **Registry** → indexeras → **DETTA FIL** (alltid uppdaterat)
**Claude läser BARA detta register vid start.** Allt annat lazy-loadas.
---
*Senast uppdaterad: 2026-04-28*
*Uppdateras via: `dream-sync.sh` eller manuellt*
---
## 🆕 Dagens Aktivitet (2026-04-28)
### Sessions
| # | Tid | Ämne | Status |
|---|-----|------|--------|
| 1 | 07:25 | Mission Control RPC-fix | ✅ Löst |
| 2 | 08:29 | Domänbyte mission→ai | ✅ Genomfört |
| 3 | 08:50 | EVO-X2 vs Server-uppgradering | 🟡 Analys |
| 4 | 19:57 | Vietnam nattåg | ✅ Forskning |
| 5 | 21:14 | Second Brain arkitektur | ✅ Design |
| 6 | 21:31 | Neural Memory System v1 | 🆕 Byggd! |
### Beslut
| Beslut | Status | Plats |
--------|--------|-------|
| Neural Memory v1 implementeras | ✅ | [[NEURAL-MEMORY.md]] |
| Auto-capture aktiverat | ✅ | [[.hooks/session-autosave.sh]] |
| Semantic graph initierad | ✅ | [[10-semantic-graph/]] |
### Kod skapad
| Fil | Syfte |
|-----|-------|
| `.hooks/capture-session.sh` | Auto-save sessions |
| `.hooks/dream-organizer.sh` | Deep organization |
| `.hooks/session-autosave.sh` | CLI-wrapper (cms/cmd/cmst) |
| `10-semantic-graph/entities-2026-04.md` | Entiteter |
| `10-semantic-graph/relations-2026-04.md` | Relationer |
| `CLAUDE.md` | Persistent Claude-kontext |
## 👨‍👩‍👧‍👦 Familj
| Relation | Ålder | Notering |
|----------|-------|----------|
| **Josef** | Vuxen | Planerar resan |
| **Sambo** | Vuxen | Från norra Vietnam (hemstad i området) |
| **F** | 11 år | |
| **P** | 8 år | |
| **P** | 4 år | |
**Totalt:** 5 personer
**Språk:** Sambon talar vietnamesiska (stor fördel!)
## 🏡 Vietnam Hemby-kontext
**Sambo:** Från norra Vietnam
**Hemby:** I norra Vietnam (plats ej specificerad ännu)
**Plan:** Sällskap följer med till hemby dag 1-3
**Genomresa:** Startar ~dag 4 från norra Vietnam
**Tidsram:**
- Totalt: 14/6 - 3/7 (~19 dagar)
- Med sällskap: Dag 1-3
- Genomresa familj: Dag 4-19 (~16 dagar)
## ✈️🚂 Uppdaterad transportplan
**Ankomst:** 14/6 CPH → Hanoi
**Hemby:** Dag 1-3 med sällskap
**Söderut:** NATTÅG längs kusten
**Hemresa:** Saigon → Hanoi → CPH 3/7
**Nyckelbeslut:**
- ❌ Ej genomresa norr→söder flyg
- ✅ Nattåg söderut (upplevelse)
- ✅ Flyg tillbaka norrut (effektivt)
## 📋 TODO — Imorgon (2026-04-29)
### Vietnam Budget Research
**Uppdrag:** Verifiera faktiska priser för familjens Vietnam-resa (14/6-3/7)
**Status:** 🔴 Ej påbörjat
**Deadline:** 2026-04-29
**Vad ska researchas:**
1. ✅ Inrikes flyg: Đà Nẵng→Nha Trang, Saigon→Hanoi (faktiska priser)
2. ✅ Nattåg: Soft sleeper 4-bädd (Ha Long→Đà Nẵng, Nha Trang→Saigon)
3. ✅ Boende: Familjerum i Ninh Binh, Hoi An, Nha Trang, Saigon, Hanoi
4. ✅ Ha Long Bay cruise: 2-dagars familjekupé
5. ✅ Aktiviteter: Ba Na Hills, Vinpearl Land, Cu Chi, cooking class
6. ✅ Mat: Realistisk dagsbudget för familj i Vietnam
**Vad ska levereras:**
- Korrigerad budget med VERIFIERADE siffror
- Tydlig markering: "verifierat" vs "uppskattat"
- Källor/referenser för varje pris
- Sparas i: `/workspace/second-brain/01-daily/vietnam-budget-2026-verified.md`
+156
View File
@@ -0,0 +1,156 @@
# 🤖🧠 Bumblebee — Integration med Neural Memory System
## Aktivering
Jag (Bumblebee) är nu kopplad till second brain. Detta innebär:
### 1. Session Start (varje gång jag vaknar)
**Innan jag gör något annat läser jag:**
```
1. SOUL.md (vem jag är)
2. USER.md (vem jag hjälper)
3. 11-registry/memory-index.md (aktiv kontext)
4. MEMORY.md (långtidsminne - fallback)
```
**Totalt: ~300 rader** (minimal kontextförbrukning)
### 2. Under Session
**När du frågar något:**
- Jag kollar först hot-cache i registry
- Om detaljer behövs → lazy-load från refererade filer
- Om inget finns → sök i 03-learnings/, 02-projects/
**När jag lär mig något nytt:**
- Uppdatera registry direkt (hot-cache)
- Spara beslut till 04-architecture/
- Dokumentera patterns till 05-code-snippets/
- Spela in till 09-sessions/ vid sessionsslut
### 3. Session Slut
**Jag kör automatiskt:**
```bash
/workspace/second-brain/.hooks/capture-session.sh
```
Detta sparar sessionen i raw-format.
### 4. Periodisk Syntes
**Vid heartbeats eller på begäran:**
```bash
/workspace/second-brain/.hooks/dream-organizer.sh
```
Detta organiserar och destillerar kunskap.
---
## Minnes hierarki
```
Level 1: Registry (11-registry/memory-index.md)
↓ läses alltid
Level 2: Hot Cache (senaste 24h)
↓ lazy load
Level 3: Semantic Graph (10-semantic-graph/)
↓ sök vid behov
Level 4: Cold Store (02-03-04-05-06/)
↓ fallback
Level 5: Raw Sessions (09-sessions/raw/)
↓ sista utväg
Level 6: MEMORY.md (legacy)
```
---
## Migreringsplan (befintligt minne)
### Från MEMORY.md → Second Brain
| MEMORY.md Innehåll | Destination |
|---------------------|-------------|
| Gravl Infrastructure | 02-projects/gravl/infrastructure.md |
| Second Brain Vault | 03-learnings/second-brain.md |
| X11 on-Demand | 03-learnings/x11-on-demand.md |
| Memory System Rules | 03-learnings/memory-system.md |
| Documentation Architecture | 04-architecture/documentation-architecture.md |
| Travel Plans | 01-daily/2026-04-28.md |
### Från memory/YYYY-MM-DD.md → Second Brain
| Daglig fil | Destination |
|------------|-------------|
| Dagliga loggar | 01-daily/ (behålls) |
| Beslut | 04-architecture/ADRs/ |
| Lärdomar | 03-learnings/ |
---
## Synkroniseringsregler
### Regel 1: Registry är sanningen
- Om registry och MEMORY.md är i konflikt → registry vinner
- Registry uppdateras alltid först
- MEMORY.md är "read-only archive"
### Regel 2: Sessions sparas dubbelt (tillfälligt)
- Under övergång: spara både till memory/ och 09-sessions/
- Efter migrering: bara 09-sessions/
### Regel 3: Heartbeats använder second brain
- Heartbeat-checks → uppdatera registry
- Inga nya filer i memory/ utan godkännande
---
## Verifiering av integration
### Test 1: Session Start
- [ ] Jag läser registry
- [ ] Jag kan svara på frågor om dagens aktivitet
- [ ] Jag vet vilka projekt som är aktiva
### Test 2: Session Slut
- [ ] Session sparas till 09-sessions/
- [ ] Registry uppdateras
- [ ] Semantic graph utökas
### Test 3: Sökning
- [ ] Jag kan söka i vault
- [ ] Jag hittar gamla beslut
- [ ] Jag kan koppla samman koncept
---
## Implementation
### Uppdatera AGENTS.md startup:
```
## Every Session (UPDATED for Neural Memory)
Before doing anything else:
1. Read SOUL.md
2. Read USER.md
3. Read 11-registry/memory-index.md ⭐ NEW
4. If main session: Read MEMORY.md (legacy backup)
```
### Uppdatera memory-hantering:
```
When I learn something:
1. Update 11-registry/memory-index.md (hot-cache)
2. If significant → 04-architecture/ or 03-learnings/
3. At session end → run capture-session.sh
4. Periodically → run dream-organizer.sh
```
---
*Integration aktiverad: 2026-04-28*
*Status: ✅ Bumblebee är nu del av Neural Memory System*
+93
View File
@@ -0,0 +1,93 @@
# 🧠 NEURAL MEMORY — Claude Code Context
## Vem jag är
Jag är Claude Code, med tillgång till ett självutvecklande minnessystem.
## Hur mitt minne fungerar
**Vid session start läser jag BARA:**
```
/workspace/second-brain/11-registry/memory-index.md
```
Detta register (~200 rader) ger mig all kontext jag behöver.
**Detaljerad kunskap lazy-loadas:**
- När du frågar om något → söker jag i vault
- När jag kör kommando → kollar jag code-snippets
- När jag fattar beslut → sparar jag till registry
## Regler för minneshantering
### När jag lär mig något nytt:
1. **Direkt**: Uppdatera `11-registry/memory-index.md` (hot cache)
2. **Inom session**: Spara beslut till `09-sessions/summarized/`
3. **Periodiskt**: Triggera `dream-sync.sh` för deep-organisation
### När jag felsöker:
1. Kolla `11-registry/memory-index.md` för "Öppna Frågor"
2. Sök `03-learnings/` efter liknande problem
3. Uppdatera registry med lösning
### När jag kodar:
1. Kolla `05-code-snippets/` för patterns
2. Följ `06-references/standards.md`
3. Dokumentera nya patterns → `05-code-snippets/`
## Session Capture (efter varje session)
Kör alltid vid sessionsslut:
```bash
/workspace/second-brain/.hooks/capture-session.sh
```
Detta sparar sessionen i raw-format.
## Dream Mode (deep organization)
Kör vid behov:
```bash
/workspace/second-brain/.hooks/dream-organizer.sh
```
Detta syntetiserar rå data till organiserad kunskap.
## Filosofi
- **Minimal context window**: Registry är allt jag behöver
- **Compounding knowledge**: Varje session gör mig smartare
- **Human-editable**: Du kan redigera allt manuellt
- **Searchable**: Fulltextsökning över hela vaulten
## Snabbkommandon
| Kommando | Beskrivning |
|----------|-------------|
| `cat /workspace/second-brain/11-registry/memory-index.md` | Visa aktiv kontext |
| `find /workspace/second-brain/03-learnings -name "*.md" \| xargs grep -l "topic"` | Sök kunskap |
| `/workspace/second-brain/.hooks/capture-session.sh` | Spara session |
| `/workspace/second-brain/.hooks/dream-organizer.sh` | Deep organize |
## Vault-struktur
```
/workspace/second-brain/
├── 00-inbox/ # Snabbinfångst
├── 01-daily/ # Dagliga loggar
├── 02-projects/ # Projektkunskap
├── 03-learnings/ # Generell kunskap
├── 04-architecture/ # ADRs
├── 05-code-snippets/ # Kodmallar
├── 06-references/ # Länkar, docs
├── 07-templates/ # Mallar
├── 08-connections/ # Team, kontakter
├── 09-sessions/ # ⭐ Sessions (raw + summarized)
├── 10-semantic-graph/ # ⭐ Entiteter, relationer
├── 11-registry/ # ⭐ HUVUDREGISTER (detta fil)
└── 12-dream-outputs/ # Syntetiserade insikter
```
---
*Detta är CLAUDE.md — persistent kontext för Claude Code.*
*Placeras i projektroten och laddas vid varje session.*
+48
View File
@@ -0,0 +1,48 @@
# NEURAL MEMORY SYSTEM v1
## Självutvecklande AI-minne för Claude Code & OpenClaw
### Filosofi
Precis som en mänsklig hjärna:
1. **Sensorisk input** → Allt som händer i sessionerna
2. **Korttidsminne** → Dagliga sammanfattningar (hot cache)
3. **Långtidsminne** → Destillerad kunskap (cold store)
4. **Semantiskt nätverk** → Kopplingar mellan begrepp
5. **Register** → Index över var kunskap finns (det Claude läser)
### Komponenter
| Nivå | Katalog | Syfte | Åtkomst |
|------|---------|-------|---------|
| **Raw Sessions** | `09-sessions/raw/` | Kompletta session-loggar | Automatisk |
| **Summaries** | `09-sessions/summarized/` | Dagliga sammanfattningar | Auto + Manual |
| **Semantic Graph** | `10-semantic-graph/` | Entiteter, relationer, koncept | Dream-process |
| **Cold Store** | `02-03-08/` + nya | Permanent kunskap | Manuell + Dream |
| **Registry** | `11-registry/` | Index över alla kunskapskällor | Claude läser alltid |
| **Dream Output** | `12-dream-outputs/` | Syntetiserade insikter | Dream-process |
### Flöde
```
Session ──► 09-sessions/raw/ ──► (hook) ──► summarized/ ──► Dream ──► 02-03-08/
│ │
└─────── 11-registry/ (index) ◀────────────────────────────────┘
└── Detta är allt Claude behöver läsa vid session start!
```
### Regler
1. **Minimal Context**: Claude läser BARA `11-registry/` vid session start (~200 rader max)
2. **Lazy Loading**: Detaljer hämtas först när frågor ställs
3. **Decay**: Irrelevant kunskap arkiveras automatiskt
4. **Compounding**: Varje session gör nätverket rikare
### Aktivering
Kör `.hooks/capture-session.sh` efter varje session för att spara erfarenhet.
Kör `dream-sync.sh --deep` för att syntetisera och organisera.
---
Skapat: 2026-04-28
Version: 1.0
+2 -2
View File
@@ -12,9 +12,9 @@ WorkingDirectory=/workspace/second-brain
# For headless: use Xvfb virtual display
Environment="DISPLAY=:99"
# Start Xvfb first, then Obsidian
# Start Xvfb first, then Obsidian with vault path
ExecStartPre=/usr/bin/sh -c "Xvfb :99 -screen 0 1024x768x24 &"
ExecStart=/home/intense/.local/bin/obsidian --no-sandbox
ExecStart=/snap/bin/obsidian /workspace/second-brain --no-sandbox
# Restart policy
Restart=always