Repository navigation
Replies: 1 comment
|
Your option A is the right seam, and the tree agrees with your diagnosis of where it is missing: there is no waterfall anywhere on the delivery path. Delivery is a straight line — What is reachable today, from a plugin and without touching core, is the first pain on your list — the wasted model turn. Delivery ends in an inbox message, and every step of every session funnels through one waterfall, so a plugin can gate the occurrence right before the model would see it:
Scoped honestly, that is "no model turn", not "no wake": Two constraints that decide whether this is the right shape for you:
I maintain published harness plugins, so if it is useful I am happy to ship this gate as one ( |
Uh oh!
There was an error while loading. Please reload this page.
Summary
weeklyandcronrules follow the civil calendar only. In regions with statutory-holiday makeup workdays (e.g. China: holidays fall on Mon–Fri, and some Saturdays/Sundays become workdays), "run on workdays" cannot be expressed by any weekday set or cron field —weekdays: [1,2,3,4,5]and0 9 * * 1-5are both wrong under holiday shifts. Please add an optional, generic pre-delivery condition hook so a rule can skip individual occurrences at the scheduler level.The real-world semantics we need
"Workday" here = civil weekday ∪ makeup weekend workday − statutory holiday. This data is publicly available (e.g. the
holiday-cndataset) and easy to evaluate with a one-line script. The scheduler itself doesn't need to know any holiday calendar — it only needs a way to ask a condition before delivering.Current workaround (in production, and its costs)
The only way today is to trigger every day and gate inside the prompt:
Pain points:
Proposal
A. Generic pre-delivery condition hook (recommended, fully general):
Add an optional field to recurring rules (daily/weekly/cron), e.g.:
{ "cron": { "expression": "36 9 * * *", "time_zone": "Asia/Shanghai" }, "condition": { "command": "bash ~/.agents/skills/workday/scripts/workday.sh", "on_error": "skip" } }skippedentry in delivery history (so the gap is explainable) and does not wake the session.on_error:"skip" | "deliver"— explicit, configured failure policy instead of model judgment.B. Documentation-only fallback (tiny, still valuable):
State in the
schedule_createtool description that wall-clock rules follow the civil calendar only and cannot express regional holiday calendars; for "workdays only" semantics, trigger daily and gate inside the prompt (with the pattern above).C. Rendering nicety: when delivery history contains skipped-by-condition entries, show the rule's effective cadence as "workdays (condition-gated)" rather than "Every day".
Why not a built-in "china workday" option
Holiday calendars are regional, versioned yearly by government decree, and would hard-code policy into the harness. A condition hook lets users (or their skill scripts) own the calendar while the scheduler owns the mechanics — same split this repo already uses elsewhere.
Environment
@deepseek-ai/dsh0.2.0-rc.2 (macOS, Web GUI)ScheduleCreateRequestselectors (after_seconds/at/every_seconds/daily/weekly/cron) have no condition/skip concept; delivery history exists and could carryskippedentries.Happy to test a preview build. Thanks!
All reactions