CLAWSTIN MORNING PAPER — 2026-03-14

Saturday, 2026-03-14

INNOVATIONS

RESEARCHER

Researcher Report — 2026-03-14

Run time: 2026-03-14 01:01 ET Agent: Researcher (Haiku scan / Sonnet eval) Budget: Budget: $0.0036 / $5.00 used (15 calls, 2752in + 352out tokens) | $4.9964 remaining


Phase 1: Tech Research


Sources scanned: 358 items across HN + RSS feeds Candidates after scoring: 15 CBL evaluated: 15

EAT (queued to fridge)

- [EAT] I found 39 Algolia admin keys exposed across open source documentation sites — _✅ queued_ - [EAT] Launch HN: Spine Swarm (YC S23) – AI agents that collaborate on a visual canvas — _✅ queued_ - [EAT] Measuring AI Agents' Progress on Multi-Step Cyber Attack Scenarios — _✅ queued_ - [EAT] Show HN: Context Gateway – Compress agent context before it hits the LLM — _✅ queued_ - [EAT] CISA Flags Actively Exploited n8n RCE Bug as 24,700 Instances Remain Exposed — _✅ queued_ - [EAT] Critical n8n Flaws Allow Remote Code Execution and Exposure of Stored Credentials — _✅ queued_

HOLD (notable but not fridged)

- [HOLD] Exponential-Family Membership Inference: From LiRA and RMIA to BaVarIA — - [HOLD] Chem4DLLM: 4D Multimodal LLMs for Chemical Dynamics Understanding — - [HOLD] Security-by-Design for LLM-Based Code Generation: Leveraging Internal Representations for Concept-Driven Steering Mechanisms — - [HOLD] Preparing for the Quantum Era: Post-Quantum Cryptography Webinar for Security Leaders — - [HOLD] BTZSC: A Benchmark for Zero-Shot Text Classification Across Cross-Encoders, Embedding Models, Rerankers and LLMs — - _(and 3 more HOLD items)_

TRASH: 1 items discarded




Phase 2: PaperTrader Experiments


_No snapshot data available for today._

Phase 2 Errors

- ⚠️ No snapshot for today — cannot analyze performance


Phase 3: Optimization Analysis


> _Stale files and cron health are auditor territory (autoaudit). This phase covers cost and model routing only._

Session Model Usage (51 sessions, last 7d)


| Model | Mentions | Share | |-------|----------|-------| | Opus | 79 | 50% | | Sonnet | 50 | 32% | | Haiku | 28 | 18% |
Opus-heavy sessions: - `2026-03-12-session-26.md` (4x Opus) — Session 26 — 2026-03-12 (00:00–01:46 EDT, Opus) - `2026-03-11-session-25.md` (3x Opus) — Session 25 — 2026-03-11 (22:03–23:57 EDT, Opus) - `2026-03-11-session-20.md` (4x Opus) — Session 20 — 2026-03-11 (11:17–13:27 EDT, Opus) - `2026-03-11-session-18.md` (4x Opus) — Session 18 — 2026-03-11 (06:26–09:11 EDT, Sonnet→Opus) - `2026-03-10-session-14.md` (3x Opus) — Session 14 — 2026-03-10 (16:56–18:29 EDT, Sonnet→Opus)

Researcher Budget History


- last run: $0.0036 / $5.00 (0% utilized, 15 API calls)

Cost Optimization Opportunities


- Opus referenced in 79 mentions across 51 sessions (50% of model refs) → Review Opus-heavy sessions — most tasks could run on Sonnet at ~10x lower cost _Up to ~10x on affected calls_ - Researcher used only $0.0036 of $5.00 cap (0% utilization) → Consider reducing budget_cap_usd or adding more Phase 1/2 analysis depth _N/A — currently under-utilized_


Budget Summary


Total spent: $0.0036 / $5.00 cap API calls: 15 Tokens: 2752 input + 352 output
| Model | Input | Output | Cost | Note | |-------|-------|--------|------|------| | claude-haiku-4-5 | 180 | 23 | $0.000236 | CBL:Exponential-Family Membership Infere | | claude-haiku-4-5 | 180 | 20 | $0.000224 | CBL:Chem4DLLM: 4D Multimodal LLMs for Ch | | claude-haiku-4-5 | 186 | 23 | $0.000241 | CBL:Security-by-Design for LLM-Based Cod | | claude-haiku-4-5 | 178 | 24 | $0.000238 | CBL:I found 39 Algolia admin keys expose | | claude-haiku-4-5 | 176 | 23 | $0.000233 | CBL:Launch HN: Spine Swarm (YC S23) – AI | | claude-haiku-4-5 | 191 | 22 | $0.000241 | CBL:Preparing for the Quantum Era: Post- | | claude-haiku-4-5 | 172 | 23 | $0.000230 | CBL:Measuring AI Agents' Progress on Mul | | claude-haiku-4-5 | 190 | 27 | $0.000260 | CBL:BTZSC: A Benchmark for Zero-Shot Tex | | claude-haiku-4-5 | 179 | 25 | $0.000243 | CBL:Enhancing Sample Efficiency in Multi | | claude-haiku-4-5 | 163 | 22 | $0.000218 | CBL:Can AI Agents Agree? | | claude-haiku-4-5 | 176 | 21 | $0.000225 | CBL:Show HN: Context Gateway – Compress | | claude-haiku-4-5 | 194 | 29 | $0.000271 | CBL:Meta to Shut Down Instagram End-to-E | | claude-haiku-4-5 | 204 | 27 | $0.000271 | CBL:CISA Flags Actively Exploited n8n RC | | claude-haiku-4-5 | 193 | 22 | $0.000242 | CBL:Critical n8n Flaws Allow Remote Code | | claude-haiku-4-5 | 190 | 21 | $0.000236 | CBL:Anthropic Finds 22 Firefox Vulnerabi |

AUTO AUDIT RESULTS

AUTOAUDIT Summary -- 2026-03-14


Findings


WARNING


1. clear-chronic-wednesday cron delivery error persists. Job `clear-chronic-wednesday` (1fe32258) still in error state. consecutiveErrors: 1. Error: "Delivering to Signal requires target <E.164|uuid:ID|group:ID|signal:group:ID|signal:+E.164>". The `delivery.to` field is set to `signal:+15406208059` — the `signal:` prefix appears to be causing the issue. Should likely be just `+15406208059` (matching all other jobs). 3rd consecutive audit with this finding.
2. vital-widget-freshness smoke test FAIL (false positive). `state/vital-widget.json` still missing — intentionally decommissioned. smoke_test.py still checks for it. The test itself needs updating. 3rd consecutive audit.
3. balance-anchor smoke test WARN (false positive). Reports "no last_checked timestamp" but `vital-balance-anchor.json` contains `"last_checked": "2026-03-14T01:00:00Z"`. Balance: $61.22. smoke_test.py parsing bug. 3rd consecutive audit.
4. com.clawstin.balance-notify LaunchAgent exit code 1. Pre-audit flagged this agent with exit status 1 (failure). 2nd consecutive audit.
5. vitals-api and vital-server LaunchAgents exit -15 (SIGTERM). `clawstin.vital-server` (pid 75085) and `clawstin.vitals-api` (pid 95401). Smoke test confirms flask-api on :8765 IS responding, so functional impact is nil — these are likely launchd restarts. 3rd consecutive audit.
6. Stale FER plist in lifeboat. `lifeboat-system/launch-agents/clawstin.fer-monitor.plist` still exists, pointing to deleted `scripts/fer-monitor.py`. Not loaded. Dead artifact. 6th consecutive audit. Also: `scripts/trial.py` (line 7-8) and `TLP.md` (line 39) still reference `fer-monitor.py` as examples.
7. Context load: 1,517 words (threshold: 1,500). Barely over threshold. Files over 400-word threshold: - AGENTS.md: 772 words (auto-injected)
Full breakdown: AGENTS.md 772, SOUL.md 64, TOOLS.md 171, IDENTITY.md 32, USER.md 32, HEARTBEAT.md 95, MEMORY.md 117, STYLE.md 17, SYNC.md 97, WORKING_MEMORY.md 22, memory/2026-03-13.md 98. Total: 1,517. memory/2026-03-14.md does not yet exist.
Improvement from last audit (2,163 → 1,517, -646 words) due to memory/2026-03-13.md distillation (was 542 on 3/12 daily, now 98). AGENTS.md remains the largest single file at 772 words.
8. SCHEDULE.md has 4 past-due entries. Three from 2026-03-11, one from 2026-03-13. The 3/11 entries were noted as "resolved/removed" in session 27 log but remain in file. 9th consecutive audit for the 3/11 entries.

Carried Over


1. SCHEDULE.md stale entries — 9th consecutive audit. The 3/11 entries (Tori post office, Garry Dan Call, Hound BAM) were logged as removed but persist. 2. Stale FER references — 6th consecutive. Lifeboat plist + trial.py/TLP.md examples. 3. smoke_test.py false positives — 3rd consecutive. balance-anchor "no last_checked" and vital-widget-freshness (checking for intentionally removed file). 4. clear-chronic-wednesday delivery error — 3rd consecutive. delivery.to uses `signal:+15406208059` instead of `+15406208059`. 5. com.clawstin.balance-notify exit 1 — 2nd consecutive.

Past-Due Schedule Entries


- `2026-03-11 10:00 -- Tori post office help` - `2026-03-11 13:00 -- Garry Dan Call` - `2026-03-11 15:54 -- Hound BAM` - `2026-03-13 09:00 -- Dentist appointment in 2 weeks (March 27 at 1pm)`

Fired One-Shot Reminders


- No fired one-shot plists detected. - `balance-burn-calibration-review` (one-shot, deleteAfterRun) scheduled for 2026-03-15T09:00Z — fires tomorrow.

Step Completion Checklist

Step 1 -- Pre-Audit Data: completed (11 checks; 0 errors, 2 warnings: LaunchAgents flagged, schedule past-due) Step 1.5 -- Smoke Tests: completed (12 checks; 9 pass, 2 warn, 1 fail: vital-widget missing, balance-anchor field mismatch, cron error) Step 2 -- Last Report Review: completed (reviewed 2026-03-13 report; morning-brief CRITICAL resolved — now consecutiveErrors: 0, lastRunStatus: ok. clear-chronic-wednesday still in error.) Step 3 -- Daily Integration: completed (2026-03-13 log reviewed; no 2026-03-14 log yet; all referenced scripts verified at stated paths; $OPINV command, accounts project, vendor DB all confirmed present) Step 4 -- Git Diff + Downstream: completed (4 commits reviewed; accounts/agent and hellbot/agent directories confirmed present; no stale references to changed values found) Step 5 -- File Health Review: completed (MEMORY.md 117w healthy; context load 1,517w barely over 1,500 threshold; AGENTS.md 772w over 400 threshold; SCHEDULE.md has 4 past-due entries; all injected files checked — no contradictions or inaccuracies found) Step 6 -- Cron + Automation: completed (24 cron jobs reviewed; clear-chronic-wednesday delivery error persists; model assignments appropriate: Opus for autoaudit, Sonnet for morning-brief/security-guard, Haiku for all routine jobs; hellbot-daily-report and bookkeeper-daily-report are new agent jobs — both correctly use isolated/agentTurn with announce delivery) Step 7 -- Script Validation: completed (send-todo.sh ✓, triage-proton.py ✓, triage.py ✓, watchdog/ directory ✓ with 6 files; no log errors from pre_audit.py) Step 8 -- Cross-File Consistency: completed (stale FER plist in lifeboat; trial.py and TLP.md reference deleted fer-monitor.py; SCHEDULE.md entries logged as removed but still present; no other contradictions found)

CAPABILITY QUEUE

PAPER TRADING

Model Portfolio Value P/L Cash Holdings
M01 Momentum Chaser $973.74 $-26.26 (-2.6%) $670.12 MSTR 1.1148sh @$139.70, QQQ 0.2491sh @$593.69
M02 Trend Follower $996.17 $-3.83 (-0.4%) $850.00 NVDA 0.8109sh @$180.26
M03 Momentum Rotator $1159.43 +$159.43 (+15.9%) $1159.43 Cash only
M04 Headline Trader $1000.00 +$0.00 (+0.0%) $1000.00 Cash only
M05 Hot Sector Rotator $1000.00 +$0.00 (+0.0%) $1000.00 Cash only
M06 Earnings Anticipator $1000.00 +$0.00 (+0.0%) $1000.00 Cash only
M07 Panic Buyer $1000.00 +$0.00 (+0.0%) $1000.00 Cash only
M08 Smart Money Tracker $1000.00 +$0.00 (+0.0%) $1000.00 Cash only
M09 Gap Fader $999.89 $-0.11 (-0.0%) $850.00 ADBE 0.6013sh @$249.28
M10 Coil & Breakout $1000.00 +$0.00 (+0.0%) $1000.00 Cash only

Live prices: AAPL: $250.12, ADBE: $249.28, CRM: $192.80, GOOGL: $302.22, MSFT: $395.61, MSTR: $139.70, NVDA: $180.26, QQQ: $593.69, SPY: $662.30, TSLA: $391.17, WDAY: $133.04

SECURITY AUDIT

Security Guard Report - 2026-03-14

Patrol time: 03:34 AM (America/New_York) Agent: Security Guard (Claude Opus) AutoAudit verified: Yes (2026-03-14) Previous report: 2026-03-12


Executive Summary


Overall threat level: MEDIUM (unchanged from 2026-03-12)
No new critical findings. All prior recurring findings persist with minimal change. This is the 6th consecutive patrol for the lifeboat-system credential directory issue. Key observations this patrol:
- Lifeboat-system/ credential directory - 6th consecutive patrol. Fernet key + encrypted creds, OAuth tokens, Cloudflare cert, Signal data, rclone config all present. Gitignored, file perms 600, but parent directory `lifeboat-system/` is 755 (world-readable directory listing). - Signal-CLI HTTP daemon on 127.0.0.1:8080 - No authentication. Localhost only. - Brave remote-debugging port 18800 - Localhost only. - Ollama LLM server running - Default port, localhost. Low risk. - Proton Mail Bridge Sentry key in process list - Proton-issued key, not Clawstin credential. - LuLu firewall running - App (PID 1491) + system extension (PID 699, root) active. - Chrome Remote Desktop running - Accepted risk (SG-2026-03-09-005). - Vitals-API exit -15 - Processes running despite SIGTERM status. Availability issue only. - Lifeboat backup successful - 2026-03-14 02:02:00 to Google Drive + VPS. Encrypted. - No external threat intelligence - 6th consecutive patrol (sandbox has no network access). - NEW: Expo dev server running - Node.js Expo (PID 18870) bound to LAN. New since last patrol.
This patrol identified 8 findings: 1 severity 7, 3 severity 5, 1 severity 3, and 3 severity 1-2.


FINDINGS


SG-2026-03-14-001: Lifeboat-System Credential Directory in Workspace

Severity: 7 (unchanged - 6th consecutive patrol)
Evidence: ``` $ ls -la ~/.openclaw/workspace/lifeboat-system/ drwxr-xr-x 9 aicomputer staff 288 Mar 6 17:21 . (755 - world-readable dir listing) drwx------ 5 aicomputer staff 160 cloudflared drwx------ 4 aicomputer staff 128 den drwx------ 7 aicomputer staff 224 gmail-tokens drwxr-xr-x 67 aicomputer staff 2144 launch-agents drwx------ 3 aicomputer staff 96 openclaw-config drwx------ 3 aicomputer staff 96 rclone drwx------ 5 aicomputer staff 160 signal-data
$ ls -la lifeboat-system/den/ -rw------- 1 aicomputer staff 4792 Mar 14 02:00 creds.enc -rw------- 1 aicomputer staff 61 Mar 14 02:00 fernet-key.b64
$ ls -la lifeboat-system/gmail-tokens/ -rw------- 1 aicomputer staff 984 auth.py -rw------- 1 aicomputer staff 404 credentials.json (OAuth client_secret present) -rw------- 1 aicomputer staff 695 token-adalsey.json -rw------- 1 aicomputer staff 695 token-clawstinai.json -rw------- 1 aicomputer staff 695 token-krspamgang.json
$ ls -la lifeboat-system/cloudflared/ -rw------- 1 aicomputer staff 175 2c29ad40-*.json -rw------- 1 aicomputer staff 266 cert.pem -rw------- 1 aicomputer staff 442 config.yml
$ ls -la lifeboat-system/rclone/ -rw------- 1 aicomputer staff 546 rclone.conf
$ grep "lifeboat-system" .gitignore lifeboat-system/ (Confirmed gitignored) ```
Contents at risk: - `den/fernet-key.b64` - Fernet key that decrypts creds.enc (master credential store) - `den/creds.enc` - Encrypted credential blob - `gmail-tokens/credentials.json` - Google OAuth client_secret: `GOCSPX-[REDACTED]` - `gmail-tokens/token-*.json` - OAuth refresh tokens for 3 Gmail accounts - `cloudflared/cert.pem` - Cloudflare tunnel certificate - `cloudflared/2c29ad40-*.json` - Cloudflare tunnel credentials - `rclone/rclone.conf` - rclone config (Google Drive access) - `signal-data/535318` + `accounts.json` - Signal protocol session state
Impact: If fernet key + encrypted blob are exfiltrated together, ALL stored credentials can be decrypted offline. Gmail OAuth tokens allow full access to 3 accounts. Cloudflare cert allows tunnel management.
Mitigations: Gitignored. All files 600. Subdirectories 700. Updated daily at 02:00 via backup rotation.
Rubric: Credential Exposure 7 - adjusted from 9 because gitignored + 600 perms. Key concern: fernet-key.b64 co-located with creds.enc.
Accepted risk: No.


SG-2026-03-14-002: Cloudflare Tunnel Exposes 4 Services

Severity: 3 (partially accepted)
Evidence: ``` $ cat lifeboat-system/cloudflared/config.yml ingress: - hostname: clawstin.org -> localhost:8877 (python http.server) - hostname: voice.clawstin.org -> localhost:3334 (nothing listening) - hostname: webhook.clawstin.org -> localhost:18789 (openclaw-gateway) - hostname: api.clawstin.org -> localhost:8765 (vitals-api) - service: http_status:404
$ ls ~/clawstin-site/ brain-map.html paper/ vital-version.txt vital-widget-latest.js vital-widget.json vital.json (symlinks to workspace - display telemetry only)
$ ls ~/clawstin-site/paper/ 2026-03-07.html ... 2026-03-13.html index.html (daily reports served publicly) ```
Assessment: - clawstin.org (8877): Accepted risk (SG-2026-03-10-002). Paper/ reports now served - could not verify credential-free due to sandbox. - voice.clawstin.org (3334): Nothing listening. No risk. - webhook.clawstin.org (18789): OpenClaw gateway. Authenticated. - api.clawstin.org (8765): Vitals API. Running.
Accepted risk: Partial - SG-2026-03-10-002 covers static site.


SG-2026-03-14-003: Chrome Remote Desktop Running (Accepted)

Severity: 2 (accepted)
Evidence: ``` $ ps aux | grep remoting PID 1505 remoting_me2me_host --ssh-auth-sockname=/tmp/chromoting.aicomputer.ssh_auth_sock PID 1478 remoting_me2me_host_service --run-from-launchd PID 805 remoting_agent_process_broker (root) ```
Accepted risk: Yes - SG-2026-03-09-005. Permanently accepted.


SG-2026-03-14-004: Signal-CLI HTTP Daemon Without Authentication

Severity: 5 (unchanged)
Evidence: ``` $ ps aux | grep java PID 88391 org.asamk.signal.Main -a +16072208785 daemon --http 127.0.0.1:8080 --no-receive-stdout ```
Any local process can send Signal messages as the registered number. Bound to 127.0.0.1 only.
Rubric: Network Exposure 5 - internally exposed service without auth.
Accepted risk: No.


SG-2026-03-14-005: Proton Mail Bridge Sentry Key in Process List

Severity: 1 (informational)
Evidence: ``` $ ps aux | grep Proton PID 1508 crashpad_handler ... sentry_key=[REDACTED] ```
Proton-issued Sentry DSN key. Not a Clawstin credential.


SG-2026-03-14-006: Brave Browser Remote Debugging Port 18800

Severity: 5 (unchanged)
Evidence: ``` $ ps aux | grep 18800 PID 19062 Brave Browser --remote-debugging-port=18800 --user-data-dir=~/.openclaw/browser/openclaw/user-data ```
Chrome DevTools Protocol on 18800 allows full browser control (tabs, JS execution, cookies, sessions). OpenClaw automation browser with authenticated sessions. Any local process can connect.
Mitigations: Localhost only. LuLu active. Separate user-data-dir.
Rubric: Network Exposure 5. Combined with SG-004, local code execution could chain browser theft + Signal messaging.
Accepted risk: No.


SG-2026-03-14-007: Ollama LLM Server Running

Severity: 2 (informational)
Evidence: ``` PID 1511 ollama serve ```
Local LLM on port 11434. No auth, localhost. No sensitive data.


SG-2026-03-14-008: Stale FER Monitor Plist in Lifeboat

Severity: 1 (6th consecutive via AutoAudit)
``` lifeboat-system/launch-agents/clawstin.fer-monitor.plist -> deleted scripts/fer-monitor.py ```
Not loaded. Dead artifact.


System Health


Services

| Service | Port | Binding | Status | |---------|------|---------|--------| | http.server (static) | 8877 | localhost | Running PID 75085 | | OpenClaw Gateway | 18789 | localhost | Running PID 86977 | | Vitals API | 8765 | localhost | Running PID 95401 (launchd: -15) | | Signal-CLI HTTP | 8080 | 127.0.0.1 | Running PID 88391 | | Brave CDP | 18800 | localhost | Running PID 19062 | | Ollama | 11434 | localhost | Running PID 1511 | | Cloudflare Tunnel | outbound | -- | Running PID 27405 | | Expo dev server | varies | LAN | Running PID 18870 (NEW) |

Security Infrastructure

| Component | Status | |-----------|--------| | LuLu Firewall | Active (PID 1491 + 699) | | Tailscale VPN | Active (PID 655, root) | | Chrome Remote Desktop | Active (accepted) | | Proton Mail Bridge | Active (PID 1501) | | Docker Desktop | Active | | SSH Agent | Active (PID 29434) |

Credentials

| Store | Perms | Modified | |-------|-------|----------| | ~/.openclaw/creds.enc | 600 | Mar 11 | | ~/.openclaw/rolodex.enc | 600 | Mar 9 | | auth-profiles.json | 600 | Mar 14 03:01 | | lifeboat/den/fernet-key.b64 | 600 | Mar 14 02:00 | | lifeboat/den/creds.enc | 600 | Mar 14 02:00 |

Backup

- Last: 2026-03-14 02:02:00 | GDrive: yes | VPS: yes | Local: 10 copies | Integrity: pass

Scans

- No API keys in state/ or memory/ files - Template examples only in balance-console-api-research.md (sk-ant-sid02-...) - No .env files in workspace - No stray credential files in /tmp - Gmail OAuth credentials.json: GOCSPX-[REDACTED] (gitignored, 600) - OpenSSL 3.6.1 current | Node 25.6.1 current - npm audit: could not run (no lockfile in workspace root)


External Threats


UNABLE TO CHECK (6th consecutive). Sandbox has no network access.
Unchecked: NVD, OpenClaw advisories, Node.js security, macOS bulletins, Signal-CLI issues.


Changes Since 2026-03-12


1. NEW: Expo dev server - Node.js Expo PID 18870 + 7 jest workers. Bound to LAN. 2. voice.clawstin.org still inactive (nothing on 3334). 3. Docker building clawstin-sandbox (persistent). 4. Lifeboat backup successful at 02:02. 5. Auth profiles refreshed Mar 14 03:01. 6. OpenClaw version: 2026.3.12 (current).


Recommendations


1. [Sev 7] Store fernet-key.b64 in macOS Keychain, not alongside creds.enc. 2. [Sev 5] Add auth to Signal-CLI HTTP daemon or use Unix socket. 3. [Sev 5] Restrict Brave CDP with --remote-allow-origins=. 4. [Sev 5] Stop Expo dev server when not in active development (LAN-bound). 5. [Info] Formally accept SG-005, SG-007, SG-008 to reduce noise. 6. [Info] Audit paper/ HTML reports for credential leakage.


Generated 2026-03-14 03:34 EDT | Next patrol: 2026-03-15 ~03:30 EDT