chore: auto-commit uncommitted changes

This commit is contained in:
James 2026-03-01 06:01:28 -05:00
parent 919c0d38ae
commit 9da373956e
7 changed files with 68 additions and 13 deletions

View File

@ -51,7 +51,7 @@ Watch for new Spacebot releases that may fix the worker dispatch issue:
Spawn a subagent to think through ONE concrete suggestion: Spawn a subagent to think through ONE concrete suggestion:
``` ```
sessions_spawn(task="inou daily suggestion: review memory/inou-context.md and recent inou work, then propose ONE specific thing Johan could do today to move inou forward (building/product focus only, not marketing). Post to dashboard news and send Signal. Keep it to 2-3 sentences max.", label="inou-nudge") sessions_spawn(task="inou daily suggestion: review memory/inou-context.md and recent inou work, then propose ONE specific thing Johan could do today to move inou forward (building/product focus only, not marketing). Post to dashboard news and send Telegram. Keep it to 2-3 sentences max.", label="inou-nudge")
``` ```
**Good suggestions:** a feature gap to close, a bug to fix, a UX improvement, an integration to build, a technical decision to make, a missing data source to add, a doctor/specialist workflow to improve. **Good suggestions:** a feature gap to close, a bug to fix, a UX improvement, an integration to build, a technical decision to make, a missing data source to add, a doctor/specialist workflow to improve.
@ -78,7 +78,7 @@ Florida = "every day is the same." Don't report normal weather.
### Briefings Dashboard (ALWAYS!) ### Briefings Dashboard (ALWAYS!)
After generating any briefing (morning, afternoon, or ad-hoc): After generating any briefing (morning, afternoon, or ad-hoc):
1. **POST to dashboard:** `curl -X POST http://localhost:9200/api/briefings -H 'Content-Type: application/json' -d '{"title":"...","date":"YYYY-MM-DD","weather":"...","markets":"...","news":"...","tasks":"...","summary":"..."}'` 1. **POST to dashboard:** `curl -X POST http://localhost:9200/api/briefings -H 'Content-Type: application/json' -d '{"title":"...","date":"YYYY-MM-DD","weather":"...","markets":"...","news":"...","tasks":"...","summary":"..."}'`
2. **Include link in Signal message:** http://100.123.216.65:9200 2. **Include link in Telegram message:** http://100.123.216.65:9200
3. **Verify it worked:** `curl -s http://localhost:9200/api/briefings | jq '.briefings | length'` 3. **Verify it worked:** `curl -s http://localhost:9200/api/briefings | jq '.briefings | length'`
This is NON-NEGOTIABLE. Johan expects briefings on the dashboard. This is NON-NEGOTIABLE. Johan expects briefings on the dashboard.
@ -189,7 +189,7 @@ curl -X POST http://localhost:9200/api/news -H 'Content-Type: application/json'
-d '{"title":"...","body":"...","type":"info|success|warning|error","source":"..."}' -d '{"title":"...","body":"...","type":"info|success|warning|error","source":"..."}'
``` ```
Only ping Johan on Signal if truly urgent (big position moves, breaking news). Only ping Johan on Telegram if truly urgent (big position moves, breaking news).
Update `memory/heartbeat-state.json` with `lastTechScan` timestamp after running. Update `memory/heartbeat-state.json` with `lastTechScan` timestamp after running.
**Johan's Open Positions:** **Johan's Open Positions:**
@ -380,14 +380,14 @@ Week runs Thu 10PM → Thu 10PM ET (Anthropic changed reset window — previousl
**Alert rules — read carefully:** **Alert rules — read carefully:**
- **Pace ≤ 100%:** NOT an alert. Tracking correctly. Mention in briefing, nothing more. - **Pace ≤ 100%:** NOT an alert. Tracking correctly. Mention in briefing, nothing more.
- **Pace > 100% (burning faster than week allows):** Signal Johan. No Fully tablet. - **Pace > 100% (burning faster than week allows):** Send ntfy alert (forge-alerts). No Fully tablet.
- **Sudden jump ≥ 4% in ≤ 4h:** Signal Johan immediately. No Fully tablet. - **Sudden jump ≥ 4% in ≤ 4h:** Send ntfy alert immediately (forge-alerts). No Fully tablet.
- **NEVER post Claude usage to the Fully tablet (port 9202).** It's not urgent enough for that surface. - **NEVER post Claude usage to the Fully tablet (port 9202).** It's not urgent enough for that surface.
**The James dashboard (port 9200) status bar** shows current usage — that's enough passive visibility. **The James dashboard (port 9200) status bar** shows current usage — that's enough passive visibility.
**If fetch fails (Cloudflare challenge = expired cookies):** **If fetch fails (Cloudflare challenge = expired cookies):**
- **ALERT JOHAN IMMEDIATELY via Signal** — don't go silent! - **ALERT JOHAN IMMEDIATELY via ntfy (forge-alerts)** — don't go silent!
- Message: "⚠️ Claude usage fetch failed - cookies expired. Need fresh cookies from Chrome." - Message: "⚠️ Claude usage fetch failed - cookies expired. Need fresh cookies from Chrome."
- Instructions: F12 → Application → Cookies → claude.ai → copy sessionKey + cf_clearance - Instructions: F12 → Application → Cookies → claude.ai → copy sessionKey + cf_clearance
- Update `config/claude-cookies.json` - Update `config/claude-cookies.json`

View File

@ -129,7 +129,7 @@ Things like:
- **Public IP:** 47.197.93.62 (not static, but rarely changes) - **Public IP:** 47.197.93.62 (not static, but rarely changes)
- **Location:** St. Petersburg, Florida - **Location:** St. Petersburg, Florida
- **Caddy (reverse proxy):** 192.168.0.2 / Tailscale: 100.84.42.55 (caddy) - **Caddy (reverse proxy):** 192.168.0.2 / Tailscale: 100.84.42.55 (caddy)
- SSH: `tailscale ssh root@caddy` or `ssh root@caddy` (key installed) - SSH: `ssh root@192.168.0.2` (direct LAN, key installed) — do NOT use Tailscale (requires re-auth)
- Config: `/etc/caddy/Caddyfile` - Config: `/etc/caddy/Caddyfile`
### James Server (Hetzner) ### James Server (Hetzner)

View File

@ -117,3 +117,32 @@ tw.config.js custom colors: accent=#22C55E, navy=#0A1628, navy-light=#111f38
- Host: mail.inou.com, Port: 465 (implicit TLS — 587 is OAuth2 only) - Host: mail.inou.com, Port: 465 (implicit TLS — 587 is OAuth2 only)
- User: noreply, Pass: InouNoreply2026! - User: noreply, Pass: InouNoreply2026!
---
## 05:20 ET — vault1984 /hosted page polish session
### Changes made (commits 6ad6fca, c3695cd, and ongoing)
- **Geo detection fixed:** `/geo?lat=X&lon=Y` now reverse-geocodes via Nominatim OSM (free, no key). LAN visitors get real city/country via browser geolocation.
- **Nav:** vault1984 left-aligned (`w-full px-8`, no `max-w-7xl` centering on nav bar). Hosted link → gold `#D4AF37` with pulsing dot animation.
- **Zürich card bg:** `#1a1600``#3d2e00` (visibly amber/golden)
- **"You" card:** city / country / region on separate lines (was jammed as "Saint Petersburg, United States")
- **Flexbox cards:** already fixed (5 cards in one row via flex:1 min-width:0)
- **Sources page:** `/sources` live at vault1984.com/sources — all complaint quotes with verbatim text + URLs (1Password forum, Bitwarden GitHub/Community, LastPass HN)
- **Viewport fix (spawned Opus):** Two root problems at 1200px viewport — nav items crowded + cards cut off below fold. Opus tasked to: shrink nav (text-2xl, gap-4, drop '— $12/yr'), remove security model box (~200px saved), cap SVG map at max-height:380px. Target section height ~639px, fits in 1136px (1200 - 64px nav).
### Key file locations
- `/home/johan/dev/vault1984/cmd/vault1984/website/hosted.html` — main hosted page
- `/home/johan/dev/vault1984/cmd/vault1984/website/sources.html` — new sources page
- `/home/johan/dev/vault1984/api/routes.go` — added `/sources` route
- `/home/johan/dev/vault1984/api/handlers.go` — GeoLookup with Nominatim lat/lon path
### Running state
- Binary: `/home/johan/dev/vault1984/vault1984`
- Live: `http://localhost:1984` and `https://vault1984.com`
- Opus agent session: `clear-summit` (pid 2981583) — fixing viewport
### Johan feedback patterns this session
- "the viewport is getting worse" → screenshots showed wrong Chrome tab; actual issue was 200+px of wasted margins + unconstrained SVG map height
- Wants evidence before "done" — always take screenshot after changes
- Card layout: each DC gets name + flag + subtitle + live dot, "You" card gets city/country/region split

Binary file not shown.

View File

@ -1,9 +1,9 @@
{ {
"last_updated": "2026-03-01T05:00:02.046165Z", "last_updated": "2026-03-01T11:00:02.177637Z",
"source": "api", "source": "api",
"session_percent": 0, "session_percent": 5,
"session_resets": null, "session_resets": "2026-03-01T15:00:00.133133+00:00",
"weekly_percent": 38, "weekly_percent": 52,
"weekly_resets": "2026-03-06T03:00:00.008306+00:00", "weekly_resets": "2026-03-06T03:00:00.133152+00:00",
"sonnet_percent": 31 "sonnet_percent": 52
} }

BIN
memory/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 KiB

View File

@ -172,3 +172,29 @@ fi
echo "" echo ""
echo "=== Update complete. Log: $LOG ===" echo "=== Update complete. Log: $LOG ==="
# --- Caddy Pi (192.168.0.2) ---
echo ""
echo "--- Caddy Pi ---"
CADDY_RESULT=$(ssh -o ConnectTimeout=10 -o BatchMode=yes root@192.168.0.2 "
apt-get update -qq 2>/dev/null
UPGRADABLE=\$(apt list --upgradable 2>/dev/null | grep -v Listing | wc -l)
if [ \"\$UPGRADABLE\" -gt 0 ]; then
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -qq 2>&1 | tail -3
echo \"upgraded:\$UPGRADABLE\"
else
echo \"upgraded:0\"
fi
# Commit and push any Caddyfile changes
cd /etc/caddy
if ! git diff --quiet HEAD Caddyfile 2>/dev/null; then
git add Caddyfile && git commit -m \"auto: Caddyfile update \$(date +%Y-%m-%d)\" && git push
echo 'caddyfile:committed'
else
echo 'caddyfile:unchanged'
fi
# Reboot if needed
[ -f /var/run/reboot-required ] && echo 'reboot:required' || echo 'reboot:no'
" 2>/dev/null || echo "ssh:failed")
echo "Caddy Pi: $CADDY_RESULT"
update_json "caddy_pi.result" "\"$CADDY_RESULT\""