Skip to content

fix(ci): widen NOW freshness gate to accept east-of-UTC local dates#1235

Merged
gHashTag merged 1 commit into
masterfrom
fix/now-freshness-gate-utc-window
Jul 1, 2026
Merged

fix(ci): widen NOW freshness gate to accept east-of-UTC local dates#1235
gHashTag merged 1 commit into
masterfrom
fix/now-freshness-gate-utc-window

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Summary

The required NOW Sync Gate job check-now-freshness validated the docs/NOW.md Last updated date against the UTC window [YESTERDAY_UTC .. TODAY_UTC]. For an east-of-UTC contributor (maintainer is UTC+07) who stamps NOW.md with their LOCAL calendar date, this is a systematic false-negative: the local "today" is rejected as "too old" while UTC is still on the previous day.

Observed on PR #1231 (NOW.md=2026-07-01, UTC=2026-06-30 -> NOW.md date (2026-07-01) is too old), which currently BLOCKS the stacked conformance-promote chain #1231 -> #1233.

Change

Widen the accepted window to [YESTERDAY_UTC .. TOMORROW_UTC]:

  • TOMORROW_UTC accepted -> any east-of-UTC local "today" passes.
  • Older than YESTERDAY_UTC still FAILS (stale-NOW protection preserved).
  • Newer than TOMORROW_UTC still FAILS (typo-far-in-future protection).
  • A missing Last updated: line now fails with a clear message.

ISO-8601 zero-padded dates compare correctly as strings -> no date parsing added. CI/workflow-only change; catalog stays 83; no spec, no conformance vector, no count touched.

Verification

Logic self-tested locally on boundary dates: yesterday/today/tomorrow UTC PASS; older FAIL(too-old); far-future FAIL(future); missing line FAIL(no-date). YAML lints clean; date -u -d tomorrow supported on ubuntu-latest.

Closes #1234

The check-now-freshness job validated docs/NOW.md 'Last updated' against
the UTC window [YESTERDAY_UTC .. TODAY_UTC], producing a systematic
false-negative for east-of-UTC contributors (maintainer is UTC+07): a
local 'today' date is rejected as 'too old' while UTC is still on the
previous day. Observed on PR #1231 (NOW.md=2026-07-01, UTC=2026-06-30),
which blocked the stacked conformance-promote chain #1231 -> #1233.

Widen the window to [YESTERDAY_UTC .. TOMORROW_UTC]: tomorrow is accepted
so any east-of-UTC local 'today' passes; older-than-yesterday still fails
(stale-NOW protection); newer-than-tomorrow still fails (typo protection);
a missing 'Last updated:' line now fails with a clear message. ISO-8601
zero-padded dates compare correctly as strings. CI/workflow-only; catalog
stays 83; no spec or conformance vector touched.

Closes #1234
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-06-30 19:41:04 UTC

Summary

Status Count
Total Open PRs 14
PRs with Failing Checks 8
PRs with All Checks Green 6
READY 5
FAILING 8
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=1953ec73601f != manifest seal=49e55df6d444.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag merged commit 8823bd2 into master Jul 1, 2026
21 checks passed
@gHashTag
gHashTag deleted the fix/now-freshness-gate-utc-window branch July 1, 2026 11:45
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.

fix(ci): now-freshness gate rejects east-of-UTC local dates (timezone false-negative)

1 participant