{"definition_raw":"---\nid: self-improve-luci-weekly\nname: Self-improve digest every 2 days (Luci)\nschedule: \"0 23 */2 * *\"\nenabled: true\ncriticality: low\nrun_as: shell\ncommand: bash ~/.claude/scripts/self_improve_weekly.sh --machine luci --force\nnotify_on: failure\nruntime_profile: direct_anthropic_sdk\ntags: [self-improve, weekly, learning-loop]\n---\n\n**OVERRIDES runtime profile:** uses claude CLI internally because the wrapper invokes `claude -p` directly with `--settings ~/.claude/settings-worker.json`; provider is whatever the worker settings select, not the scheduler-injected env. Set sentinel to keep audit lint quiet.\n\nEvery 2 days, 23:00 SAST. Luci is always-on, so working-hours gate is bypassed via `--force`; the cron itself is the schedule. The 40h timestamp gate still applies and prevents same-day double-fire. Digest window is `--days 3` (2-day cadence + 1-day overlap margin).\n\nPipeline: extract 7-day digest \u2192 claude headless analysis (FINDING/EVIDENCE/PROPOSED ACTION/CONFIDENCE blocks per self-improve skill Step 3) \u2192 MC ticket assigned to lucienne, priority medium \u2192 update timestamp at `~/.claude/state/self-improve-last-run.timestamp`.\n\nMac (Lucienne) runs the same wrapper via launchd (com.lucienne.self-improve), Mon 10:00 SAST + RunAtLoad, with the working-hours gate enforced (no `--force`).\n\nManual smoke test: `bash ~/.claude/scripts/self_improve_weekly.sh --dry-run --force --machine luci`\n","id":"self-improve-luci-weekly","last_run":{"duration_s":96.327751,"log_path":"/home/lucienne/workspace/logs/task-runs/self-improve-luci-weekly/408443.log","output":"Created MC-5001: Self-improve digest [luci] 2026-W24\n  Status: inbox\n  Assigned to: lucienne\n[self-improve-weekly] Done \u2014 ticket filed for luci (2026-W24).\n","started_at":"2026-06-11T23:00:24.240117+02:00","status":"completed"},"next_run":"2026-06-13 23:00","next_run_iso":"2026-06-13T23:00:00+02:00","runs":[{"duration_s":96.327751,"finished_at":"2026-06-11T23:02:00.572852+02:00","id":408443,"log_path":"/home/lucienne/workspace/logs/task-runs/self-improve-luci-weekly/408443.log","output":"Created MC-5001: Self-improve digest [luci] 2026-W24\n  Status: inbox\n  Assigned to: lucienne\n[self-improve-weekly] Done \u2014 ticket filed for luci (2026-W24).\n","started_at":"2026-06-11T23:00:24.240117+02:00","status":"completed","task_id":"self-improve-luci-weekly","task_name":"self-improve-luci-weekly"},{"duration_s":70.682951,"finished_at":"2026-06-09T23:02:35.012996+02:00","id":399812,"log_path":"/home/lucienne/workspace/logs/task-runs/self-improve-luci-weekly/399812.log","output":"Created MC-4898: Self-improve digest [luci] 2026-W24\n  Status: inbox\n  Assigned to: lucienne\n[self-improve-weekly] Done \u2014 ticket filed for luci (2026-W24).\n","started_at":"2026-06-09T23:01:24.326592+02:00","status":"completed","task_id":"self-improve-luci-weekly","task_name":"self-improve-luci-weekly"},{"duration_s":66.718959,"finished_at":"2026-06-07T23:02:34.697593+02:00","id":391482,"log_path":"/home/lucienne/workspace/logs/task-runs/self-improve-luci-weekly/391482.log","output":"Created MC-4791: Self-improve digest [luci] 2026-W23\n  Status: inbox\n  Assigned to: lucienne\n[self-improve-weekly] Done \u2014 ticket filed for luci (2026-W23).\n","started_at":"2026-06-07T23:01:27.976140+02:00","status":"completed","task_id":"self-improve-luci-weekly","task_name":"self-improve-luci-weekly"}],"runs_limit":20,"schedule":"0 23 */2 * *","schedule_label":{"description":"Every 2 days at 23:00","is_custom":false,"label":"Every 2 days","sort":5,"sort_time":"23:00"},"stats":{"avg_duration":77.90988700000001,"completed":3,"failed":0,"timeout":0,"total":3},"task":{"_description":"**OVERRIDES runtime profile:** uses claude CLI internally because the wrapper invokes `claude -p` directly with `--settings ~/.claude/settings-worker.json`; provider is whatever the worker settings select, not the scheduler-injected env. Set sentinel to keep audit lint quiet.\n\nEvery 2 days, 23:00 SAST. Luci is always-on, so working-hours gate is bypassed via `--force`; the cron itself is the schedule. The 40h timestamp gate still applies and prevents same-day double-fire. Digest window is `--days 3` (2-day cadence + 1-day overlap margin).\n\nPipeline: extract 7-day digest \u2192 claude headless analysis (FINDING/EVIDENCE/PROPOSED ACTION/CONFIDENCE blocks per self-improve skill Step 3) \u2192 MC ticket assigned to lucienne, priority medium \u2192 update timestamp at `~/.claude/state/self-improve-last-run.timestamp`.\n\nMac (Lucienne) runs the same wrapper via launchd (com.lucienne.self-improve), Mon 10:00 SAST + RunAtLoad, with the working-hours gate enforced (no `--force`).\n\nManual smoke test: `bash ~/.claude/scripts/self_improve_weekly.sh --dry-run --force --machine luci`","_file":"self-improve-luci-weekly.md","_path":"/home/lucienne/workspace/tasks/self-improve-luci-weekly.md","command":"bash ~/.claude/scripts/self_improve_weekly.sh --machine luci --force","criticality":"low","enabled":true,"id":"self-improve-luci-weekly","name":"Self-improve digest every 2 days (Luci)","notify_on":"failure","run_as":"shell","runtime_profile":"direct_anthropic_sdk","schedule":"0 23 */2 * *","tags":["self-improve","weekly","learning-loop"]}}
