שיעור 10

טיפים מעשיים — זה כל מה שצריך

קוד מובנה (שיעור 8), מערכת מובנית (שיעור 9). נשארו נתונים. נתונים הם הכי מסוכנים. קוד שגוי → טסט תופס. מערכת שגויה → /health תופס. נתונים שגויים → אף אחד לא יודע. מגלים אחרי 3 חודשים בדוח רבעוני.

לסוכן: “תעשה סכמה עם עמודות מפורשות ומגבלות במקום JSONB. amount חייב להיות גדול מ-0, status רק ערכים מורשים.”

JSONB מקבל הכל — אחרי 6 חודשים 100 פורמטים מעורבים. עמודות מפורשות ומגבלות הם חוק הנתונים.

לסוכן: “תייבא את ה-Excel ל-DB. חייב לכבד מגבלות DDL. שורות שנדחות — קובץ נפרד עם דוח.”

לסוכן: “שנה DDL, עבור yongol validate. צור קובץ migration, בכישלון — rollback.”


למה צריך לפקד ככה

נתונים נרקבים לפני קוד

קוד שגוי → טסט תופס תוך שנייה. מערכת שגויה → /health מודיע מיד. נתונים שגויים → אף אחד לא יודע. גילוי אחרי 3 חודשים: “למה ההכנסות שליליות?”

3 סוגי ריקבון נתונים

  1. חוסר סכמה — JSONB מקבל הכל → 100 פורמטים אחרי 6 חודשים
  2. כישלון migration — משתמשים חדשים עם אימייל, 100,000 ישנים בלי → שגיאת 500
  3. הפרת כללים עסקיים — בלי CHECK constraint → הנחה של 200% אפשרית

4 תנאים ל-Agent Operable Data

1. סכמה מוצהרת (DDL) — סוגים, מגבלות, קשרים מפורשים.

2. טרנספורמציות ניתנות לאימות — כללים בקובץ הצהרתי, אימות אינווריאנטים לפני ואחרי.

3. מקור ומועד ניתנים למעקב — source, created_at, created_by ב-DB.

4. Ratchet גם לשינויי נתונים — שינוי DDL → validate → migration (up+down) → staging → עבר → production (אישור) → נכשל → rollback.

הסכמה היא החוק שאני מחוקק

שלטון חוק מיושם על נתונים:

שלטון חוקסכמת נתונים
ניתן לאימותCHECK (amount > 0) — ה-DB מאמת אוטומטית
הפרה מוגדרתNOT NULL, FOREIGN KEY — בדיד
ניתן לאכוףהפרה → INSERT נדחה

חוק אינו צדק (justice) אלא הגדרה (definition).

נתונים בלי סכמה = חברה ללא חוק. נתונים עם סכמה = מדינת חוק.

3 קווי הגנה

קו 1: מגבלות DB — NOT NULL, UNIQUE, CHECK, FOREIGN KEY. בלתי ניתנות לעקיפה.

קו 2: כללי Rego — מה שמגבלות DB לא יכולות לבטא. “הנחה מעל 30% דורשת אישור מנהל.”

קו 3: Ratchet migration — DDL → validate → migration → staging → עבר → production.

חזון 10 שיעורים

שיעור 1: "תעשה אפליקציית משימות" → קוד מגיע. 3 תכונות עובדות.

שיעור 10: "תעשה SaaS לניהול הזמנות"
  → סכמה, תכונות, כללים — מוצהרים
  → קוד: yongol מייצר מ-SSOT
  → מערכת: CI/CD מאוטמט בנייה-deploy-ניטור
  → נתונים: DDL אוכף סכמה, Rego מאמת כללים
  → אדם: רק לוחץ "מאושר"
  → ב-200 endpointים לא קורס

קוד → מערכת → נתונים. שלושה תחומים, עיקרון אחד.

להצהיר, לאמת, לנעול, להנציח. החלטות: אדם. יישום ואימות: מכונה. לא שלטון אדם, אלא שלטון חוק.

אומרים במילים ונבנה. לא רק קוד — גם מערכת ונתונים. כדי שזה יהיה אפשרי, צריך רסן, מסילה וחוק. לתכנן את הרסן, המסילה והחוק — זה Reins Engineering.


קורס Reins Engineering המלא

שיעורכותרת
שיעור 1איך לפקד על AI
שיעור 2למה אי אפשר לסמוך על AI
שיעור 3אפליקציות שלא נשברות
שיעור 4החלטות מחוץ לקוד
שיעור 5AI עם רסן
שיעור 6עבר = נעול
שיעור 7איך להפוך חנופה
שיעור 8המפעל של הסוכן
שיעור 9אוטומציה מעבר לקוד
שיעור 10חוק הנתונים

מקורות

  • E.F. Codd, “A Relational Model of Data” (1970)
  • OPA / Rego — שפת מדיניות הצהרתית לאימות כללים עסקיים
  • yongol DDL → sqlc chaining — אימות צולב רציף מסכמה לקוד בטוח-טיפוסים
  • שלטון חוק (Rule of Law) — אימות, הגדרת הפרה, אכיפה חלים על קוד, מערכת ונתונים