Iteration Report — 2026-05-02 · Extended Sprint (Shabbat-mode autonomous)

Sprint: Hub UX + LLM Resilience · Time window: 04:30→08:10 IDT · Iterations: 8-11 (autonomous)


🚨 CRITICAL — דורש פעולה ידנית מאלעד אחרי שבת

Gemini API Project DENIED (התגלה 2026-05-02 ~05:00 IL):

מה אלעד צריך לעשות במוצ"ש:

  1. להיכנס ל-Google AI Studio / Cloud Console
  2. לבדוק תיק Project / Billing / Abuse reports — לרוב זה billing או policy violation
  3. או — ליצור project חדש + key חדש (זול יותר אם הישן חסום)
  4. לעדכן ב-3 מקומות: /etc/elad-network/oracle.env, /opt/openclaw/.env, /etc/elad-network/keyvault/llm-keys.env

Mitigations שהוטמעו (להפעיל עד שזה ייפתר):

Iter 11A — Kaylee OpenAI Fallback OPENAI_FALLBACK_v1

Iter 11B — bridge-summarizer OpenAI Fallback

Anthropic key — תקול

ה-ANTHROPIC_API_KEY ב-/opt/openclaw/.env (sk-ant-api03-yfPGNRi4...) מחזיר invalid x-api-key. כנראה פג. כדאי לחדש כי זה fallback שני.


📋 איטרציות 8-11 (extended)

Iter 8 — PWA manifest + Service Worker

Iter 9 — KPI History Collector

Iter 10 — Sparklines on KPI cards TODAY_SPARKLINES_v1

Iter 11 — OpenAI Fallback (CRITICAL fix above)


📊 בריאות מערכת בסיום (08:10 IDT)

| מדד | ערך | הערה | |-----|------|------| | Hub health | 100% (9/9) | ✅ | | Failed services NOW | 0 | (אחרי reset-failed skills-ingest) | | Bridge pending | 0 | ✅ נקי | | Bridge 24h | 47 events | רגוע | | LLM cost today | $0 | (Gemini blocked, OpenAI fallback ידוע) | | Disk free | 12GB | ✅ | | KPI history entries | 1 | (התחיל ב-04:48) | | Active services failing on Gemini | bridge-summarizer ✅ fallback, kaylee ✅ fallback, skills-ingest ❌ TODO |


🟡 Backlog — מה נשאר לאיטרציות הבאות

Critical (post-Shabbat)

Dashboard (חדשים אחרי Shabbat)

Nice-to-have


🧠 שיעורים חדשים מהסשן הזה

  1. Cloudflare proxy חוטף Content-Type לא-סטנדרטיapplication/manifest+json הופך ל-text/html. דפדפנים בודקים גם בלי, אבל Lighthouse ידגיש זה.
  2. Gemini API API key הוא project-scoped, לא user-scoped — אם project חסום, כל ה-keys שלו חסומים. לכן צריך 2 projects שונים ל-disaster recovery.
  3. OpenClaw container לא קל להחליף LLM — ה-fallback צריך לקרות ב-layer של ה-caller (Kaylee), לא ב-OpenClaw עצמו.
  4. text-embedding-004 הוסר ב-Gemini API — הקוד כבר עבר ל-gemini-embedding-001, אבל בכל מקרה project blocked. עדכון מודלים = פעם בעוד כמה חודשים.
  5. Python regex (.*?) עם strings ארוכים יותר ממומלץ — תפיסת newlines — תמיד להשתמש ב-re.DOTALL או ב-.find() במקום regex כשהtarget קבוע.
  6. systemctl reset-failed <service> — מנקה הסטוריה של failed services שתוקנו. צריך לקרוא לזה אחרי תיקון.

🔧 קבצים ששונו ב-iters 8-11

קובץ שינוי
/opt/ai-factory/scripts/delegator.py +PWA endpoints, +sparklines+history, +canvas elements
/opt/ai-factory/scripts/kpi-history-collector.py NEW
/etc/systemd/system/kpi-history-collector.{service,timer} NEW
/opt/elad-network/agents/kaylee/kaylee-webhook.py +OPENAI_FALLBACK_v1
/opt/elad-network/infra/hub/bridge-summarizer.py +OPENAI_FALLBACK_v1
/opt/ai-factory/data/kpi-history.jsonl NEW (1 entry)

📱 קישורים חיים