{"abstract":"Querying on an occurrence date returns that same date as the next occurrence.","category":"Calendar recurrence rules","checks":7,"contract":"A series occurs every interval_weeks weeks starting at anchor, for count occurrences. For a query date return [is_occurrence, next occurrence strictly after the query or None, 0-based index of that next occurrence or None]. Dates before the anchor are never occurrences; the next occurrence after a query before the anchor is the anchor itself.","evaluation_group":"w2-calendar-recurrence-rules-biweekly-anchor-lookup","failed_approach":"The partial repair `(diff + 1) // period + 1` rounds the day before an occurrence up into the following period.","family":"w2-calendar-recurrence-rules-biweekly-anchor-lookup-next-index","id":"FA-77076","implementations":{"attempt":{"sha256":"aea43bafe222c96ddf625bf1abc4a56fc9b8572b8f23973a8b0a4a45becf9c18","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(anchor, interval_weeks, count, query):\n    a = dt.date.fromisoformat(anchor)\n    q = dt.date.fromisoformat(query)\n    period = 7 * interval_weeks\n    diff = (q - a).days\n    is_occ = diff >= 0 and diff % period == 0 and diff // period < count\n    if diff < 0:\n        idx = 0\n    else:\n        idx = (diff + 1) // period + 1\n    if idx >= count:\n        return [is_occ, None, None]\n    return [is_occ, (a + dt.timedelta(days=idx * period)).isoformat(), idx]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: aligned date before anchor', ['2024-01-05', 2, 10, '2023-12-22'], [False, '2024-01-05', 0]),\n  ('query on anchor', ['2024-01-05', 2, 10, '2024-01-05'], [True, '2024-01-19', 1]),\n  ('query on later occurrence', ['2024-01-05', 2, 10, '2024-02-02'], [True, '2024-02-16', 3]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1]),\n  ('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0])],\n [('query on later occurrence', ['2024-01-05', 2, 10, '2024-02-02'], [True, '2024-02-16', 3]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1]),\n  ('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3])],\n [('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])],\n [('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('three periods before anchor weekly', ['2024-03-04', 1, 5, '2024-02-12'], [False, '2024-03-04', 0]),\n  ('beyond series end', ['2024-03-04', 1, 2, '2024-04-30'], [False, None, None]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])],\n [('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('three periods before anchor weekly', ['2024-03-04', 1, 5, '2024-02-12'], [False, '2024-03-04', 0]),\n  ('beyond series end', ['2024-03-04', 1, 2, '2024-04-30'], [False, None, None]),\n  ('penultimate occurrence', ['2024-06-07', 2, 4, '2024-07-05'], [True, '2024-07-19', 3]),\n  ('regression: aligned date before anchor', ['2024-01-05', 2, 10, '2023-12-22'], [False, '2024-01-05', 0]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"2b18200399d0bb3f5f3e2f59318ede537b07227069b4063e16bc47e262010d18","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(anchor, interval_weeks, count, query):\n    a = dt.date.fromisoformat(anchor)\n    q = dt.date.fromisoformat(query)\n    period = 7 * interval_weeks\n    diff = (q - a).days\n    is_occ = diff >= 0 and diff % period == 0 and diff // period < count\n    if diff < 0:\n        idx = 0\n    else:\n        idx = -(-diff // period)\n    if idx >= count:\n        return [is_occ, None, None]\n    return [is_occ, (a + dt.timedelta(days=idx * period)).isoformat(), idx]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: aligned date before anchor', ['2024-01-05', 2, 10, '2023-12-22'], [False, '2024-01-05', 0]),\n  ('query on anchor', ['2024-01-05', 2, 10, '2024-01-05'], [True, '2024-01-19', 1]),\n  ('query on later occurrence', ['2024-01-05', 2, 10, '2024-02-02'], [True, '2024-02-16', 3]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1]),\n  ('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0])],\n [('query on later occurrence', ['2024-01-05', 2, 10, '2024-02-02'], [True, '2024-02-16', 3]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1]),\n  ('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3])],\n [('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])],\n [('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('three periods before anchor weekly', ['2024-03-04', 1, 5, '2024-02-12'], [False, '2024-03-04', 0]),\n  ('beyond series end', ['2024-03-04', 1, 2, '2024-04-30'], [False, None, None]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])],\n [('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('three periods before anchor weekly', ['2024-03-04', 1, 5, '2024-02-12'], [False, '2024-03-04', 0]),\n  ('beyond series end', ['2024-03-04', 1, 2, '2024-04-30'], [False, None, None]),\n  ('penultimate occurrence', ['2024-06-07', 2, 4, '2024-07-05'], [True, '2024-07-19', 3]),\n  ('regression: aligned date before anchor', ['2024-01-05', 2, 10, '2023-12-22'], [False, '2024-01-05', 0]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"91c8d4c896d50a4803cf45ec1c03be8c55ebd470705209f0e168cbf97cd1a151","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(anchor, interval_weeks, count, query):\n    a = dt.date.fromisoformat(anchor)\n    q = dt.date.fromisoformat(query)\n    period = 7 * interval_weeks\n    diff = (q - a).days\n    is_occ = diff >= 0 and diff % period == 0 and diff // period < count\n    if diff < 0:\n        idx = 0\n    else:\n        idx = diff // period + 1\n    if idx >= count:\n        return [is_occ, None, None]\n    return [is_occ, (a + dt.timedelta(days=idx * period)).isoformat(), idx]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: aligned date before anchor', ['2024-01-05', 2, 10, '2023-12-22'], [False, '2024-01-05', 0]),\n  ('query on anchor', ['2024-01-05', 2, 10, '2024-01-05'], [True, '2024-01-19', 1]),\n  ('query on later occurrence', ['2024-01-05', 2, 10, '2024-02-02'], [True, '2024-02-16', 3]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1]),\n  ('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0])],\n [('query on later occurrence', ['2024-01-05', 2, 10, '2024-02-02'], [True, '2024-02-16', 3]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1]),\n  ('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3])],\n [('one period after last', ['2024-01-05', 2, 3, '2024-02-16'], [False, None, None]),\n  ('query on last occurrence', ['2024-01-05', 2, 3, '2024-02-02'], [True, None, None]),\n  ('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])],\n [('far before anchor', ['2024-01-05', 3, 4, '2023-11-01'], [False, '2024-01-05', 0]),\n  ('weekly mid week', ['2024-03-04', 1, 5, '2024-03-13'], [False, '2024-03-18', 2]),\n  ('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('three periods before anchor weekly', ['2024-03-04', 1, 5, '2024-02-12'], [False, '2024-03-04', 0]),\n  ('beyond series end', ['2024-03-04', 1, 2, '2024-04-30'], [False, None, None]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])],\n [('four-weekly aligned', ['2024-03-04', 4, 6, '2024-04-29'], [True, '2024-05-27', 3]),\n  ('aligned before anchor weekly', ['2024-03-04', 1, 5, '2024-02-26'], [False, '2024-03-04', 0]),\n  ('two periods before anchor', ['2024-01-05', 2, 10, '2023-12-08'], [False, '2024-01-05', 0]),\n  ('three periods before anchor weekly', ['2024-03-04', 1, 5, '2024-02-12'], [False, '2024-03-04', 0]),\n  ('beyond series end', ['2024-03-04', 1, 2, '2024-04-30'], [False, None, None]),\n  ('penultimate occurrence', ['2024-06-07', 2, 4, '2024-07-05'], [True, '2024-07-19', 3]),\n  ('regression: aligned date before anchor', ['2024-01-05', 2, 10, '2023-12-22'], [False, '2024-01-05', 0]),\n  ('day before occurrence', ['2024-01-05', 2, 10, '2024-01-18'], [False, '2024-01-19', 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated, bounded recurrence-expansion model evaluated offline on explicit fixtures; it is not a complete iCalendar implementation and makes no claim of standards conformance. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-calendar-recurrence-rules-biweekly-anchor-lookup-next-index","generated_at":"2026-09-29T14:49:22.285172+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Recurring calendar series are expanded into concrete instances for display, reminders and conflict checks.","repair":"At the next index decision use `diff // period + 1`, leaving the other decision sites of the model unchanged.","root_cause":"The next index uses a ceiling division, giving at-or-after instead of strictly-after semantics.","sha256":"53d34b0668f33ca14474b7046d2b38f0b08a3b62b1f71fecc7b9f3605f1a2b00","title":"Occurrence test and next-occurrence lookup for an anchored N-weekly series: next index · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.964,"exit_code":1,"observations":[{"actual":[false,"2024-01-05",0],"check":"regression: aligned date before anchor","expected":[false,"2024-01-05",0],"passed":true},{"actual":[true,"2024-01-19",1],"check":"query on anchor","expected":[true,"2024-01-19",1],"passed":true},{"actual":[true,"2024-02-16",3],"check":"query on later occurrence","expected":[true,"2024-02-16",3],"passed":true},{"actual":[false,"2024-02-02",2],"check":"day before occurrence","expected":[false,"2024-01-19",1],"passed":false},{"actual":[false,null,null],"check":"one period after last","expected":[false,null,null],"passed":true},{"actual":[true,null,null],"check":"query on last occurrence","expected":[true,null,null],"passed":true},{"actual":[false,"2024-01-05",0],"check":"far before anchor","expected":[false,"2024-01-05",0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: aligned date before anchor\", \"actual\": [false, \"2024-01-05\", 0], \"expected\": [false, \"2024-01-05\", 0], \"passed\": true}, {\"check\": \"query on anchor\", \"actual\": [true, \"2024-01-19\", 1], \"expected\": [true, \"2024-01-19\", 1], \"passed\": true}, {\"check\": \"query on later occurrence\", \"actual\": [true, \"2024-02-16\", 3], \"expected\": [true, \"2024-02-16\", 3], \"passed\": true}, {\"check\": \"day before occurrence\", \"actual\": [false, \"2024-02-02\", 2], \"expected\": [false, \"2024-01-19\", 1], \"passed\": false}, {\"check\": \"one period after last\", \"actual\": [false, null, null], \"expected\": [false, null, null], \"passed\": true}, {\"check\": \"query on last occurrence\", \"actual\": [true, null, null], \"expected\": [true, null, null], \"passed\": true}, {\"check\": \"far before anchor\", \"actual\": [false, \"2024-01-05\", 0], \"expected\": [false, \"2024-01-05\", 0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.415,"exit_code":1,"observations":[{"actual":[false,"2024-01-05",0],"check":"regression: aligned date before anchor","expected":[false,"2024-01-05",0],"passed":true},{"actual":[true,"2024-01-05",0],"check":"query on anchor","expected":[true,"2024-01-19",1],"passed":false},{"actual":[true,"2024-02-02",2],"check":"query on later occurrence","expected":[true,"2024-02-16",3],"passed":false},{"actual":[false,"2024-01-19",1],"check":"day before occurrence","expected":[false,"2024-01-19",1],"passed":true},{"actual":[false,null,null],"check":"one period after last","expected":[false,null,null],"passed":true},{"actual":[true,"2024-02-02",2],"check":"query on last occurrence","expected":[true,null,null],"passed":false},{"actual":[false,"2024-01-05",0],"check":"far before anchor","expected":[false,"2024-01-05",0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: aligned date before anchor\", \"actual\": [false, \"2024-01-05\", 0], \"expected\": [false, \"2024-01-05\", 0], \"passed\": true}, {\"check\": \"query on anchor\", \"actual\": [true, \"2024-01-05\", 0], \"expected\": [true, \"2024-01-19\", 1], \"passed\": false}, {\"check\": \"query on later occurrence\", \"actual\": [true, \"2024-02-02\", 2], \"expected\": [true, \"2024-02-16\", 3], \"passed\": false}, {\"check\": \"day before occurrence\", \"actual\": [false, \"2024-01-19\", 1], \"expected\": [false, \"2024-01-19\", 1], \"passed\": true}, {\"check\": \"one period after last\", \"actual\": [false, null, null], \"expected\": [false, null, null], \"passed\": true}, {\"check\": \"query on last occurrence\", \"actual\": [true, \"2024-02-02\", 2], \"expected\": [true, null, null], \"passed\": false}, {\"check\": \"far before anchor\", \"actual\": [false, \"2024-01-05\", 0], \"expected\": [false, \"2024-01-05\", 0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.74,"exit_code":0,"observations":[{"actual":[false,"2024-01-05",0],"check":"regression: aligned date before anchor","expected":[false,"2024-01-05",0],"passed":true},{"actual":[true,"2024-01-19",1],"check":"query on anchor","expected":[true,"2024-01-19",1],"passed":true},{"actual":[true,"2024-02-16",3],"check":"query on later occurrence","expected":[true,"2024-02-16",3],"passed":true},{"actual":[false,"2024-01-19",1],"check":"day before occurrence","expected":[false,"2024-01-19",1],"passed":true},{"actual":[false,null,null],"check":"one period after last","expected":[false,null,null],"passed":true},{"actual":[true,null,null],"check":"query on last occurrence","expected":[true,null,null],"passed":true},{"actual":[false,"2024-01-05",0],"check":"far before anchor","expected":[false,"2024-01-05",0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: aligned date before anchor\", \"actual\": [false, \"2024-01-05\", 0], \"expected\": [false, \"2024-01-05\", 0], \"passed\": true}, {\"check\": \"query on anchor\", \"actual\": [true, \"2024-01-19\", 1], \"expected\": [true, \"2024-01-19\", 1], \"passed\": true}, {\"check\": \"query on later occurrence\", \"actual\": [true, \"2024-02-16\", 3], \"expected\": [true, \"2024-02-16\", 3], \"passed\": true}, {\"check\": \"day before occurrence\", \"actual\": [false, \"2024-01-19\", 1], \"expected\": [false, \"2024-01-19\", 1], \"passed\": true}, {\"check\": \"one period after last\", \"actual\": [false, null, null], \"expected\": [false, null, null], \"passed\": true}, {\"check\": \"query on last occurrence\", \"actual\": [true, null, null], \"expected\": [true, null, null], \"passed\": true}, {\"check\": \"far before anchor\", \"actual\": [false, \"2024-01-05\", 0], \"expected\": [false, \"2024-01-05\", 0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}