6.3 KiB
Executable File
TODO
Infrastructure
cumulonimbus bare-metal cut-over
All clan services are configured. Remaining: wipe Proxmox, install NixOS, import deluge-01 ZFS pool.
rpool issue: 860 QVO caused I/O-stall reboots (detached 2026-07-22). rpool is single-disk on 870 EVO. Need a second healthy TLC/NVMe for a bootable mirror.
- Remove stale Proxmox PBS storage
lenticularis2(pvesm remove lenticularis2) - Revise
machines/cumulonimbus/disko.nixfor single-disk or new-mirror rpool - Install NixOS via clan installer
- Verify
boot.zfs.extraPools = [ "deluge-01" ]imports pool on boot - Retarget pixelfed instance from mist to cumulonimbus
- Full
clan machines update cumulonimbus
Nix binary cache on lenticularis
garnix is shutting down. Stand up lenticularis as a durable binary cache.
- Add lenticularis as
@DavHau/nix-cacheharmonia server nix.settings.post-build-hookon arcus:nix copy --to ssh-ng://lenticularis- Ensure served
/nixstore lives on the NAS array, not boot media
Monitoring & observability
clan-core monitoring (Mimir/Loki/Grafana)
Instance created, pending deploy.
clan machines updatefleet-wide to deploy Alloy clients + cumulonimbus server- Verify Grafana dashboards at
http://cumulonimbus.clouds.eyduh/grafana/ - Add
grafana.clouds.eyduhas a clean mesh DNS alias (pending clan-ingress)
Monitor bot on cirrus
Single omp bot with fleet-wide visibility via Mimir/Loki APIs.
- Create
@eyduh/omp#monitorinstance on cirrus with cloud model - Write MCP tools for PromQL/LogQL queries
- SKILL.md describing all clan machines and their services
omp clanService
Mnemopi / Hindsight
The __omp_worker_mnemopi_embed process runs ONNX on CPU (~97% CPU, 1.1GB). omp has native Hindsight support in /settings.
- Deploy Hindsight on cirrus or cumulonimbus (Postgres + Ollama cloud backend)
- Write
@eyduh/hindsightclanService - Switch omp to Hindsight, verify mnemopi embedder stops spawning
- Test cross-agent memory sharing
clan-rag as MCP
Eliminate corpus role, use clan-rag-mcp as an omp extension.
- Wire
clan-rag-mcpas an extension on the dev bot - Verify RAG queries work from within omp
NPU contention
Multiple containers compete for the NPU. Only matters when running multiple local-inference bots on arcus.
- Investigate: does lemonade HTTP server queue requests or spawn multiple flm processes?
- Only one local-inference consumer at a time (clan-rag gets the NPU, omp uses cloud)
Module improvements
- Auto-suffix instance names for tagged deploys (unique Matrix users per machine)
- Model profile presets (
cloud-ollama,local-npu, etc.) - Machine role SKILL.md auto-generation from
config
Reverse proxy revamp — @eyduh/clan-ingress
Phase A: Mesh ingress (Caddy)
- New
@eyduh/clan-ingressclanService with Caddy on every server/desktop manualProxiesoption for services that don't export virtualHosts- Auto dm-dns entries for clean mesh DNS names
- @clan/pki certs for mesh TLS
Phase B: Per-service visibility + auth
visibility = "public" | "internal" | "both"on exportsauth.groupsauto-generates Caddyforward_auth+ Authelia access rules
Phase C: Public edge migration
- Caddy public edge on cirrus (replaces nginx proxy)
- Port Njalla DDNS logic
- Migrate public virtualHosts from nginx to Caddy
New clanServices
@eyduh/headscale— self-hosted Tailscale control server@eyduh/hindsight— Hindsight agent memory server- mumble — server + client roles
- dashy — dashboard (scope TBD: local, remote, or both)
Existing services to finish
- formbricks — module stubbed, finish and re-enable
- pixelfed — check
secretFilewiring via clan vars - syncthing — replace imperative setup with proper clan module
- hydroxide — write systemd service, promote to clan service
- searx — add
serverrole (clan-wide),clientrole (DNS + browser homepage) - continuwuity — re-enable bootstrap user creation once admin API wrapper is rewritten
- blocky — uncomment in imports, set schedule, point router DNS at mist
- creative-studio — convert to
@eyduh/creative-studioclan service withpotato/beastroles - seerr — API key via clan vars (see inline TODO in arr/default.nix)
- nextcloud — Photos/Memories app config (go-vod/ffmpeg, VAAPI)
Hardware / bugs
arcus brightness bug
nixos-hardware Framework 16 AI 300 profile causes 100% brightness to be dimmer than lower values.
- Check
/sys/class/backlight/for competing backlight devices - Check KDE ambient light sensor setting
- Isolate:
amdgpu.abmlevel=0,amdgpu.sg_display=0, orcros_ecmodules - Write kernel patch for DC PWM expansion curve overflow (see
machines/arcus/power.nix)
Proton Drive shift-click
- Investigate: JS event handling, Firefox update, or Proton Drive change
Jetson Nano 2GB — visual dashboard monitor (future)
Stripped JetPack 4.6 image via defunctzombie/jetson-nano-image-maker. SSIM diff + MobileNetV2 TensorRT classifier. Pulls Grafana screenshots over Tailscale.
- Fork image-maker, add Tailscale + monitoring agent
- Train MobileNetV2 dashboard classifier
- Flash and test
Post-Anthropic model allocation (in ~2 weeks)
| Role | Machine | Provider | Model |
|---|---|---|---|
| dev (main) | arcus | ollama-cloud | kimi-k3:cloud or qwen3-coder:480b-cloud |
| dev (smol) | arcus | ollama-cloud | kimi-k2.7-code:cloud |
| monitor | cirrus | ollama-cloud | kimi-k2.7-code:cloud |
| clan-rag | arcus | lemonade (NPU) | qwen3.6-moe-35b-a3b-FLM |
Open questions
- Ollama cloud model limits — rate limit or hard cap? Does smol + main count as 2 of 3?
- Mnemopi vs Hindsight — does switching in
/settingsauto-disable the embedder? - clan-rag MCP — does
clan-rag-mcpwork directly as an omp extension? - Hindsight + Ollama cloud — does Hindsight's Ollama provider work with remote-model proxying?
- data-mesher — check why failing (noted in old TODO)
- Authelia email — confirm eyduh@adastra.boo, expand groups from keycloak dump