chore: auto-commit uncommitted changes
This commit is contained in:
parent
919c0d38ae
commit
9da373956e
12
HEARTBEAT.md
12
HEARTBEAT.md
|
|
@ -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`
|
||||||
|
|
|
||||||
2
TOOLS.md
2
TOOLS.md
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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.
|
|
@ -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
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 385 KiB |
|
|
@ -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\""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue