# life_manager session snapshot — 2026-06-26

Pre-compact note for the next session. Read this on bootstrap before anything else.

## What just happened (Week 3 of Brandon program)
- **Day 14: Brandon weekly call done.** Big install: four frames (it-will-pass / radiate-outward / what-you-give-confirms / no-arrival-enjoy-the-juice) + identity affirmations (wake maker, authority of good vibes) + new operating mode (**playground-kid**) + homework (solo bar trip before next call).
- All banked in MEMORY.md.
- Friday observations + questions files refreshed with what Brandon SAID this call.

## What's in flight (carry to next session)

### Active reminder flags (in MEMORY.md)
- 🍻 **Bar practice solo trip** before next Friday's call (2026-07-03) — `feedback_bar_practice_homework_active.md`
- 🧘 Hot yoga "this week" — *unclear if completed Fri; check*
- 👥 Weekend friend plans — standing weekly habit, surface Thu/Fri
- 🎧 Khanega weekly — standing
- (other reminders cleared: Brandon-Mon-checkin, ping-pong, flight-booking, onboarding, fit2fight, Vitor numbers, etc.)

### Owed scaffolding
- **Khanega/Sufi-lecture pipeline — LIVE AND FORKED 2026-07-05→06.** Full pipeline (transcribe → translate → transliterate → synthesize → bilingual audio+text web viewer) runs on Puget. rclone Drive OAuth done via headless flow (token in Puget's `~/.config/rclone/rclone.conf`). Manager forked ownership to dedicated **`sufi_lectures`** agent at `/data/cameron/agents_stuff/agents/sufi_lectures/` (a byte-for-byte session clone of life_manager at handoff time). **Stop driving lecture work from life_manager** — route lecture-download/transcription questions via `sufi_lectures/inbox.md`. When touching `/data/cameron/life/projects/khanega/` (obsolete VPS scaffolding) or anything lecture-related, ping sufi_lectures's inbox per cross-ping convention. DO NOT edit `agents/sufi_lectures/*` or its vault slice. sufi_lectures hands phrases off to `persian`'s SRS and may occasionally ping this inbox with passages worth adding to Cameron's life KB. Known blocker at handoff: ElevenLabs quota exhausted (0 credits), English audio synth pending decision on top-up vs local TTS switch.
- **Persian app** — live at `omidlab.net/persian`. Nazy voice ID set; verify she's actually playing.
- **Finance app — FORKED 2026-07-06.** Manager created `financials` agent (byte-for-byte session clone) at `/data/cameron/agents_stuff/agents/financials/`. All financial analysis (spend, budget, income, savings, subscription audits, monthly reviews, decision analysis) is now that agent's domain. Life_manager keeps ONLY the values-lens when financials pings. DO NOT edit `agents/financials/*`. Ping its inbox when daily-log/life-KB has financial info. Underlying Lunch Money pipeline still lives at `/data/cameron/life/projects/finances/` (377 txns backfilled, first analysis done; ElevenLabs quota question aside, that was the Khanega side). See `project_finances_lunch_money_setup.md` memory.

### Recently saved memories worth surfacing next time he's in their context
- `user_playground_kid_mode.md` (Day 14 install)
- `feedback_brandon_week3_canon.md` (Day 14 install)
- `feedback_meta_monitoring_pattern.md` (Day 13 — extended at 10pm with Brandon-as-authority layer)
- `feedback_self_validation_over_advisors.md` (Day 12)
- `feedback_even_keel_state.md` (Day 11)
- `feedback_no_energy_drinks.md` (operational, lived)
- `user_cowboy_mode.md`
- `feedback_calories_vs_mood.md`
- `user_luxury_before_everything.md`
- `feedback_khanega_weekly_cadence.md`
- `feedback_weekend_friend_plans.md` (standing weekly habit)
- `feedback_izzy_self_sourced.md` (Day 9)

### Cron schedule (all PT, UTC labels in cron syntax)
- 09:30 PT = `30 16 * * *` — daily briefing (Whoop + dashboard rebuild)
- 12:08 PT = `8 19 * * *` — notes sync
- 15:07 PT = `7 22 * * *` — notes sync
- 18:09 PT = `9 1 * * *` — notes sync
- 21:11 PT = `11 4 * * *` — notes sync + Brandon evening reflection
- 00:13 PT = `13 7 * * *` — notes sync + bedtime flag
- DST flip Nov 2 2026: add 1 to UTC hour

### Process state
- `serve.py` running in tmux `agents:srv_omidlab` (port 8094) — main omidlab.net Flask
- `app.py` (Persian) running in tmux `agents:srv_persian` (port 5001) — reverse-proxied at /persian
- `cloudflared` tunnel running (omidlab.net → :8094)
- Persian agent at tmux `agents:persian` — own ROLE.md + inbox/outbox

### Bootstrap procedure for next life_manager session
Per `feedback_daily_briefing.md` (bootstrap memory):
1. Verify Whoop pull works (`python3 /data/cameron/life/scripts/whoop_pull.py`). If 400 = re-OAuth needed.
2. Verify all 6 crons are scheduled (CronList). If any missing, recreate per the times above.
3. Verify `serve.py` + Persian app running. If srv_persian window missing, recreate + launch.
4. Read MEMORY.md to refresh on the active state.

## Notes on tone (preserve across sessions)
- Cameron's mid-week mood was: cold, foggy, restless, doing the work but with the meta-monitoring trap surfacing
- His Friday Brandon call landed deep insights about externalizing-to-Brandon-as-authority
- He's lived self-validation against advisors (Day 12) + against Brandon-himself (Day 13)
- Energy: don't lecture, don't moralize, meet him with Brandon's loving-not-aggressive frame
- He responds to: direct, present-tense, honest, no fluff, no checklists-as-corporate

## In-progress projects + files
- `/data/cameron/life/style.md` — wardrobe + grooming reference (built 2026-06-23)
- `/data/cameron/life/projects/persian/` — live app
- `/data/cameron/life/projects/khanega/` — scaffolded, waiting for audio
- `/data/cameron/life/projects/finances/` — sandbox working, waiting for Plaid Production
- `/data/cameron/life/brandon/friday_questions.md` — running list for Brandon calls
- `/data/cameron/life/brandon/friday_observations.md` — running list of wins
- `/data/cameron/life/brandon/daily/YYYY-MM-DD.md` — daily logs (often skeletal)
- `/data/cameron/life/checklist.md` — rebuilt every morning by the briefing cron
- `/data/cameron/agents_stuff/agents/glasses/events.json` — daily calendar for glasses HUD
