Compare commits

...
4 Commits
Author SHA1 Message Date
Dominik Schön 5334f8ec07 Auto-sync: 2026-08-17 2026-08-17 22:00:52 +00:00
Dominik Schön 971edfea8e Auto-sync: 2026-08-13 2026-08-13 22:00:16 +00:00
Dominik Schön 222f286adc Auto-sync: 2026-08-12 2026-08-12 22:00:11 +00:00
Dominik Schön c392fc45f0 Auto-sync: 2026-07-31 2026-07-31 22:00:25 +00:00
7 changed files with 61 additions and 16 deletions
+24
View File
@@ -0,0 +1,24 @@
# User Drift Report — 2026-08-17
**Recent window:** Last 14 days (1995 msgs)
**Baseline:** Previous 90 days (2078 msgs)
## Detected Drifts
- **message_length**: Messages 62% longer (baseline: 870 chars → recent: 1408)
- **new_focus**: New dominant topics: galera
- **declining_focus**: Topics fading from focus: ai_ml
## Signal Summary
| Metric | Baseline | Recent |
|---|---|---|
| Avg msg length | 870 | 1408 |
| Frustration rate | 3.5% | 5.9% |
| Correction rate | 7.4% | 8.3% |
| Action-first | 0.8% | 3.8% |
| Top topics | ceph, proxmox, backup | ceph, proxmox, k8s |
## Recommendations
- Consider adding domain knowledge for new focus areas
+11 -2
View File
@@ -1,6 +1,15 @@
# Memory Log
## [2026-07-26] fix | Gitea SSH Push Key + Paperless IngressRoute Hostname
## [2026-08-13] feat | Memory Architecture Enhancement (arxiv 2602.06052v4)
- Implemented 3 new automated memory capabilities from survey paper analysis:
- **Decay & Importance Scoring** (`hindsight_decay_scoring.py`): Monthly cron (1st 03:30). Score = log(1+access)/log(51) × 0.5^(age/90d). Archives score<0.15 with 0 accesses. First run: 200 evaluated, 50 archived.
- **User Drift Detection** (`user_drift_detection.py`): Weekly cron (Mon 04:00). Compares 14d vs 90d baseline for message length, frustration, corrections, topic shifts, style changes. First run: detected 3 drifts (41% longer msgs, new focus gitops, declining ai_ml).
- **Skill Health Check** (`skill_health_check.py`): Weekly cron (Mon 04:30). Scans 187 active SKILL.md files for stubs, broken refs, missing pitfalls, staleness, duplicates. First run: 70 healthy, 117 warnings, 0 critical.
- Cron jobs: 112c106c0954, 280458a2b035, 761b6694d99b (all no_agent, deliver=origin)
- Wiki updated: systems/hindsight.md (meta-memory automation table expanded)
- Hindsight: indexed with tags architecture, memory-system, cron, arxiv-2602.06052
## [2026-08-13] fix | Seafile Recovery + Paperless Upgrade + Authelia Ingress
- **Gitea SSH access**: No SSH key on Hermes VM was authorized for Gitea. HTTP port 3000 has no external IngressRoute. Generated dedicated ED25519 key (`id_ed25519_gitea-hermes-push`), stored in 1Password (ID: lqaebdtewj5xatvpzfrkag73v4), registered in Gitea as key ID 4 for user dominik. SSH via `10.0.30.202:22` (LoadBalancer) is the reliable push path.
- **Paperless v3 IngressRoute**: Host was `dokumente.familie-schoen.com` instead of `dokumente-neu.familie-schoen.com`. Two-track fix: kubectl patch (immediate) + Git commit `fa4184b` (permanent via ArgoCD self-heal). Backtick escaping in Traefik Host() match requires `--patch-file` not inline `--patch`.
- Wiki updated: systems/gitea.md (SSH push key section), reference/ssh-keys.md (new key entry)
@@ -27,7 +36,7 @@
- Velero backups PartiallyFailed for 121 days — all PVCs skipped
- Fix 1: Created VolumeSnapshotClass `ceph-rbd-snapclass` (rbd.csi.ceph.com)
- Fix 2: Migrated ArgoCD repoURLs from dead Gitea (10.0.30.105) to new (ssh://git@10.0.30.202:22)
- Gitea SSH user is `git` not `gitea`; git.schoen.codes → Traefik (10.0.30.203), SSH on 10.0.30.202
- Gitea SSH user is `git` not `gitea`; git.schoen.codes → Traefik (10.0.30.208), SSH on 10.0.30.202
- New SSH deploy key generated, added to Gitea repo
- Fix 3: `features: EnableCSI` must be under `configuration:` in Velero Helm values (not top-level)
- Must be string, not array — array form breaks Helm template
+18 -9
View File
@@ -49,20 +49,29 @@ modified: "2026-07-24"
| IP | Host | Service |
|----|------|---------|
| 10.0.30.99 | CT111 | Immich (n5pro), Migration zu K8s geplant |
| 10.0.30.100 | CT134 | InfluxDB (Migration zu K8s) |
| 10.0.30.100 | ubuntu | Physischer Ubuntu-Node (Ceph OSDs, ZFS pool01_n2_redundant) |
| 10.0.30.105 | — | ~~Gitea~~ DECOMMISSIONED (CT108, stopped) |
| 10.0.30.124 | VM200 | IaC Runner (DHCP), SSH `debian` |
| 10.0.30.141 | CT141 | Monitoring (Prometheus/Grafana) |
| 10.0.30.145 | CT145 | Voice Pipeline (PJSIP :5060) |
## K8s LoadBalancers (10.0.30.2xx)
| IP | Service | Namespace |
|----|---------|-----------|
| 10.0.30.201 | Hindsight API :9177 | hindsight |
| 10.0.30.204 | InfluxDB :8086 | influxdb |
| 10.0.30.205 | Grafana | monitoring |
| 10.0.30.206 | Prometheus :9090 | monitoring |
| 10.0.30.207 | Loki :3100 | logging |
## K8s LoadBalancers (10.0.30.2xx) — Cilium LB IPAM, all pinned
| IP | Service | Namespace | Port |
|----|---------|-----------|------|
| 10.0.30.200 | Gitea SSH | gitea | 22 |
| 10.0.30.201 | Grafana | monitoring | 3000 |
| 10.0.30.202 | Prometheus | monitoring | 9090 |
| 10.0.30.203 | Traefik (K8s Ingress) | kube-system | 80/443 |
| 10.0.30.204 | InfluxDB | influxdb | 8086 |
| 10.0.30.205 | PostgreSQL (CNPG rw LB) | postgres | 5432 |
| 10.0.30.208 | Hindsight API | hindsight | 9177 |
## External CTs (10.0.30.xxx)
| IP | CT/VM | Service | Notes |
|----|-------|---------|-------|
| 10.0.30.99 | CT111 | Seafile v13.0.19 (Docker) | cloud.familie-schoen.com, routed via K8s Traefik IngressRoute |
> All IPs pinned via `io.cilium/lb-ipam-ips` annotation. Pool: 10.0.30.200250.
## DMZ / Reverse Proxies (10.0.60.x)
| IP | Host | Service |
+1 -1
View File
@@ -23,7 +23,7 @@ modified: "2026-07-24"
| 9090 | Prometheus | 10.0.30.206 | LB |
| 9093 | Alertmanager | K8s internal | |
| 9095 | HolmesGPT Adapter | K8s internal | Alertmgr → HolmesGPT |
| 9177 | Hindsight API | 10.0.30.201 | LB, NOT localhost |
| 9177 | Hindsight API | 10.0.30.208 | LB, NOT localhost |
| 9221 | PVE Exporter | 10.0.30.141 | |
| 9283 | Ceph Prometheus | 10.0.20.91 | active mgr |
| 9345 | RKE2 Server URL | 10.0.30.50 | cp-01 |
+5 -2
View File
@@ -10,8 +10,8 @@ modified: "2026-07-24"
## Deployment
- **Namespace:** hindsight (K8s)
- **API:** LoadBalancer `10.0.30.201:9177` (**NICHT localhost**)
- **Health:** `curl -s http://10.0.30.201:9177/health`
- **API:** LoadBalancer `10.0.30.208:9177` (**NICHT localhost**)
- **Health:** `curl -s http://10.0.30.208:9177/health`
- **Backend:** PostgreSQL + pgvector
- **Config:** `~/.hermes/hindsight/config.json` (api_url gesetzt)
@@ -32,6 +32,9 @@ modified: "2026-07-24"
- **retain_every_n_turns: 2** — reduziert Duplikate
- Vor Batch-Retain: Health-Check, dann erst retain calls feuern
- Meta-Memory Cleanup Cron: 1st of Month 03:00 (3 Dedup Rounds, Archive >6 Monate)
- Decay & Importance Scoring: 1st of Month 03:30 (score=access×age_decay, archive score<0.15)
- User Drift Detection: Mondays 04:00 (compare 14d vs 90d baseline)
- Skill Health Check: Mondays 04:30 (scan 187 SKILL.md for issues)
- Nightly Dream Cycle + Weekly Insight Digest
## What NOT to store in Hindsight
+1 -1
View File
@@ -9,7 +9,7 @@ modified: "2026-07-24"
# Proxmox VE Cluster
## Cluster-Konfiguration
- **Version:** PVE 9.2.3
- **Version:** PVE 9.2.10, Kernel 7.0.14-12-pve (upgraded 2026-08-17)
- **Nodes:** 9 (Quorum OK)
- **Hypervisoren:** 10.0.20.x
- **Guests:** ~30 LXC + ~10 QEMU VMs
+1 -1
View File
@@ -31,7 +31,7 @@ modified: "2026-07-24"
## GitOps
- **ArgoCD**: SSH Deploy Keys (read-only) auf Gitea
- 15 Applications via SSH (`ssh://git@10.0.30.202:22/dominik/iac-homelab.git`)
- **Gitea SSH user is `git`, not `gitea`** — `git.schoen.codes` resolves to Traefik (10.0.30.203, HTTP only), SSH is on 10.0.30.202:22
- **Gitea SSH user is `git`, not `gitea`** — `git.schoen.codes` resolves to Traefik (10.0.30.208, HTTP only), SSH is on 10.0.30.202:22
- Workflow: IaC repo auschecken → ändern → commit+push → ArgoCD sync → verify → lokale Kopie löschen
- Siehe [[concepts/gitops-workflow]]