סיכום מצגות וצילומים מסשני הכנס (4.6.2026) — מיפוי לפרויקטים, פתרונות, הגנות, והרחבות. מבוסס על 115 קלאסטרים יחודיים מ-212 צילומים. אודיו (6 קבצים) ממתין לעיבוד NotebookLM.
Google הציגו Gemini 3.1 Live API + Live Avatar — תומך 10 שפות, עברית ראשונה ברשימה. עבור משתמשים ישראלים זה משנה את משוואת VitruAgent: במקום OpenAI Realtime כראשי + Gemini Live כ-fallback, להפוך — Gemini Live ראשי. רץ ב-WebSocket יחיד, מטפל ב-audio + video + tool calls על אותו חיבור.
Gong וגם GenMedia Izumi (Google) שניהם מציגים את אותה ארכיטקטורה: שני מודלים נפרדים — אחד "thinking" (batch, גדול) + אחד realtime + Orchestration Service באמצע שמנהל state, RAG context, וfallback. אסור לבנות הכל ישר על Gemini Live. ה-Orchestration היא 4 רכיבים נפרדים: Routing / Session-affinity / Admission control / Circuit breaker.
Wiz + Google חשפו 10 כללים שאתה משתמש בכוח-לא מלא מתוכם ב-Claude Code שלך יום-יום על קוד production של 5 פרויקטים. Tenzai דיווחו על 69 חולשות ב-15 אפליקציות שנכתבו ע"י coding agents — כל agent. צריך לאמץ את הכללים היום, לא לחכות ל-incident.
GenMedia Izumi הציגו state machine מלא של 19 צמתים עם 4 שערי אישור אנושיים (gate 1-4). זה הדפוס שגם VitruAgent וגם VitSiteReport צריכים — לא אוטומציה רצופה אלא pipeline עם נקודות עצירה לאישור משתמש. + הבחנה קריטית: Optimization memory ≠ Orchestration control — שתי מערכות זיכרון שונות.
סשן GKE Inference אישר חד-משמעית: Vertex AI managed כבר רץ על GKE Inference Gateway מתחת. אתה מקבל את כל ה-35% TTFT וה-2x cache hit ratio בלי DevOps overhead. ה-cold-start של GKE עצמאי (5 דק') הורג workload bursty כמו VitClip. אל תיגע. החלטה נסגרת.
❗ פעולה ידנית שלך נדרשת לפני המשך:
NotebookLM CLI מסרב להתחבר — Authentication expired. צריך 30 שניות אינטראקטיבי בדפדפן:
nlm login
הרץ ב-PowerShell. דפדפן ייפתח, התחבר עם elyash7@gmail.com (אישי — connectors כולם אישי לפי החלטת 0019). לאחר מכן, ב-Claude code session אחר או באותו session, יש לפתוח בקשה חדשה ולומר "תמשיך מאיפה שעצרת ב-NotebookLM" — אטעין את 6 הקבצים, אשאל שאלות source-grounded, ואוסיף את התובנות לקובץ הזה.
קבצי האודיו לעיבוד (170MB):
קול 001_W_20260604_120103.m4a (97MB · ~85 דק') — Gong + Beyond the prototype + הפסקת צהרייםקול 002_W_20260604_123345.m4a (16MB · ~14 דק') — מהלך Beyond the prototype או Q&A של Gongקול 003_W_20260604_125658.m4a (22MB · ~20 דק') — נטוורקינג / מסביב 13:00קול 004_W_20260604_135735.m4a (18MB · ~16 דק') — סוף GKE Inference + מעברקול 005_W_20260604_145051.m4a (48MB · ~43 דק') — Securing coding agents (Wiz+Google) רובוקול 006_W_20260604_152537.m4a (12MB · ~11 דק') — Stateful long-running agents חלקבנוסף יש 2 קבצי וידאו (20260604_123553.mp4 40MB, 20260604_125135.mp4 96MB) — סביר שבזמן Gong demo או מעבר. גם הם ל-NotebookLM.
| מודל | תיאור | השפעה |
|---|---|---|
Gemini 3.1 TTS Flash | טקסט-לדיבור איכותי | VitVital weekly summary בקול עברי |
Gemini 3.1 Live API + Live Avatar | realtime voice/video + lip-sync avatar | החלפת OpenAI Realtime ל-VitruAgent |
Deep Research API + Antigravity Managed Agent | Google's managed agent infra | אופציה עתידית במקום backend עצמי |
Gemma 4 26B A4B MaaS | Gemma 4 כשירות מנוהל | פוטנציאל ל-fine-tune עברית (לא לפני 100K calls/חודש) |
Gemini 2 Embedding | embeddings חדש | RAG ב-VitruAgent |
Browser React ────WebSocket────▶ Gemini 3.1 FlashLive API
│
├─ Mic capturePCM 16 kHz ────▶ realtimeInput audio
├─ Webcam 1 fps JPEG ───────▶ realtimeInput video
├─ Audio playerPCM 24 kHz ◀── voice
├─ Live UI orb + transcript ◀── inputTranscription, outputTranscription, tool provide_feedback
└─ JSON summary ◀── (if tool never called)
Fallback sub-agent: gemini-3.5-flash
נקודה קריטית: "One WebSocket. All audio, video frames, transcripts, and the final provide_feedback tool call ride the same connection. No backend server in the path — the browser talks to Gemini directly."
אבל — לא מתאים ל-VitruAgent: ה-Browser-direct פטטרן מוותר על secrets management, state persistence, ו-tool calls ל-Firestore. VitruAgent חייב Orchestration Service באמצע. הדפוס הזה רק להדגמות.
STRUCTURE — follow this order: 1. Warm welcome (~10s): greet, state the role, outline the next 15-20 minutes. End with "Tell me about yourself." 2. MAIN QUESTIONS (4-6 total) — tailored to role+level. ONE question per turn. 1-2 follow-ups when interesting. 3. REVERSE Q&A: "What questions do you have for me?" 4. WRAP-UP: thank, mention next steps, end with a warm closing sentence. BEFORE that, call provide_feedback exactly once. HARD RULES: - ONE question per turn. Never stack two. - Concise: 1-3 sentences for questions, 2-4 for follow-ups. - Warm but professional. No filler. No flattery. - For STAR answers: push gently if they jump to the result. - For technical: probe trade-offs. - Silent 5-6s? Ask "would you like a moment to think?" - Do NOT evaluate during the interview. - Do NOT mention this is AI / Gemini / a simulation.
אלה HARD RULES פטטרן שצריך לאמץ בכל system prompt של VitruAgent. שים לב: "Silent 5-6s? Ask 'would you like a moment to think?'" — זה בדיוק barge-in handling שדנתי איתך עליו לפני.
googlelive-880601596687.us-central1.run.app — הציג Online Interview, Avatar Interview, Solutions Architect (דמו ויטרו-לייק שיוצר ארכיטקטורה תוך דיבור). שווה לבחון בנפרד.
┌─────────────────────────────────────────────────────────┐
│ Gemini Regular (heavy thinking) │
│ ↑ LLM Prompts │
│ Builder (Manager) ─── live simulation tuning │
│ Practice Env (Sales Rep) ─── live simulation │
│ Session Feedback ─── live coaching │
│ ↑ Written Feedback │
│ Gong Context RAG ────────────────────────────┐ │
└───────────────────────────────────────────────│─────────┘
│
┌───────────────────────────────────────────────▼─────────┐
│ Interactive AI Dialog (= Orchestration Service) │
│ ↓ Live Stream │
│ Gemini LIVE │
└─────────────────────────────────────────────────────────┘
Your name is {{agent_name}} ({{agent_gender}}),
the background task agent for {{tenant_name}}.
Core Attributes:
- Identity: Speak fluent {{language}} and only {{language}}.
- Task focus: Ask clarifying questions when information
is missing or ambiguous before taking action.
- Professional and concise: Provide clear updates,
decisions, and next steps.
Task Inputs:
- Your input is task events and metadata,
not transcribed speech.
- Review any task context and attachments before acting.
- Use tools like get_attachment_text to read attachment
content when available.
זה template עם variables של multi-tenant — מתאים בדיוק ל-VitSiteReport schema של orgs/{orgId}/....
הציגו "AI workforce" שבנה startup מקצה לקצה:
המסר: "Moving from a static script to a dynamic workforce that scales on demand."
זו אזהרה לכל מי שבונה voice agent: ה-LLM eval pipelines שאתה רגיל אליהם (golden answers, BLEU, etc.) לא יעבדו ל-VitruAgent. צריך human-in-the-loop evaluation + adversarial barge-in tests + latency p95 tracking. אין framework מוכן.
סקרנו ביחד בזמן אמת. עיקרי הדברים:
| נתון | מקור |
|---|---|
| 69 חולשות ב-15 אפליקציות נכתבו ע"י coding agents | Tenzai "Bad Vibes" report Jan 2026 |
| 57% מהארגונים פרסו עצמאית AI agents | Wiz survey |
| 80% משתמשים ב-AI IDE extensions; 71% ב-coding assistants | Wiz survey |
| 80% מהarchitectures בענן מריצים MCP servers; 5% מהם פגיעים | Wiz |
| Mean-Time-To-Exploit: מחודשים לשעות | Wiz |
| Mean-Time-To-Remediate: גדל (פיצול לרעת ההגנה) | Wiz |
Agent Harness (rules 1-5) — איך מריצים את Claude Code:
Code Artifacts (rules 6-10) — מה Claude Code יוצר:
Developer laptop ──▶ Identity-Aware Proxy (IAP)
▼
Private VPC · ws-net · no public IPs
▼
Bastion VM (ws-bastion)
▼
Cloud Workstation (my-ws · Claude Code)
▼
Google-managed services
Vertex AI · global endpoint
Claude Opus 4.8
במילים אחרות: אסור לרוץ Claude Code עם credentials production ישירות על dev laptop. צריך Bastion + Cloud Workstation, גם אם solo dev. גם אם זה overhead — זה ה-blast radius שאתה רוצה.
מציעים scan continuous של:
תקיפה לדוגמה: github-runner → npm install → nx@0.30.4 (חבילה זדונית) → trufflehog process exfiltrates AWS credentials.
נקודה למחשבה: ה-MCPs שאתה משתמש בהם (firebase-mcp, notebooklm-mcp, Vitruvius MCPs) הם supply chain. אם אחד מהם נדבק — לכל המפתחות הלכאן יש גישה.
שמות הסוכנים: visual_artist, audio_artist, editor, critic, gemini_audio_tts, gemini_image_generation, list_gemini_voices, list_skills, load_skill, load_skill_resource, run_skill_script, download_gcs_file. כולם תחת genmedia_agent orchestrator.
למה זה חשוב ל-VitruAgent: יש לך שתי דרישות שונות שעלולות להתערבב. אחת — VitruAgent זוכר מה שהמשתמש אמר אתמול (Optimization memory). שתיים — VitruAgent מנהל workflow רב-שלבי שהמשתמש מאשר כל שלב (Orchestration control). אלה שתי מערכות נפרדות. אל תאחד.
Internet ──▶ Identity-Aware Proxy (IAP) ──▶ Cloud Run Service
│
┌───────┴────────┐
▼ ▼
Frontend SPA Custom REST APIs
│
Pipeline Webhooks
│
▼
Agent Runtime
VertexAiSessionService
│
┌─────────────────────┼───────────────────────┐
▼ ▼ ▼
Cloud Firestore Google Cloud Storage Media Generation Models
(Asset Metadata) (Asset Storage) (us-central1):
· Veo
· Nano Banana
· Lyria
Gemini 2.5 Flash (Global)
תשובה לשאלה הפתוחה שלך: איפה Google שמים session state? VertexAiSessionService — שירות מנוהל של Vertex AI. זה ה-default שלך. אל תכתוב session manager בעצמך.
19 צמתים, 4 שערי אישור אנושיים:
AWAITING_BRIEF ▼ INGESTING_ASSETS ▼ INITIALIZING_MAB ▼ 🔒 AWAITING_CREATIVE_APPROVAL (gate 1) ─── revise/present ▼ RUNNING_CREATIVE_BRIEF ▼ 🔒 AWAITING_BRIEF_APPROVAL (gate 2) ─── revise/present ▼ RUNNING_STORYLINE_TO_STORYBOARD ▼ 🔒 AWAITING_KEYFRAME_APPROVAL (gate 3) ─── revise/present ▼ RUNNING_KEYFRAMES ▼ 🔒 AWAITING_VIDEO_APPROVAL (gate 4) ─── revise/present ▼ RUNNING_VIDEO_AND_AUDIO ▼ RUNNING_POST_PRODUCTION ▼ CHECKING_ITERATION (loop state) ─── advance_pipeline (iteration loop) ▼ RUNNING_REPORT ▼ PIPELINE_COMPLETE
הציגו flow: START → WELCOME SENT → WAITING (waiting on documents) → EVENT (Webhook) → RESUME (Signature Signal) → IT PROVISIONED → WAITING (waiting on delivery) → RESUME → COMPLETED. דפוס: agent יכול לישון ימים בין שלבים, מתעורר מ-webhook + signature.
Irrelevant chatter & old tool output overloads context.
Replaying full histories burns token budget fast.
פעולה: עדכן את VitruAgent\PLAN.md M2 לדפוס dual-track + 2 Cloud Functions:
[Flutter Client] ──WebRTC/WebSocket──▶ [Cloud Function: mintRealtimeToken]
│
▼
[Gemini 3.1 Live API] ← realtime primary
│
▼
[Cloud Function: orchestrate]
│
┌───────────────┼─────────────────┐
▼ ▼ ▼
[Vertex Gemini Pro] [Firestore] [VertexAiSessionService]
(thinking) (RAG) (session state)
הסיבה: Hebrew-first ב-10 השפות הנתמכות. OpenAI Realtime עברית סבירה אבל לא ראשונה. הכרעה: Gemini 3.1 Live ראשי, OpenAI Realtime fallback. הקטן את ההשקעה בOpenAI tokens קודם.
פעולה:
VitruAgent\PLAN.md את שורת ה"primary realtime provider" מ-OpenAI ל-Gemini 3.1 Liveמתוך Online Interview demo — להוסיף לכל prompt של VitruAgent:
השאלה הפתוחה שלך אתמול ("איפה לשמור session state — Firestore? Memorystore?") נענתה: השתמש ב-VertexAiSessionService כמו GenMedia Izumi. זה service מנוהל של Vertex AI שמטפל ב-session lifetime, KV cache locality, ו-recovery. אל תכתוב משלך.
פעולה: עדכן את M2 ב-PLAN — Session state יכנס ל-VertexAiSessionService, לא ל-Firestore או Memorystore. Firestore נשאר ל-RAG ולמטה-דאטה.
גם אם VitruAgent עכשיו רץ רק על vitpmis (= משתמש אחד), כתוב את ה-system prompt מהתחלה עם variables של multi-tenant. ככה בעתיד תוסיף vitvital ו-vitsitereport בלי refactor.
Your name is ויטרו ({{tenant}}), the agent for {{user_name}}.
- Identity: Speak fluent עברית and only עברית.
- Task focus: Ask clarifying questions when information is missing.
- Professional and concise: Provide clear updates, decisions, and next steps.
Task Inputs:
- Your input is task events and metadata, not transcribed speech.
- Review any task context and attachments before acting.
- Use tools like get_project_details / list_tasks before action.
מיפוי מ-GKE Inference Gateway:
sessionId יציב לאורך כל השיחה. אל תפתח חיבור חדש per-turn.if rolling_p95_last_60s > 800ms: switch_provider(). אל תבנה ML scheduler — לא לפני 100K calls/חודש.GenMedia Izumi הציגו specialists + critic agent שצופה ב-output ונותן feedback. עבור VitruAgent:
זה ההבדל בין VitruAgent "אוטומציה" ל-VitruAgent "שותף ארגוני". עבור משימות כמו "צור פרויקט חדש ב-VitPMIS עם 5 tasks":
AWAITING_INTENT ▼ COLLECTING_DETAILS (קריאת tools, שאילות הבהרה) ▼ 🔒 AWAITING_USER_APPROVAL (gate 1: "אישור? פרויקט: X, tasks: [...]") ▼ EXECUTING_CREATE ▼ 🔒 AWAITING_FINAL_REVIEW (gate 2: "נוצר. רוצה לשנות משהו?") ▼ COMPLETED
שני שערים בלבד למשימה אחת = הרבה פחות חרטות של "ויטרו עשה לי משהו שלא רציתי". פעולה: הוסף VitruAgent\lib\state\workflow_machine.dart ל-M3.
GKE Inference Playbook אישר ש-Vertex managed (איפה שאתה עכשיו) = הבחירה הנכונה. ה-stack של GKE Inference Gateway רץ מתחת ל-Vertex. אתה מקבל את ה-35% TTFT והכל בלי תחזוקה.
Google הציגו Antigravity Managed Agent ב-Gemini Live Demo Showcase. אם זה מטפל ב-video-summary use case של VitClip — אפשר להחליף את ה-Node backend עצמי. שווה ספייק של חצי יום.
פעולה: חיפוש docs ב-cloud.google.com ספטמבר/אוקטובר 2026, החלטה במחצית 2027.
Wiz הציגו את ה-Dev-to-Agent Flow עם בדיקת secrets + SAST לפני push. עבור VitClip — הקוד הולך ל-GitHub וזה ל-Cloud Build. פעולה: הוסף git-secrets + semgrep ב-pre-commit hook של VitClip.
בעקבות "80% מ-cloud environments מריצים MCP servers, 5% פגיעים" — בדוק את כל ה-MCP servers הפעילים. עבור VitClip, אין MCPs ב-backend, רק האפליקציה הזו.
ה-AI Coach chat שתכננת ל-v41+ צריך להיות בנוי על Gong dual-track:
פעולה: עדכן את הפרק "AI Coach chat" ב-CLAUDE.md של VitVital עם ההפרדה.
Gemini 3.1 TTS Flash תומך עברית. הסיכום השבועי של VitVital (weekly_summary_service.dart) — להפיק MP3 קצר בעברית טבעית. פעולה: הוסף option ב-weekly_summary_service.dart לכתוב גם summary_audio.mp3 ב-Storage.
היום VitVital מחשב summary בריצה. עם דפוס pause/resume אפשר להפעיל async — agent מתחיל כשהמשתמש לוחץ, פותר אחרי שעה, מודיע בpush. שימושי אם הסיכום ירחיב לeval של פוטו-meals יותר ארוך.
פיצ'ר חדש שלא הוצג ספציפית אבל מופיע ב-GenMedia stack. ייתכן שבעתיד יישב טוב לקונטקסט "מה ידוע על המשתמש" שנשמר על פני סשנים בלי לכתוב הכל ב-Firestore.
ה-multi-tenant template מ-Gong מתאים בדיוק ל-VitSiteReport's orgs/{orgId}/... schema. עבור AI Rephrase (כשתחזיר אותו ב-M5/M6 עם Blaze):
You are an architect supervisor assistant for {{org_name}}.
- Identity: Speak fluent עברית and only עברית.
- Task focus: Architectural review terminology.
- Professional and concise: Improve readability without
changing semantic content. Never add facts that
weren't in the original.
ה-PDF של VitSiteReport כולל transcripts קוליים. אם משתמש מסיים בטעות לדיקטה sensitive personal data (שם פרטי של דייר, מספר טלפון, וכו') — הוא נכנס ל-PDF. כדאי scan לפני generation. פעולה: ב-M7+ הוסף regex-based PII scan ל-pdf_service.dart שמראה אזהרה לפני export אם זוהו טלפונים/ת.ז.
בעתיד — agent שעוקב אחרי פרויקט מקצה לקצה, בודק שכל הביקורים החודשיים בוצעו, מסמן כשממצא לא טופל ב-30 יום. דפוס pause/resume של Stateful Agents.
10 הכללים של Wiz+Google בהקשר הספציפי שלך:
סטטוס: חלקית — יש לך allowlist ב-settings.json. פעולה: בדוק שאין "defaultMode": "acceptEdits" או "bypassPermissions" בהגדרות. רוב הפקודות נוספות אד-הוק.
סטטוס: רץ על הdev machine הראשי שלך עם credentials production של Firebase. זה blast radius מקסימלי. פעולה: השקעה משמעותית, אבל שווה — מעבר ל-Cloud Workstation דרך IAP, וריצת Claude Code שם. עלות: ~$50/חודש Cloud Workstation. רווח: אם Claude Code מקבל instruction זדוני, לא נוגע ל-laptop שלך.
סטטוס: אין pre-commit hooks ברוב הפרויקטים. פעולה (1 שעה):
cd "D:\Vitruvius Ecosystem\VitVital" npm install --save-dev husky @secretlint/secretlint-rule-preset-recommend secretlint npx husky init echo "npx secretlint '**/*'" > .husky/pre-commit
חזור על זה ל-VitClip, VitruAgent, VitSiteReport. למניעת push של מפתח OpenAI/Firebase Service Account ב-git history.
סטטוס: משתמש ב-firebase-mcp, notebooklm-mcp, ו-MCPs כלליים. הם רצים עם capability רחב (קריאת/כתיבת קבצים, רשת).
פעולה:
.claude\settings.json הוסף allow-list של MCP tools במקום אפשרות כלליתnlm --version, firebase --version, וודא שלא הותקן MCP חדש בלי ידיעתך~/.claude/mcp.json ב-git כדי לזהות שינוייםפעולה: עבור על C:\Users\elyas\.claude\settings.json ובדוק שאין hook שמריץ קוד שאתה לא יודע מאיפה. אם יש skill חיצוני שמוסיף hooks אוטומטית — בדוק.
סטטוס: שונה בכל פרויקט. אין git לחלק (VitruAgent עצמו!). פעולה:
git init + commit ראשון, ואז branch protection ב-GitHubפעולה: ספייק של semgrep-app (חינמי לפרויקטים private עד 10) על VitVital + VitSiteReport. semgrep --config=auto תופס OWASP Top 10 רוב הזמן. אם מוצא חולשה בקוד שClaude כתב — Claude יתקן אותה ב-15 דקות.
סטטוס: בסיכון — Claude Code כתב את functions/setOrgClaim של VitSiteReport, את ה-Firebase rules, את ה-SHARED_SECRET handling של VitClip. פעולה: רשימה של "Claude לא נוגע בלי human review":
איך מאכפים: בקוד הוסף comment // SECURITY-CRITICAL: human review required for changes. ב-PR review שלך — בדוק אם Claude נגע באחד מאלו ופסל.
סטטוס: אתה עושה את זה לרוב. תזכורת: ל-PRs שעוברים את ה-100 שורות — אל תסתפק ב"Claude אמר שזה תוקן הבאג". פתח את ה-diff.
פעולה: ב-CLAUDE.md של כל פרויקט הוסף "anti-patterns שזיהינו" (יש לך כבר חלקית). הוסף "DO NOT" שורות שClaude יראה כשהוא קורא קונטקסט. דוגמה ל-VitSiteReport:
## CRITICAL — DO NOT - Never modify firestore.rules without showing the full diff and explaining the security implications - Never log Firebase credentials, tokens, or analytics PII to console - Never use `--no-verify` on git commit
VitruAgent\PLAN.md — M2 הרחבהM2 — מתעדכן בעקבות Cloud Summit 2026-06-04:
ארכיטקטורה:
- 2 Cloud Functions, לא 1:
* mintRealtimeToken (כפי שתוכנן)
* orchestrate (חדש — RAG context loader, session router,
circuit breaker, fallback handler)
Realtime provider:
- ראשי: Gemini 3.1 Live API (Hebrew-first, native)
- Fallback: OpenAI Realtime mini (יישאר ל-failover)
- Secrets: שניהם ב-Secret Manager (vitpmis project)
Session state:
- VertexAiSessionService (managed) במקום כתיבה עצמית
- sessionId יציב לאורך כל השיחה (KV cache locality)
- Firestore נשאר ל-RAG ולמטה-דאטה
System prompt:
- אמץ HARD RULES מ-Online Interview demo:
* ONE question per turn
* Concise: 1-3 sentences questions, 2-4 follow-ups
* Warm but professional. No filler. No flattery
* Silent 5-6s? Ask "would you like a moment to think?"
* Do NOT mention this is AI / Gemini
- Multi-tenant template structure (variables: tenant,
user_name, language) — even though single-tenant now
9 tools של agent_tools.dart:
- חצי דרך orchestrate, לא ישירות מ-Realtime
- כלי כתיבה (create_project, add_task) דרך orchestrate
עם state machine + human gate
Orchestration Service = 4 רכיבים נפרדים:
- Load-aware routing (provider switching)
- Content-aware routing (session affinity)
- Admission control (rate limit + max duration)
- Circuit breaker (p95 > 800ms → switch)
Critic agent pattern (M3):
- self-review על תשובות decision/action/recommendation
- לא על smalltalk
State machine + human gates:
- אל תאחד Optimization memory עם Orchestration control
- Workflow rb-שלבי = gates + advance/revise
- חדש: VitruAgent\lib\state\workflow_machine.dart
Long-running with pause/resume:
- webhook + signature signal (M4+)
VitVital\CLAUDE.md — חלק AI Coach### VitVital — AI Coach chat (תכנון, סשן 0044+) Architecture (מבוסס Gong dual-track + GenMedia Izumi): - Gemini 2.5 Pro: analysis layer (30 days data → insights) - Gemini 3.1 Live: dialog layer בלבד - RAG: Firestore queries ב-orchestrate, לא per-turn - TTS: Gemini 3.1 TTS Flash לאודיו עברי טבעי Hebrew priority: - All system prompts בעברית עכשווית - חוק "סיימת" → "סיימת" (לא "גמרת") — ראה Global Rules Cost guards (קריטי, ראה lecture v32): - gemini_usage_service tracking לכל קריאה - Cache hit על אותו prompt+context (כמו gemini_image_cache) - max session = 10 דקות / 100 turns
VitSiteReport\PLAN.md — M5 הרחבה (AI Rephrase)### M5 — AI Rephrase (Blaze)
Template (מבוסס Gong multi-tenant):
You are an architect supervisor assistant for {{org_name}}.
- Identity: Speak fluent עברית and only עברית.
- Task focus: Architectural review terminology.
- Professional and concise: Improve readability without
changing semantic content. Never add facts that
weren't in the original.
- DO NOT mention this is AI / Claude / Gemini.
Disclaimer trigger (Plan §3.7 שכבה 3):
- first_ai_rephrase modal — חובה לפני שימוש ראשון
- Acknowledged in users.disclaimersAcknowledged.first_ai_rephrase
Security (M5-M6):
- PII scan ב-pdf_service.dart לפני export
- regex: ת.ז 9 ספרות + טלפונים ישראלים
- אזהרה למשתמש אם זוהה — לא חוסם, רק מסמן
VitClip\CLAUDE.md — Confirmation### VitClip — חיזוק החלטה (סשן Cloud Summit 0044) GKE Inference Playbook session (Cloud Summit 26): - Vertex AI managed = GKE Inference Gateway underneath - VitClip Cloud Run + Vertex gemini-2.5-flash = OPTIMAL stack - אסור לעבור ל-GKE עצמאי לפני 100K calls/חודש - Cold start על GKE = 5 דק' = הורג bursty workload Watch list: - Antigravity Managed Agent (Gemini Live Demo 11:15) → potential backend replacement Q2-Q3 2027
CLAUDE.md global — הוסף "Coding Agent Security Hygiene"## Coding Agent Security Hygiene (Cloud Summit 0044) ### Daily — Claude Code workflow 1. No YOLO mode — allowlist ב-settings.json בלבד 2. Sandbox: dev machine = production-credentials environment. Treat with care. Cloud Workstation TODO (Q3 2026). 3. Pre-commit hooks: secretlint + semgrep (התקנה: 1 שעה) 4. MCP servers = supply chain. Allow-list per-tool. 5. Managed settings — אין hooks אד-הוק ### Per-PR — code review 6. CI gate חובה. אין push ל-main. 7. semgrep --config=auto לפני merge 8. SECURITY-CRITICAL files (rules, auth, RBAC, OAuth): Claude can edit, אבל אני קורא diff מילה במילה 9. Review the diff. אל תאמין לסיכום. 10. CLAUDE.md הוא ה-guardrails — keep DO NOT updated
nlm login → אעלה את האודיו ל-NotebookLM ואוסיף לקובץ הזה את התובנות שחבויות באודיו (במיוחד Gong production numbers)