Z.ai temporary campaign policy: date-bounded blackouts so the Sep 25 – Oct 7 2026 all-day off-peak campaign stops wrongly excluding Z.ai at nominal peak hours #154
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
P1
P2
P3
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Creatidy/scarcity-router#154
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The shipped default selector policy (
examples/selector-policy.json, provisioned on first use) models Z.ai peak hours as a standing weekly blackoutzai-peak-hours-sgt(Mon–Fri 14:00–18:00 Asia/Singapore, reasonpreserve_zai_offpeak). Z.ai's official documentation (Plan Update Announcement; GLM Coding Plan overview) states that from September 25 through October 7, 2026 all-day usage is charged at the off-peak rate. During that period the standing blackout still fires in every nominal peak window, so an otherwise eligible request constrained tozai/glm-5.3orzai/glm-5.3-flashis excluded atpolicy_blackout/preserve_zai_offpeakeven though the plan is billed at the cheap off-peak rate — the opposite of the rule's conservation intent.The same documentation extended the GLM-5.3-Flash Usage Campaign through October 7, 2026; the shipped happy-hour rule
zai-flash-campaign-night-sgtstill carries the staleend_date: "2026-09-20".Change (policy correctness only — no ranking redesign)
WeeklyBlackoutRulegains the same optional inclusive local calendar boundsstart_date/end_date(YYYY-MM-DD, in the rule's zone,start_date <= end_date) thatWeeklyHappyHourRulehas had since D-035, backed by one shared implementation so the two rule kinds cannot drift at boundaries. A blackout whose weekly window matches but whose date bounds exclude the instant does not block, and is surfaced by the mirrored explanation-onlyis_date_expired_atplus the additiveSelectionDecisionmemberexpired_blackout_rules(serialized only when non-empty; same shape asexpired_happy_hour_rules). Policy documents without the new keys load and round-trip unchanged (additive, machine-interface v1 per the D-039/D-035 precedent).zai-peak-hours-sgtwithend_date: 2026-09-24andzai-peak-hours-sgt-post-campaignwithstart_date: 2026-10-08— so between September 25 and October 7 no peak blackout applies (all-day off-peak rate) and normal peak behavior resumes automatically on October 8 without another change.zai-flash-campaign-night-sgtis extended toend_date: 2026-10-07. The permanent baseline weekly schedule is otherwise unchanged; peak logic is NOT disabled globally.docs/selection-policy.mdandREADME.mdupdated in place (campaign names, official source URLs, Asia/Singapore calendar, start/end, affected models, effective behavior);docs/decisions.mdgains D-059 recording the amendment and sources.Explicitly out of scope (recorded, not silently dropped)
Required regressions
blocks_atboundary instants,is_date_expired_atsemantics, serialization round-trip, old documents unchanged.preserve_zai_offpeakabsent from exclusions during the campaign;expired_blackout_rulesnames the parked rule and is absent when empty.Security classification
Not security-critical (user-policy semantics + shipped example + docs; no credentials, transport or execution-surface changes). Independent exact-head review mandatory; UX impact assessment mandatory (the fix removes a wrong exclusion; the new expiry signal answers "why did my blackout go quiet?").
Workflow
Branch
policy/zai-temp-campaignsfromdevelop@81b8e63; PR targetsdevelop, left open for human review; never merged by agents. Budget: 120 min wall clock.