You're offline — showing cached data

MC-4081

Self-improve digest [luci] 2026-W21
2026-06-13 08:49:01 SAST
Home Board MC-4081

Self-improve digest [luci] 2026-W21

Weekly self-improve proposals from luci (2026-W21). 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 20d ago
MC-4081
Ticket is done; runtime is closed. · profile claude_opus_1m_medium

Description

MC-4081
Weekly self-improve proposals from luci (2026-W21). 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 --- Now let me analyze the digest systematically for Step 2 findings. FINDING: sys.path.insert in scripts poisons live Flask imports — a script importing `scheduler` via sys.path mutation caused live dashboard 500s. EVIDENCE: 2026-05-23 session bdbf9c13 — "Root cause: `_runtime_profile_lint_summary` did `sys.path.insert(0, WORKSPACE/'scripts')` which poisoned subsequent `import scheduler` to resolve to stale `scripts/scheduler.py`" PROPOSED ACTION: Add to `~/.claude/rules/coding-discipline.md`: "NEVER use `sys.path.insert` or `sys.path.append` to import from `scripts/`. Use `importlib.util.spec_from_file_location` for cross-module imports. sys.path mutations in long-running processes (Flask, scheduler) silently poison subsequent imports." CONFIDENCE: high FINDING: F1 predictor `.env` file contains stale ANTHROPIC_API_KEY that overrides OAuth, breaking synthesizer LLM calls. EVIDENCE: 2026-05-23 session 2eb58dfe — "`pipeline/utils/config.py::load_env()` reads `.env` → sets stale `ANTHROPIC_API_KEY` in process env → claude CLI picks it up → 401 'Invalid API key'" PROPOSED ACTION: Add to `memory/feedback-f1-predictor.md` or `~/workspace/projects/f1-predictor/CLAUDE.md`: "`.env` file has stale `ANTHROPIC_API_KEY` that overrides CLI OAuth. When LLM synthesizer calls fail with 401, check if `load_env()` is injecting a stale key. Fix: either remove ANTHROPIC_API_KEY from `.env`, or strip it in `call_claude()` subprocess env." CONFIDENCE: high FINDING: F1 predictor wet-mode prompt has no car-ceiling cap, causing unrealistic driver promotions (e.g. Verstappen P2 from P7 in wet). EVIDENCE: 2026-05-23 session 2eb58dfe — "Wet prompt has no car-ceiling cap. Says 'wet-strong drivers up' but doesn't say 'capped by car hierarchy / 2-3 positions max'." User said "Verstappen P2 makes no sense" PROPOSED ACTION: Add to `~/workspace/projects/f1-predictor/CLAUDE.md` or wet-mode guidance: "Wet pedigree elevation must be capped at 1-3 positions — not enough to break tier order. Add explicit ceiling guidance to wet-mode prompt template." CONFIDENCE: high FINDING: MC ticket crash loops occur when failed runtime sessions persist and reconciliation overrides manual status changes on every GET. EVIDENCE: 2026-05-23 session df839c54 — "MC-4056 was in a rapid cycle (needs_input/crashed → in_review → reverted within seconds). Root cause: a failed openai-codex runtime session triggered `_runtime_session_failure_reconciliation` on every GET." PROPOSED ACTION: Add to `memory/feedback-mc-operator.md`: "When MC ticket status keeps reverting after manual API updates, check for stale failed runtime sessions in mc.db (`ticket:N:session`). Close the stale session before setting status, or reconciliation will override your change every GET." CONFIDENCE: high FINDING: Claude hallucinated "captain multiplier" Superbru F1 feature that doesn't exist, causing incorrect scoring analysis. EVIDENCE: 2026-05-23 session 2eb58dfe — "That's a hallucination?" → "Yes, hallucination. I invented 'captain multiplier' — no such Superbru F1 feature." PROPOSED ACTION: Add to `~/.claude/rules/` a rule file `no-speculative-scoring.md`: "When analyzing scoring systems, never invent rules or mechanics not directly observable in screenshots/data. If unsure about a scoring rule, say 'I don't know' rather than fabricating. Verify each rule against user-provided evidence before stating it as fact." CONFIDENCE: high FINDING: Home Radio falls back to URL-stream on HEOS when conrelma Spotify Connect device disappears (mDNS drops after phone app idle), causing degraded playback. EVIDENCE: 2026-05-23 session 2eb58dfe — "Conrelma 'Kitchen' Connect device only appears on mDNS when the conrelma Spotify app on a phone has been open recently. Background long enough and it drops." User confirmed: "I've noticed now a few times that we are not using the spotify conrelma account or player because the music is just URL stream on Heos again." PROPOSED ACTION: Add to `memory/feedback-home-radio.md`: "HEOS URL-stream fallback = conrelma Spotify Connect device dropped off mDNS. Workaround: open conrelma Spotify app on phone ~5 min before playing. Permanent fix would be always-on librespot-java as systemd service on Luci with conrelma creds. Music Assistant addon IS installed (v2.9.0b11) with internal Spotify Connect provider — 3-tier play path: conrelma Spotify Connect → Transfer Playback retry → MA fallback." CONFIDENCE: high FINDING: F1 prediction output varies significantly between runs due to high temperature on OAuth claude CLI and no wet-weighting ceiling, making sprint predictions unreliable. EVIDENCE: 2026-05-23 session 2eb58dfe — "Why does it change so much? Verstappen P2 makes no sense" → "Claude runs at temperature ~1.0 (CLI doesn't expose override on OAuth). High uncertainty inputs → LLM oscillates" PROPOSED ACTION: Add to `~/workspace/projects/f1-predictor/CLAUDE.md`: "F1 synthesizer LLM is non-deterministic with high variance on uncertain inputs (wet races, tight midfield). Do NOT present a single run as final — run 2-3 times and merge/average, or let user pick from options. Consider adding deterministic post-processing to cap unrealistic promotions." CONFIDENCE: medium FINDING: F1 session_context doesn't auto-detect sprint weekends — relies on FP analysis step which only handles FP1/FP2/FP3. EVIDENCE: 2026-05-23 session 2eb58dfe — "`session_context` doesn't detect sprint weekend because `09_fp_deep_analysis.py` only handles FP1/FP2/FP3 — never tags 'Sprint Qualifying'. `is_sprint_weekend` should fall back to race calendar `is_sprint` flag." PROPOSED ACTION: Add to `~/workspace/projects/f1-predictor/CLAUDE.md` under known bugs: "session_context is_sprint_weekend detection broken — doesn't fall back to race calendar config. Must pass --scenario pre-quali flag manually for sprint weekends until fixed." CONFIDENCE: high FINDING: Operator tickets for pool slots and dirty repos keep firing as false positives — MC-4054, MC-4069, MC-4080 all duplicated the same pool-slot finding. EVIDENCE: 2026-05-23 multiple sessions — MC-4054 closed (pool slots by design), MC-4069 closed (duplicate of MC-4054), MC-4080 closed (duplicate of MC-4067). All triggered by `worktree-manual-review` operator not excluding managed pool slots. PROPOSED ACTION: Update `~/workspace/CAPABILITIES.md` or MC operator config: "Pool slots (pool-0/1/2) are managed by worktree_pool.py, 5.4G each by design. Reaper skip added in MC-4055. Operator tickets for these are false positives — operator should exclude `pool-*` paths from manual accounting." CONFIDENCE: high FINDING: MC API db-lock contention causes transient task timeouts when 6+ Claude workers hit the API simultaneously. EVIDENCE: 2026-05-23 session 497aa314 — "MC API was briefly overloaded — 7+ concurrent Claude workers (3 opus, 2 haiku, 1 sonnet) + mc.db contention causing CLI TimeoutErrors" — ticket-pickup 180s timeout, needs-input-pickup 180s timeout. PROPOSED ACTION: Add to `memory/feedback-mc-operator.md`: "When multiple workers are active (5+ Claude processes), expect transient mc.db lock contention timeouts on ticket-pickup/needs-input-pickup. These self-recover. Only open a ticket if timeouts persist after worker load drops or last >10 min consecutively." CONFIDENCE: high

Activity

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