Skip to content

fix(manual-links): allow start on local↔local records - #111

Merged
Y-PLONI merged 1 commit into
otzariafrom
fix/manual-links-local-start
Nov 2, 2026
Merged

Y-PLONI merged 1 commit into
otzariafrom
fix/manual-links-local-start

Conversation

@Y-PLONI

@Y-PLONI Y-PLONI commented Nov 2, 2026

Copy link
Copy Markdown
Member

מה שונה

ManualLinksRefresh דחה כל start שהמקור שלו אינו ספר של ספריא. לכן 1,323 הקישורים עם start ב־Otzaria/otzaria-library#670 (ארצות החיים → המאיר לארץ / ארץ יהודה, שלושתם לא בספריא) היו מפילים את S1 ב־sync-manual-links.

הכלל הוקל לפי אותו היגיון של end: ברשומה מקומי↔מקומי ה־refresh ממילא לא נוגע (היא irrelevant) ולא משכתב את ה־offsets, ו־start נשמר כמו שהוא. המחולל (buildLinkAnchor ב־otzariasqlite) כבר מייבא עוגן לכל קישור אוצריא.

  • מקור ספריא: ללא שינוי (מחייב anchor_src_hash, הזזת עוגנים כרגיל)
  • מקור מקומי ויעד ספריא עם start: נשאר כשל (אין היום נתונים כאלה, ולא פותחים מסלול לא נבדק)
  • MANUAL_LINKS_REPAIR_PLAN.md עודכן בהתאם

אימות

  • ./gradlew :sefariasqlite:jvmTest --tests '*manuallinks*': ‏54/54. שני טסטים חדשים: מקומי↔מקומי עם start עובר bootstrap ו־refresh בלי לשנות בייט; מקומי→ספריא עם start נכשל. הטסט הראשון נכשל בלי התיקון.
  • refreshManualLinks אמיתי (mode=refresh, ייצוא ספריא 2026-11-01_07-25-41276693853-1, sha מאומת):
    • ראש #670 בלי התיקון: failed, בדיוק בחוסם (ארצות החיים_links.json[1]: start is allowed only…)
    • ראש #670 עם התיקון: no_op, ‏528,809 רשומות ללא שינוי
    • main עם התיקון: no_op. ההפרש מול #670 הוא 1,323 רשומות irrelevant בדיוק, וה־284,585 הרלוונטיות זהות

אין שינוי סכמה ואין צורך בבנייה מחדש. אפשר למזג את #670 רק אחרי שזה ימוזג.

The refresh rejected any `start` whose source is not Sefaria, so the 1,323
anchored commentary links of otzaria-library#670 (ארצות החיים, local on both
sides) would fail S1. Such a record is out of scope: refresh never rewrites
its offsets, exactly like `end`, and the generator already imports the
anchor. A local source with a Sefaria target stays fatal.
@Y-PLONI
Y-PLONI merged commit 66ec31c into otzaria Nov 2, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant