chore: auto-commit uncommitted changes
This commit is contained in:
parent
06eafe3d02
commit
f99a7980da
|
|
@ -93,3 +93,26 @@ Added to HEARTBEAT.md: weekly check for new Spacebot releases, specifically work
|
||||||
- **Next step**: debug normalize on prod with a test run that forces re-normalization; or fix buildLabRefData to fall back to e.SearchKey (which is also set to the LOINC code by normalize)
|
- **Next step**: debug normalize on prod with a test run that forces re-normalization; or fix buildLabRefData to fall back to e.SearchKey (which is also set to the LOINC code by normalize)
|
||||||
- **TODO**: fix this when Johan wakes up
|
- **TODO**: fix this when Johan wakes up
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nightly Maintenance (21:00 ET)
|
||||||
|
|
||||||
|
### OS Updates
|
||||||
|
- `apt upgrade` ran — 2 packages upgraded (details: security/ubuntu noble updates)
|
||||||
|
- Kernel 6.8.0-101 available — **needs reboot** (currently on 6.8.0-100)
|
||||||
|
|
||||||
|
### Claude Code Update
|
||||||
|
- Updated: 2.1.50 → **2.1.53** (system install via `sudo npm install -g`)
|
||||||
|
- Two claude binaries existed: /usr/bin/claude (root, now 2.1.53) and ~/.npm-global/bin/claude (2.1.53)
|
||||||
|
|
||||||
|
### OpenClaw
|
||||||
|
- Already up to date: **2026.2.23** ✅ (no update needed)
|
||||||
|
|
||||||
|
### Session Cleanup
|
||||||
|
- Orphaned .jsonl files removed: **13**
|
||||||
|
- Cron :run: keys removed from sessions.json: **76**
|
||||||
|
- sessions.json keys remaining: 40
|
||||||
|
|
||||||
|
### Working Context
|
||||||
|
- Updated memory/working-context.md with today's session summary
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
||||||
{
|
{
|
||||||
"last_updated": "2026-02-24T23:00:02.174640Z",
|
"last_updated": "2026-02-25T05:00:01.989657Z",
|
||||||
"source": "api",
|
"source": "api",
|
||||||
"session_percent": 10,
|
"session_percent": 5,
|
||||||
"session_resets": "2026-02-25T02:00:00.086768+00:00",
|
"session_resets": "2026-02-25T07:00:00.949030+00:00",
|
||||||
"weekly_percent": 46,
|
"weekly_percent": 47,
|
||||||
"weekly_resets": "2026-02-28T19:00:00.086790+00:00",
|
"weekly_resets": "2026-02-28T18:59:59.949068+00:00",
|
||||||
"sonnet_percent": 54
|
"sonnet_percent": 57
|
||||||
}
|
}
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"lastChecks": {
|
"lastChecks": {
|
||||||
"email": 1771954241,
|
"email": 1771981273,
|
||||||
"calendar": null,
|
"calendar": null,
|
||||||
"weather": 1771942030,
|
"weather": 1771942030,
|
||||||
"briefing": 1771597876,
|
"briefing": 1771597876,
|
||||||
"news": 1771597876,
|
"news": 1771597876,
|
||||||
"claude_usage": 1771889498
|
"claude_usage": 1771981273
|
||||||
},
|
},
|
||||||
"lastBriefing": "2026-02-24T14:07:10.852040+00:00",
|
"lastBriefing": "2026-02-24T14:07:10.852040+00:00",
|
||||||
"lastWeeklyDocker": "2026-02-22T08:33:05.950745+00:00",
|
"lastWeeklyDocker": "2026-02-22T08:33:05.950745+00:00",
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
"lastDocInbox": "2026-02-24T11:30:00.000Z",
|
"lastDocInbox": "2026-02-24T11:30:00.000Z",
|
||||||
"lastTechScan": "2026-02-23T13:02:43.785Z",
|
"lastTechScan": "2026-02-23T13:02:43.785Z",
|
||||||
"lastMemoryReview": "2026-02-24T11:29:00.000000+00:00",
|
"lastMemoryReview": "2026-02-24T11:29:00.000000+00:00",
|
||||||
"lastIntraDayXScan": "2026-02-24T22:03:30.000Z",
|
"lastIntraDayXScan": "2026-02-25T04:00:00.000Z",
|
||||||
"lastInouSuggestion": "2026-02-24T13:02:03.000000+00:00",
|
"lastInouSuggestion": "2026-02-24T13:02:03.000000+00:00",
|
||||||
"lastEmail": 1771948934
|
"lastEmail": 1771948934
|
||||||
}
|
}
|
||||||
|
|
@ -1,20 +1,29 @@
|
||||||
{
|
{
|
||||||
"date": "2026-02-24",
|
"date": "2026-02-24",
|
||||||
"timestamp": "2026-02-24T09:00:01-05:00",
|
"time": "21:00 ET",
|
||||||
"openclaw": {
|
"os_updates": {
|
||||||
"before": "2026.2.23",
|
"status": "success",
|
||||||
"latest": "2026.2.23",
|
"packages_upgraded": 2,
|
||||||
"updated": false
|
"kernel_pending_reboot": {
|
||||||
|
"running": "6.8.0-100-generic",
|
||||||
|
"available": "6.8.0-101-generic",
|
||||||
|
"reboot_needed": true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"claude_code": {
|
"claude_code": {
|
||||||
"before": "2.1.52",
|
"status": "updated",
|
||||||
"latest": "2.1.52",
|
"from": "2.1.50",
|
||||||
|
"to": "2.1.53",
|
||||||
|
"note": "Two binaries: /usr/bin/claude (root) and ~/.npm-global/bin/claude. Both now on 2.1.53."
|
||||||
|
},
|
||||||
|
"openclaw": {
|
||||||
|
"status": "up_to_date",
|
||||||
|
"version": "2026.2.23",
|
||||||
"updated": false
|
"updated": false
|
||||||
},
|
},
|
||||||
"os": {
|
"session_cleanup": {
|
||||||
"available": "0\n0",
|
"orphaned_jsonl_removed": 13,
|
||||||
"updated": false,
|
"cron_run_keys_removed": 76,
|
||||||
"packages": []
|
"sessions_json_keys_remaining": 40
|
||||||
},
|
}
|
||||||
"gateway_restarted": false
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,87 +1,88 @@
|
||||||
# Working Context
|
# Working Context
|
||||||
*Updated: 2026-02-23 21:00 ET (nightly maintenance)*
|
*Updated: 2026-02-24 21:00 ET (nightly maintenance)*
|
||||||
|
|
||||||
## Last Active Session
|
## Last Active Session
|
||||||
Full day session (Feb 23, overnight into afternoon then evening). Johan was on night shift with Sophia early, slept during the day, then worked from ~4 PM until ~7:48 PM ET before going to sleep.
|
Full day session (Feb 24). Johan was on his regular sleep schedule. Primary focus was Spacebot/Andrew debugging and DealRoom feature gaps.
|
||||||
|
|
||||||
## What Was Accomplished Today
|
## What Was Accomplished Today
|
||||||
|
|
||||||
### Infrastructure (Morning/Afternoon)
|
### Spacebot / Andrew (192.168.1.17) — Big Day
|
||||||
- Fixed `immich.jongsma.me`, `james.jongsma.me`, `docsys.jongsma.me` DNS (catch-all remnant)
|
- **Model switched:** Gemini → MiniMax M2.5 (Fireworks) → **Claude Sonnet 4.6 via Anthropic OAuth** (final choice)
|
||||||
- Renamed `docs.jongsma.me` → `docsys.jongsma.me` everywhere
|
- Updated to v0.1.15 — pulled latest Docker image, recreated container
|
||||||
- Added Caddy proxy blocks for `immich.jongsma.me` (ports 443+2283) and `hass.jongsma.me`
|
- Anthropic OAuth credentials stored at `/data/anthropic_oauth.json` inside container
|
||||||
- Removed direct UDM-Pro port forwards for HASS + Immich — Caddy-only now
|
- Fireworks API: `fw_RVcDe4c6mN4utKLsgA7hTm` valid; `fw_TGADpSki7zak4K9JxPzbXU` EXPIRED — avoid
|
||||||
- **fail2ban home Caddy Pi:** 4 jails (immich-auth, caddy-hass, caddy-scanner, sshd)
|
- IDENTITY.md ingested (corrected HA IP, Andrew vs James name)
|
||||||
- **fail2ban Zurich:** 5 jails (stalwart, vaultwarden, caddy-kuma, caddy-scanner, sshd)
|
- **Known broken:** Worker dispatch — channel calls `reply()` and exits. Multi-step agentic tasks silently fail.
|
||||||
- Port scan confirmed: only 80/443 open externally
|
- **Cortex profile regeneration:** Old 200 memories override new IDENTITY.md. Will self-correct over time.
|
||||||
|
- **PR #193 submitted** to https://github.com/spacedriveapp/spacebot:
|
||||||
|
- Settings dialog pre-populates model from active routing config
|
||||||
|
- `get_providers()` counts Anthropic OAuth as "configured"
|
||||||
|
- Reviewer: `jamiepine` (maintainer) — said "very helpful change"
|
||||||
|
- **Rebased** on latest main, used `find(a => a.id === 'main')`, added `useEffect` for config load sync
|
||||||
|
- **Johan's verdict:** "The foundation is a LOT better than OpenClaw." Revisiting Andrew 2026-03-03.
|
||||||
|
|
||||||
### Stalwart TLS Fix (Critical)
|
### GitHub PAT
|
||||||
- Root cause: cert config wiped during night shift Python repair → Stalwart serving self-signed cert
|
`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` — 30-day, repo scope, johanjongsma account. Expires ~2026-03-26.
|
||||||
- Johan + Roos couldn't receive email (iPhone trust dialog refusing)
|
|
||||||
- Fix: certbot + Cloudflare DNS-01 challenge on Zurich → LE cert for mail.jongsma.me + mail.inou.com
|
|
||||||
- Cert valid Feb 23 – May 24 2026, auto-renews via deploy hook at `/etc/letsencrypt/renewal-hooks/deploy/stalwart.sh`
|
|
||||||
- **Key lesson:** Stalwart requires `%{file:/path}%` macro syntax — NOT bare paths — in cert config
|
|
||||||
- Emailed Roos reconnect instructions from james@jongsma.me; Signal'd her too
|
|
||||||
|
|
||||||
### inou Templates
|
### OpenClaw updated to 2026.2.23
|
||||||
- `connect_nl.tmpl` + `connect_ru.tmpl` + `install_public.tmpl`: removed legacy Inou Bridge download links, replaced with web MCP setup
|
- Updated from 2026.2.22-2 during night shift
|
||||||
- Committed: `432c6f8` (nl/ru) + follow-up commit (install_public)
|
- Key: Kilo Gateway provider, compaction overflow recovery, exec hardening, ACP/OTEL secret redaction
|
||||||
|
- **ClawHub malware incident:** #1 most downloaded skill was SSH key stealer + reverse shell. ~20% of marketplace skills malware. We're safe — only built-in + manual skills.
|
||||||
|
- **SkillSMP.com** — 3rd party marketplace trying to fill ClawHub gap. Treat as hostile.
|
||||||
|
- **Scope preservation patch:** No longer needed (dangerouslyDisableDeviceAuth not in config).
|
||||||
|
- **Deleted transcript indexing patch:** Reapplied to `query-expansion-*.js`.
|
||||||
|
|
||||||
### Dealspace (Misha's M&A data room — ~/dev/dealroom, port 9300)
|
### DealRoom — Misha's Feature Gaps (3 open)
|
||||||
- Claude Code (session `vivid-seaslug`) built all 16 feature sections overnight
|
Claude Code ran overnight and implemented most of the spec. After review, 3 gaps identified:
|
||||||
- All committed and live. Features: invite system, file upload/folders, doc comments, search, analytics, buyer-specific requests, contacts, audit log, subscription page, org type, permissions
|
1. **Per-group folder visibility checkboxes** (spec 2.e.i.2) — MISSING
|
||||||
- **Status:** Service live at port 9300 ✅
|
2. **Saved folder structure templates** (spec 2.f.i.2.i) — MISSING
|
||||||
|
3. **Auto-assign review step** (spec 3.b.2) — fires automatically, no user review UI
|
||||||
|
- **TODO:** Spawn agent to fix all 3 when Johan is ready.
|
||||||
|
|
||||||
### Misha Communication Setup
|
### inou Labs — LOINC Bug (OPEN)
|
||||||
- james@jongsma.me IMAP connector live in Message Center
|
- Symptom: "pretty charts not showing in Labs, LOINC matching not working"
|
||||||
- Misha Signal UUID added to allowFrom: `uuid:b91d7e82-0152-4634-82c7-db87d78e9d8f` (+17272381189)
|
- Root cause: `buildLabRefData()` reads `data["loinc"]` but production DB has 0 entries with loinc in JSON
|
||||||
- Intro email sent to misha@muskepo.com from james@jongsma.me
|
- `Normalize()` says "all entries normalized" because `SearchKey2` is set — but `data["loinc"]` was never populated
|
||||||
- **⚠️ MISTAKE:** Emailed tanya@jongsma.me without permission — Johan was clear: keep Tanya out of it. Do NOT contact her again.
|
- Gemini API key IS valid (200 response)
|
||||||
|
- reference.db has 448 lab_test + 1551 lab_reference entries — reference data exists
|
||||||
|
- Entry data is encrypted — can't inspect raw from SQLite
|
||||||
|
- **Fix direction:** Either force re-normalize on prod, OR fix `buildLabRefData()` to fall back to `e.SearchKey` (which IS the LOINC code)
|
||||||
|
- **TODO:** Fix when Johan wakes up.
|
||||||
|
|
||||||
### Spam Filter
|
### Google Antigravity Key — Dead
|
||||||
- Stalwart spam threshold: 8.0 → 5.0
|
- Token expired Feb 19, refresh fails — Google revoked the Antigravity OAuth app
|
||||||
- Added 5 DNSBLs: Mailspike 7.0, PSBL 6.0, UCEProtect L1 5.0, SpamCop 5.0, Barracuda 5.0
|
- **inou is fine** — uses direct Gemini API key, works
|
||||||
- Config git-committed on Zurich
|
- Johan doesn't mind — not a priority
|
||||||
|
|
||||||
### Spacebot (192.168.1.17 — parallel test)
|
|
||||||
- Docker container running with inou Gemini key (`AIzaSyAsSUSCVs3SPXL7ugsbXa-chzcOKKJJrbA`)
|
|
||||||
- Memory ingestion confirmed working (USER.md: 10 memories saved; MEMORY.md: in progress)
|
|
||||||
- Web UI: http://192.168.1.17:19898
|
|
||||||
- Telegram bot: @Andrew_Jongsma_bot (token stored in TOOLS.md)
|
|
||||||
- Still needs: BotFather `/newbot` for proper James-named Spacebot bot
|
|
||||||
|
|
||||||
## Corrections Logged Today
|
|
||||||
1. "Reach out to missus" — I assumed Tanya. It meant Misha. Verify before contacting family.
|
|
||||||
2. Declared "all done" before verifying service was serving — dealroom returned 404. Don't declare done without smoke test.
|
|
||||||
3. Never contact family (especially Tanya) without explicit authorization.
|
|
||||||
4. When Johan shares a tweet about a product → describe the product, not the post. Skip "this is marketing" framing.
|
|
||||||
|
|
||||||
## Pending / Watch
|
## Pending / Watch
|
||||||
- **Misha** — hasn't responded to Signal or email yet (check tomorrow)
|
- **DealRoom gaps** — 3 spec items missing. Spawn agent when Johan ready.
|
||||||
- **Roos** — Signal'd + emailed reconnect instructions for email; verify she got connected
|
- **inou Labs LOINC bug** — fix in `buildLabRefData()` or force re-normalize
|
||||||
- **MyChart/DICOM** — Johan wants to extract Sophia's DICOMs; credentials not yet provided
|
- **Misha (Andrew PR #193)** — awaiting `jamiepine` review/merge
|
||||||
- **Spacebot** — BotFather new bot token still needed from Johan
|
- **Roos** — Emailed + Signal'd reconnect instructions. Verify she reconnected.
|
||||||
- **OpenClaw patches** — two patches must be reapplied after every OC update:
|
- **Spacebot worker dispatch** — broken. DO NOT upgrade Andrew container until worker dispatch fixed (watching PRs). Revisit 2026-03-03.
|
||||||
1. Scope preservation patch
|
- **MyChart/DICOM** — Johan wants to extract Sophia's DICOMs. Credentials not yet provided.
|
||||||
2. Deleted transcript indexing patch
|
|
||||||
(Johan hasn't asked for OC update yet — 2026.2.22-2 already running)
|
|
||||||
- **Config repo SSH push** — Zurich config-backup → git@zurich.inou.com:zurich-config.git (blocked on SSH keys)
|
- **Config repo SSH push** — Zurich config-backup → git@zurich.inou.com:zurich-config.git (blocked on SSH keys)
|
||||||
- **Proton Bridge on 192.168.1.17** — should be decommissioned
|
- **Proton Bridge on 192.168.1.17** — should be decommissioned (old James machine)
|
||||||
|
- **Kernel reboot** — forge running 6.8.0-100-generic, 6.8.0-101 is the expected. Needs reboot at convenient time.
|
||||||
|
|
||||||
## Key Contacts
|
## Key Contacts
|
||||||
- **Misha** = Michael Jongsma (Johan's son) — misha@muskepo.com, Signal +17272381189
|
- **Misha** = Michael Jongsma (Johan's son) — misha@muskepo.com, Signal +17272381189
|
||||||
- **Tanya** = Tatyana (Johan's wife) — tanya@jongsma.me — **DO NOT CONTACT without explicit permission**
|
- **Tanya** = Tatyana (Johan's wife) — tanya@jongsma.me — **DO NOT CONTACT without explicit permission**
|
||||||
- **Roos** = friend/contact — Signal +31646563377 (Johan's acquaintance, re-onboarding email)
|
- **Roos** = Friend/contact — Signal +31646563377
|
||||||
|
|
||||||
## Active Services
|
## Active Services
|
||||||
- Dealspace: `systemctl --user status dealroom` (port 9300)
|
- DealRoom (Misha): `systemctl --user status dealroom` (port 9300) ✅
|
||||||
- Message Center: `systemctl --user status mail-bridge` (port 8025)
|
- Message Center: `systemctl --user status mail-bridge` (port 8025) ✅
|
||||||
- Spacebot: docker on 192.168.1.17:19898
|
- Spacebot (Andrew): docker on 192.168.1.17:19898 ✅
|
||||||
- fail2ban: active on home Caddy Pi + Zurich
|
- fail2ban: active on home Caddy Pi + Zurich ✅
|
||||||
- Stalwart: serving LE cert on port 993
|
- Stalwart: serving LE cert (mail.jongsma.me, valid Feb 23–May 24 2026) ✅
|
||||||
|
- OCR Service: http://192.168.3.138:8090 ✅
|
||||||
|
|
||||||
## Infrastructure Status
|
## Infrastructure Status
|
||||||
- **forge (192.168.1.16):** Production James server, OpenClaw 2026.2.22-2, kernel 6.8.0-101
|
- **forge (192.168.1.16):** Production James server, OpenClaw 2026.2.23, kernel 6.8.0-100 (101 pending reboot)
|
||||||
- **Zurich (82.22.36.202):** 5 fail2ban jails, Stalwart mail, ntfy, Kuma, LE cert active
|
- **Zurich (82.22.36.202):** 5 fail2ban jails, Stalwart mail, ntfy, Kuma, LE cert active
|
||||||
- **Caddy Pi (192.168.0.2):** 4 fail2ban jails, reverse proxy for immich/hass/docsys
|
- **Caddy Pi (192.168.0.2):** 4 fail2ban jails, reverse proxy for immich/hass/docsys
|
||||||
- **Spacebot server (192.168.1.17):** Spacebot test, old James machine
|
- **Spacebot server (192.168.1.17):** Andrew/Spacebot test, old James machine
|
||||||
|
|
||||||
|
## Corrections Logged Today
|
||||||
|
1. When Johan shares a tweet about a product → describe the product, not the post. Skip "this is marketing" framing.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue