You're offline — showing cached data

Life Manager Digest

life-manager-digest
2026-06-13 06:13:16 SAST
← Back to Tasks

Twice-daily life digest (12:00 + 17:00 SAST, weekdays only). Sends a Telegram DM summary of open Life tickets + today calendar events.

Weekdays at 12:00, 17:000 12,17 * * 1-5
Yes
shell
300s
No
in 2d (2026-06-15 12:00)

Task Definition

tasks/life-manager-digest.md
shell
set
No
No
set -e
. ~/.claude/env/api_keys.env
cd /home/lucienne/workspace
life_digest_prompt="$(cat <<'CLAUDE_PROMPT'
You are Luci. Send a life digest to the Life Manager Telegram topic.

Steps:
1. Run: python3 ~/workspace/scripts/life_manager.py open-tickets
   Get all open Life project tickets.

2. Run: python3 ~/workspace/scripts/life_manager.py today-calendar
   Get today's Outlook + Google Calendar events.

2b. Run: python3 ~/workspace/scripts/life_manager.py reminders
    Get upcoming Google Tasks (Elmar's personal reminder list).

3. Compose your digest message as a string variable. Do not send it yet.
   Output contract:
   - Header: Luci | Life Digest -- [Morning/Afternoon] [date]
   - Exactly one line starting `I recommend ...` that names the single best next action.
   - Show at most 3 visible decision items total across calendar, reminders, and Life tickets. Pick only items where Elmar must decide, do, approve, or prepare within the next 48 hours.
   - For the top item, include one short `Why now:` clause.
   - Add one quiet-work line: what Iris already handled or filed without needing Elmar.
   - Add backlog count only (for example: `Backlog: 17 lower-priority Life tickets not shown`). Do not list the rest.
   - Do not make Elmar rank a list. Pick the next best action; if nothing truly needs Elmar, say so and report handled-quietly/backlog counts.
   - Do not ask generic optional questions such as `Want me to...?` unless you already have a concrete, approval-gated draft/action ready.
   Keep it short -- Elmar reads this on his phone.

3b. MC-5014 Attention Gate shadow log: before sending, keep the candidate JSON
    in process memory or a local shell variable and pipe it to the gate over stdin:
    `printf '%s' "$attention_candidate_json" | python3 ~/workspace/attention_gate.py`.
    Do not write the raw digest candidate to /tmp or another persistent file, and
    do not pass raw JSON via argv/env vars where it can leak through process listings.
    Use `source=life-manager-digest`, `emitter=life-manager-digest`,
    `task_id=life-manager-digest`, `message_class=digest`, `tier_hint=digest`,
    and the digest text as `summary`. Record the returned decision in the task
    output for before/after evidence. Do not suppress the scheduled digest based
    on this shadow result; this phase is dry-run evidence only. If the shadow
    gate command fails, times out, or cannot append to the ledger, log the error
    in task output and still send the scheduled digest.

3c. Send it only after the shadow log: python3 ~/workspace/notify.py --topic life-manager "your_composed_message"

4. Run: python3 ~/workspace/scripts/life_manager.py mark-email-processed (no-op, just keeping state fresh)
CLAUDE_PROMPT
)"
/home/lucienne/.local/bin/claude --settings /home/lucienne/.claude/settings-worker.json -p "$life_digest_prompt" --dangerously-skip-permissions
This task calls claude directly. If the scheduler profile is GLM, Kimi, or MiniMax, prefer ~/workspace/PKA/scripts/claude-provider-run.sh so backup providers run in API-key-only mode with explicit settings/MCP context.

Edit Schedule

Result:
10
Runs (7d)
9
Completed
0
Failed
1
Timeout
90%
Success (7d)
2.2m
Avg Duration
life digest telegram personal

Run History (10)

StartedFinishedStatusDurationOutputLog
13h ago 13h ago completed 2.3m
Digest sent to Life Manager topic. **Shadow gate (dry-run evidence):** `tier=tier2`, `decision=dry_run_notify`, `critic ...
View log
18h ago 18h ago timeout
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
5.0m
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
View log
2d ago 2d ago completed 1.8m
Digest sent to Life Manager topic. State refreshed. **Done:** - Calendar: AviaDev Day 2 (Gaborone) dominates today + Co ...
View log
2d ago 2d ago completed 2.8m
Done. Digest live in Life Manager topic. **Sent:** - Today: AviaDev Day 2 (Gaborone). Surfaced remaining items — ⭐ Proj ...
View log
3d ago 3d ago completed 2.2m
Digest delivered to Life Manager topic. **Done:** - 13 Outlook + 3 school events → deduped today block (AviaDev Gaboron ...
View log
3d ago 3d ago completed 2.8m
Digest sent → Life Manager topic. State refreshed. **Done:** - Calendar: combined Outlook+Google, deduped, SAST. AviaDe ...
View log
4d ago 4d ago completed 1.2m
Done. **Done:** - Pulled tickets/calendar/reminders, composed digest, sent to Forum: Life Manager ✓ - State refreshed ( ...
View log
4d ago 4d ago completed 1.6m
Done. Digest sent to Life Manager topic. **Summary** - Calendar: pulled Outlook (Exco, Heron Q&A sessions, Gaborone acc ...
View log
5d ago 5d ago completed 1.3m
Done. Life digest sent to Life Manager topic. **Sent:** - Calendar (today SAST): 5 timed Outlook events + 2 all-day bir ...
View log
5d ago 5d ago completed 1.3m
Done. Life digest sent to Telegram Life Manager topic. **Sent:** - Calendar: 3 timed (T5 strategic 11:00, ACS lunch 12: ...
View log

Comments (0)

No comments yet — add instructions for Luci
Help