Yerushalmi Yomi · Techie Talmid · On-Ramp

Jerusalem Talmud Nedarim 8:1:1-2:2

On-RampTechie TalmidNovember 20, 2025

Bug Report: Temporal Scope Resolution in Vow Systems

Problem Statement:

Our current vow-processing system, which handles declarations of qônām (vows), is experiencing a temporal scope resolution bug. When a user declares a vow using relative temporal markers like "today," "this week," "this month," or "this year," the system sometimes misinterprets the intended duration. Specifically, it struggles with the boundary conditions of these temporal units, leading to premature termination of the vow's effect. The core issue lies in how the system parses the semantic boundaries of these time periods, particularly when they intersect with established calendrical or cyclical markers (e.g., nightfall, Sabbath, New Moon, New Year, Sabbatical year). The bug manifests as vows expiring before the full intended period has elapsed according to common parlance or the specific context of the vow. We need to debug the temporal logic to ensure vows are applied with the correct, user-intended scope.

Text Snapshot

Here are the key lines from the Jerusalem Talmud Nedarim 8:1:1-2:2 that define the problem and offer potential solutions:

  • MISHNAH: ‘A qônām that I shall not taste wine today,’ he is forbidden only until nightfall.
  • MISHNAH: ‘This week’, he is forbidden the entire week; the Sabbath belongs to the past.
  • MISHNAH: ‘This month’, he is forbidden the entire month; the day of the New Moon belongs to the future.
  • MISHNAH: ‘This year’, he is forbidden the entire year; New Year’s Day belongs to the future.
  • MISHNAH: ‘This Sabbatical period’, he is forbidden the entire Sabbatical period; the Sabbatical year belongs to the past.
  • MISHNAH: But if he said, one day, one week, one month, one year, he is forbidden from day.
  • HALAKHAH: “ ‘A qônām that I shall not taste wine today,’ ” etc. This implies that he is permitted at nightfall.
  • HALAKHAH: Does this not disagree with Rebbi Joḥanan, since Rebbi Joḥanan said, in matters of vows one follows common usage?
  • HALAKHAH: It is not usual that a man should say to another in the evening, I did not eat until evening. Would he say, yesterday?
  • HALAKHAH: It is not usual that a man should say to another in the morning, I did not eat in the evening. Would he say, the same day?
  • HALAKHAH: What is the difference between “this day” and “today”? That is, following the opinion that in matters of vows one follows common usage. But here, one follows the opinion that in matters of vows one follows biblical usage.
  • HALAKHAH: Rebbi Jonah from Bostra said, it is the way of people to say to another, bear with me this day.
  • MISHNAH: ‘Until Passover’, he is forbidden until it comes, ‘until it be’, he is forbidden until it is passed.
  • MISHNAH: ‘Until before Passover’, Rebbi Meїr says, until it comes, Rebbi Yose says, until it passed.
  • HALAKHAH: Rebbi Jeremiah asked before Rebbi Ze‘ira: The opinion of Rebbi Yose seems to be inverted. There, he says “until all the elder possibilities are exhausted, until all the younger possibilities are exhausted,” and here, he says so?

Flow Model: Temporal Vow Scope Resolution

This is a simplified decision tree representing the core logic for resolving temporal vow scopes based on the Mishnah and early Halakhah.

  • START
    • Input: Temporal Vow Declaration (e.g., "today," "this week," "this month," "this year")
    • Condition: Is the temporal unit explicitly defined with a starting and ending marker?
      • YES:
        • Sub-condition: Is the marker "until X" or "until it be X"?
          • YES (until X): Vow forbidden until the start of X.
          • YES (until it be X): Vow forbidden until X has passed.
          • NO: Default to common usage/biblical usage (see below).
        • Output: Vow scope determined by explicit markers.
      • NO:
        • Determine Temporal Unit: (Day, Week, Month, Year, Sabbatical Period)
        • Apply Rule based on Unit & Context:
          • 'Today' / 'This Day':
            • Context: Common Usage vs. Biblical Usage
              • Common Usage (Rebbi Joḥanan): Forbidden until nightfall of the current day.
              • Biblical Usage: Forbidden until nightfall of the next day (day includes night).
            • Output: Vow scope determined by usage type.
          • 'This Week':
            • Rule: Forbidden for the entire week, including the Sabbath. The Sabbath is considered part of the week.
            • Output: Forbidden until after the coming Sabbath.
          • 'This Month':
            • Rule: Forbidden for the entire month. The New Moon of the following month is not included in the vow's end.
            • Output: Forbidden until the day before the next New Moon.
          • 'This Year':
            • Rule: Forbidden for the entire year. New Year's Day of the following year is not included in the vow's end.
            • Output: Forbidden until the day before the next New Year.
          • 'This Sabbatical Period':
            • Rule: Forbidden for the entire Sabbatical period. The Sabbatical year itself is included in the vow's end.
            • Output: Forbidden until the end of the Sabbatical year.
        • Consider "One X" vs. "This X":
          • 'One Day'/'One Week'/'One Month'/'One Year': Vow duration is precisely calculated from the moment of declaration. (e.g., 24 hours for a day, 7x24 hours for a week).
          • 'This Day'/'This Week' etc.: Vow duration is determined by calendrical/cyclical boundaries as per the rules above.
    • END

Two Implementations: Rishonim vs. Acharonim (Algorithm A vs. Algorithm B)

The development of temporal scope resolution in vow interpretation can be seen as an evolution of algorithms. We can model the Rishonim (early commentators) and Acharonim (later commentators) as distinct algorithmic approaches, each building upon and refining the previous one.

Algorithm A: The Rishonim's Contextual & Vernacular Parser

The Rishonim, as represented by the initial Mishnah and the early Halakhah, operate with a parser that prioritizes common usage (מנהג העולם, minhag ha'olam) and biblical usage (דיבורא דכתב, dibburah de'ktav). This algorithm is less about precise, discrete time units and more about how people perceive and speak about time.

Core Logic:

  1. Input Vow String: Parse the temporal descriptor (e.g., "today," "this week").
  2. Temporal Unit Identification: Classify the unit (day, week, month, year, sabbatical period).
  3. Contextual Boundary Check:
    • 'Today':
      • If Common Usage (Rebbi Joḥanan):
        • Identify the current day's end-point. The standard end-point is nightfall (תחשך, tichshech).
        • Vow duration = [Time of Vow] to [Nightfall of the same day].
      • If Biblical Usage (as implied by the contrast):
        • Identify the next day's start-point. Biblical days begin with night.
        • Vow duration = [Time of Vow] to [Sunrise of the next day]. (This is a simplification; the actual biblical day is 24 hours from sunset to sunset). The text implies "today" in biblical usage encompasses the night preceding it.
    • 'This Week':
      • Vow duration = [Time of Vow] to [End of the upcoming Sabbath day]. The Sabbath is inclusive within the "this week" scope.
    • 'This Month':
      • Vow duration = [Time of Vow] to [End of the current calendar month]. The next New Moon is excluded as the end boundary; it marks the start of a new period.
    • 'This Year':
      • Vow duration = [Time of Vow] to [End of the current calendar year]. The next New Year's Day is excluded.
    • 'This Sabbatical Period':
      • Vow duration = [Time of Vow] to [End of the Sabbatical year]. The Sabbatical year is inclusive.
  4. "One X" vs. "This X" Differentiator:
    • If the vow is "one X" (e.g., "one day"), the duration is a precise interval from the moment of the vow (e.g., 24 hours from the exact time of utterance).
    • If the vow is "this X," it adheres to the contextual boundary rules above, aligning with natural temporal segments rather than precise clock-time intervals.

Metaphor: Algorithm A is like a natural language processing (NLP) engine that understands colloquialisms and cultural context. It doesn't just parse keywords; it tries to infer meaning based on how people typically speak and understand time. It’s fuzzy, context-dependent, and relies heavily on a knowledge base of common usage.

Algorithm B: The Acharonim's Refined Chronological Engine

The Acharonim, through further analysis and debate (as seen in the later parts of the sugya and implied by the need for clarification), start to build a more robust, rule-based chronological engine. They identify ambiguities and attempt to create more deterministic outcomes, often by seeking more precise definitions of temporal units and their boundaries, especially when dealing with specific calendar events like Passover.

Core Logic:

  1. Input Vow String: Parse the temporal descriptor.
  2. Temporal Unit Identification: Classify the unit.
  3. Precise Boundary Mapping (with nuances):
    • 'Today'/'This Day': The debate between common and biblical usage suggests two possible resolutions, reflecting different "day" definitions in the system's clock.
      • Resolution 1 (Common Usage): Day ends at nightfall.
      • Resolution 2 (Biblical Usage): Day begins at nightfall and ends at the next nightfall (24-hour cycle). The sugya implies the common usage is the default for "today."
    • 'This Week': Inclusively covers all days until the end of the Sabbath.
    • 'This Month': Inclusively covers all days until the end of the month. The New Moon is the start of the next month, thus outside the current vow.
    • 'This Year': Inclusively covers all days until the end of the year. New Year's Day is the start of the next year, thus outside the current vow.
    • 'This Sabbatical Period': Inclusively covers all years until the end of the Sabbatical year.
    • 'Until X' vs. 'Until it be X' (e.g., 'Until Passover'): This introduces a critical distinction for precise event-based boundaries.
      • 'Until X': The prohibition ends at the beginning of the day/event X.
      • 'Until it be X' / 'Until it passed X': The prohibition ends after the day/event X has concluded.
    • 'Until Before X': This is where the Acharonim's refinement is most evident, highlighting the need for explicit disambiguation.
      • Rebbi Meїr's Interpretation: Aligns with 'until X' logic – prohibition ends before the start of X.
      • Rebbi Yose's Interpretation: Aligns with 'until it be X' logic – prohibition ends after X. The sugya suggests Rebbi Yose's position is inverted from his typical approach in other contexts, indicating a complex rule interaction. The "Nabatean expression" explanation points to vernacular ambiguity requiring explicit clarification.
  4. "One X" vs. "This X" Differentiator: Remains consistent with Algorithm A – "one X" is a precise interval, "this X" is a calendrical/cyclical segment.

Metaphor: Algorithm B is like a state machine with precise transition functions. It maps inputs to specific states (forbidden/permitted) based on well-defined time points and transitions. It aims for deterministic outputs by resolving ambiguities through explicit rules and clarifications, especially at the boundaries of calendrical events. The debate around "until Passover" vs. "until it be Passover" is akin to defining the exact moment a flag is set or reset in a system.

Edge Cases: Input Data That Breaks Naïve Logic

The temporal scope resolution system needs to be robust. Here are two edge cases that would break a naïve, literal interpretation of temporal units:

Edge Case 1: Vowing "Until Tomorrow" on a Friday

  • Input: User declares "Qônām wine, I shall not taste wine until tomorrow." The current day is Friday.
  • Naïve Logic: "Tomorrow" is Saturday. The vow should expire on Saturday morning (if using a 24-hour cycle) or Saturday night (if considering "tomorrow" as the entire day, including its night).
  • Problematic Output: If the system simply adds 24 hours from the moment of the vow, it might resolve the vow's expiration to Saturday evening. However, the Sabbath (Shabbat) has specific halakhic implications. A vow related to "tomorrow" on a Friday, especially when involving prohibition, might be interpreted by common usage to extend through the entire Sabbath day, as the Sabbath is a distinct, holier temporal unit. The sugya's discussion about "this week" and "the Sabbath belongs to the past" (meaning it's the end of the period, not the start of a new one) hints at this. The vow is about "tomorrow," not just any 24-hour period.
  • Expected Output (based on sugya's principles): The vow should be interpreted to last until Saturday nightfall, encompassing the entirety of the Sabbath day, aligning with the principle that "this week" includes the Sabbath. The common usage principle likely dictates that when one says "tomorrow" on Friday, they are referring to the period after the current day's obligations (including Shabbat) are over.

Edge Case 2: Vowing "Until This Month" on the Last Day of Elul

  • Input: User declares "Qônām wine, I shall not taste wine until this month." The current day is the last day of Elul (the 12th month, preceding Tishrei, the New Year).
  • Naïve Logic: "This month" refers to Elul. The vow should expire at the end of Elul.
  • Problematic Output: A naïve system might interpret "this month" as expiring at the literal end of the calendar month of Elul. However, the sugya explicitly states for "this month" that "the day of the New Moon belongs to the future" (8:1:1:3). This means that if one vows "this month," they are forbidden for the entire month, but permitted on Rosh Chodesh (New Moon) of the next month. If today is the last day of Elul, and the vow is "until this month," the vow should technically end before the New Moon of Tishrei. However, the Mishnah's phrasing for "this year" and "this month" implies the prohibition extends throughout the named period. The critical ambiguity is whether "until this month" means "until the end of this month" or "until the beginning of the next month." The sugya's explanation for "this month" (forbidden the entire month; the New Moon belongs to the future) implies that the prohibition ends at the end of the current month, and the next month's New Moon is permitted. But if the vow is made on the last day of Elul, and the vow is "until this month," the implication is that the prohibition should end before Rosh Chodesh Tishrei.
  • Expected Output (based on sugya's principles): The vow should be interpreted to last until the very end of Elul, meaning the person is permitted to drink wine on Rosh Chodesh Tishrei. The phrasing "until this month" when made on the last day of the month means the prohibition covers the duration of Elul, and the start of the next month (Tishrei) is the point of permissibility. The Mishnah's explanation that "New Moon belongs to the future" means Rosh Chodesh is the first day of the new month, and thus outside the prohibition of the previous month.

Refactor: Clarifying Temporal Unit Boundaries

The core ambiguity often lies in whether the stated temporal unit includes its boundary marker or if the boundary marker signifies the end of the prohibition. The sugya's discussion of "this month" and "this year" versus "the New Moon belongs to the future" or "New Year's Day belongs to the future" is crucial.

Minimal Change:

Add a consistent rule for all specified temporal units ("this day," "this week," "this month," "this year," "this sabbatical period"):

New Rule: For vows using the demonstrative "this [temporal unit]," the prohibition extends through the entirety of the specified unit. Any calendar marker that signifies the beginning of the next unit (e.g., New Moon for a month, New Year for a year) is considered the point of permissibility, meaning the prohibition ends before that marker. The exception is "this week" and "this sabbatical period," where the ending unit (Sabbath, Sabbatical Year) is included within the prohibition.

Impact: This refactor clarifies that "this month" ends before the next Rosh Chodesh, and "this year" ends before the next Rosh Hashanah. The existing exception for "this week" and "this sabbatical period" is explicitly maintained. This aligns with the specific explanations given for the month and year units, where the subsequent calendar marker is explicitly stated to be "to the future."

Takeaway: State Transitions and Vernacular Parsing

This sugya provides a fascinating case study in how we design systems to interpret human intent, especially when dealing with imprecise, context-dependent language. We can see the evolution from an Algorithm A (Rishonim), which acts like a sophisticated vernacular parser, deeply embedded in the user's assumed understanding of time and social norms, to a more deterministic Algorithm B (Acharonim) that refines the temporal state transitions.

The core challenge is the "parsing" of temporal scopes. A simple counter that increments by 24 hours for a "day" vow is insufficient. We need a system that understands:

  1. Calendrical States: Recognizing units like days, weeks, months, years, and sabbatical cycles as distinct states.
  2. Boundary Events: Identifying transition points like nightfall, Sabbath, New Moon, New Year, and Sabbatical Year.
  3. Inclusivity vs. Exclusivity: Determining whether a boundary event is the end of the forbidden state or the beginning of the permitted state. The Mishnah explicitly tells us that for "this month" and "this year," the New Moon/New Year is "to the future," meaning it's the start of the next period, and thus the prohibition of the previous period ends before it.
  4. Common Usage vs. Precise Definition: The debate between Rebbi Joḥanan and others highlights the tension between how people actually speak and how time mathematically progresses. Our system needs to be able to switch between these modes, or at least prioritize one based on context.

The refactoring suggestion aims to make the rule for months and years more explicit, aligning with the stated principle that the New Moon/New Year is "to the future." This emphasizes that the vow covers the duration of the current period, and the start of the next period is the permissible point. This is akin to setting a timer that runs until a specific date, but understanding that the target date itself is not part of the countdown. The system must be able to resolve these temporal scopes with the precision of a well-architected state machine, while still respecting the nuanced "flavor text" of vernacular temporal expressions.