You're offline — showing cached data

MC-4208

Self-improve digest [luci] 2026-W22
2026-06-13 08:50:02 SAST
Home Board MC-4208

Self-improve digest [luci] 2026-W22

Weekly self-improve proposals from luci (2026-W22). Window: last 7 days. Source: ~/.claude/skills/self-improve/ (Steps 2-3). Triage instructions: - Approve by number to apply ...
State Done Next Action Closed Owner Lucienne Runtime Closed Age 18d ago
MC-4208
Ticket is done; runtime is closed. · profile claude_opus_1m_high

Description

MC-4208
Weekly self-improve proposals from luci (2026-W22). Window: last 7 days. Source: ~/.claude/skills/self-improve/ (Steps 2-3). Triage instructions: - Approve by number to apply (Step 4 of skill). - Skip = discard. - Reply "all" to apply all high-confidence items. --- PROPOSALS --- FINDING: `mc_pickup.py` imports `runnable_policy` module that was never committed alongside MC-4141 commit ab3fb4f8, causing ModuleNotFoundError on every scheduler tick for ~26 minutes (05:46-06:12). EVIDENCE: 2026-05-25 06:30 session MC-4153: "mc_pickup MC-4141 commit ab3fb4f8 referenced module but file never committed → ModuleNotFoundError each tick" PROPOSED ACTION: Add to `~/.claude/rules/coding-discipline.md` under section 7 "Commit Atomically": "When adding a new module imported by another file, BOTH files must land in same commit. Before committing changes that add `from <newmodule> import`, verify `git status` shows newmodule.py staged. Use `git diff --cached --name-only | xargs grep -l 'import <newmodule>'` to detect cross-file import without source." CONFIDENCE: high FINDING: `mc-auto-review` task has been failing daily for 7+ days due to oversize diff cap (5000 lines), with diffs growing 7k→46k lines unchecked. EVIDENCE: 2026-05-25 06:30 session MC-4152: "7-day oversize streak — diff grew from 7k→46k lines. Real remediation belongs in MC-4150 (trim noise repos / raise cap / auto-commit cadence)" PROPOSED ACTION: Add to `~/workspace/CLAUDE.md` under "Key Rules" as rule 11: "Oversize incidents that recur across days are real architectural problems, not transient noise. If mc-auto-review or similar diff-bounded task creates >2 oversize-incident tickets in a week, treat as Tier 2 ticket immediately (trim noise dirs / raise cap / increase auto-commit cadence) rather than closing each watchdog mirror as duplicate." CONFIDENCE: high FINDING: `followup_ledger.minutes_overdue()` crashed on naive datetimes because `expected_check_in_at` column has mixed tz-aware and tz-naive values written by different code paths. EVIDENCE: 2026-05-25 12:31 session: "The expected_check_in_at column in mc.db contains mixed datetime formats — some are timezone-aware (e.g. +02:00), others are timezone-naive (bare ISO strings without any offset)" PROPOSED ACTION: Add to `~/.claude/rules/coding-discipline.md` new section "Datetime Storage Discipline": "If a SQLite column stores datetimes, ALL writers must produce same tz format (recommend UTC ISO with +00:00 suffix). When reading via fromisoformat, defensively attach tzinfo=UTC if dt.tzinfo is None — naive vs aware mix raises TypeError on subtraction. Audit all writers before adding new ones." CONFIDENCE: high FINDING: Orchestrator inbox accumulated 150 stale `delivered` items + 50K `processed` items missing `acted_at` because stale sweep logic was designed but never implemented. EVIDENCE: 2026-05-25 06:57 session: "The stale sweep for delivered items was designed but never implemented... 150 stale delivered items cleared... 50K processed items missing acted_at" PROPOSED ACTION: Create MC ticket "Implement orchestrator_inbox stale sweep + acted_at backfill in luci_followup_sweep.py or new scheduler task. Run every tick to prevent backlog accumulation. 150 delivered items + 50K processed items were manually cleared 2026-05-25 — automate so next pickup-outage doesn't repeat." CONFIDENCE: high FINDING: Mac dispatch SSH unreliable — Mac asleep means SSH fails silently, no escalation path documented for time-sensitive dispatches. EVIDENCE: CLAUDE.md "Mac Remote Dispatch" rules: "If SSH fails, Mac is asleep — skip and retry later, don't escalate" — but no retry mechanism exists. PROPOSED ACTION: Add scheduler task `mac-availability-probe` running every 15 min that pings Mac via Tailscale and writes status to `state/mac_availability.json`. Tasks needing Mac check this file before dispatching; if stale >1h, escalate via Telegram instead of silently skipping. CONFIDENCE: low FINDING: Worktree backlog (mc-4198-durable 5.6GB, 4 named worktrees 436MB) recurring problem — auto-reaper can't clean because criteria too restrictive (uncommitted/ticket-open/commits-ahead). EVIDENCE: 2026-05-25 21:44 session MC-4204: "mc-4198-durable: branch fully in origin/master, 0 uncommitted. Safe to reap. Other 4 worktree-shaped dirs (mc-4122/4124/4125/4185) are orphaned (not in git worktree list) — separate concern, ~436M total" PROPOSED ACTION: Extend safe-reaper to detect "branch fully merged to origin/master + 0 uncommitted" as reapable even when ticket reference present (ticket may be done). Also detect orphan worktree dirs (not in `git worktree list`) and add to reap candidates with operator review. Update `~/workspace/scripts/worktree_reaper.py` or equivalent. CONFIDENCE: low FINDING: Life-manager scan runs claim VERBOSE mode but produce massive tables consuming context — most have identical structure (WhatsApp summary groups + email triage). EVIDENCE: Sessions 05:04, 06:02, 07:10, 08:05, 09:08, 11:07, 12:08, 13:03, 14:05, 15:07, 16:07, 18:03, 19:01, 20:02, 21:01 — all run same template with verbose tables. PROPOSED ACTION: Add to life-manager task prompt: "VERBOSE mode: emit only DELTAs from prior hour (new tickets created, new skip rules triggered, source errors). Do NOT re-list emails that were already_processed or auto_skipped under existing rules — they consume context without adding signal." CONFIDENCE: low

Activity

done
Luci is working...
Live
No activity yet
Help