Repository navigation
Releases: fan56/dsh-cron
Release list
v0.6.1
fix: mark every peer optional — npm auto-install shadowed the host closure
npm-class profile installs auto-resolve the hard >=0.2.0-rc.2 peers from the
stable tower, materializing exact-pinned 0.2.0-rc.2 copies of dsh-agent,
dsh-session, dsh-settings and friends inside the consumer tree. On a
0.2.1-rc.3 host the pre-flight compat gate disabled those rows and the
required plugin never activated — fan56/dsh-subagent-registry's weekly
e2e install went red on exactly this (run 40313931959, cron 0.6.0
real-host boot FAIL; same failure class first seen 10-19).
peerDependenciesMeta.optional stops the package manager from materializing
the peers at all; the host runtime supplies the real closure. Same contract
llm-proxy 0.7.3 and tui-pi 2.28.2 already shipped. No code change.
Verified locally: the 0.6.1 tarball installs with a clean consumer tree,
dump-config composes the plugin, and a real 0.2.1-rc.3 host boots with
zero disabling rows; the published 0.6.0 under the same install shape
reproduces the foreign tower.
v0.6.0
v0.6.0 — session-bound delivery and a default-installed skill
Breaking: every task now binds to exactly one session — global delivery
is gone (ADR 0010, superseding the delivery half of ADR 0001).
Session binding (cron_create attach):
creator(default): fires land in the session that created the tasknew: the plugin opens a dedicated session (cwd inherited) for
background monitors isolated from the conversation- cold sessions resume on demand when a fire is due; a stopped session
cancels its tasks; archiving a session that still holds cron tasks is
refused — the same lifecycle discipline as official dsh-schedule - delegated child sessions can neither create tasks nor receive fires
- pre-binding unbound tasks archive as
cancelledon first boot
Bundled skill (dsh-cron-config), installed by default:
- mounts through the host skill registry at boot — installing the
plugin installs the skill, removal drops it, no file copies - teaches natural-language usage: rule choice, validity windows,
session binding, deploy-monitor and watchdog patterns
/cron gains --new-session; list output shows the binding.
80 unit tests, packaged-install, and real-host boot smoke green;
podman E2E (mock-LLM fire chain) green on CI.
v0.5.1
v0.5.1 — the published tarball installs again
postinstall referenced scripts/link-dsh-closure.mjs, which the files
allow-list never shipped: every non-link install failed with
MODULE_NOT_FOUND (same defect class as dsh-subagent-registry#2). scripts/
now ships, and the linker's stand-down guard uses repo-only markers
(tsconfig.json + .git). A packaged-install regression test and an
npm-based boot smoke gate the consumer path.
v0.5.0
chore: raise dsh host floor to 0.2.0-rc.2
peer floors >=0.2.0-rc.2, dev pins exact 0.2.0-rc.2; README support
floor follows. Zero code changes (MessageSourceMap{cron} contract
unchanged in 0.2.0). README: positioning paragraph in 'Why not
dsh-schedule?' — official automation schedule is OPTIONAL_BUNDLE and
default-off as of dsh 0.2.0 (existing scheduled tasks silently stop
after upgrade), while dsh-cron is an independent always-resident
plugin unaffected by that switch; docs-only, no release.
Regression: 7 test files, 55 cases green + tsc --noEmit clean
against the 0.2.0-rc.2 closure. Container e2e skipped this wave
(zero code changes).
v0.4.3
feat: 投递消息 source 改为自有 kind 'cron'
将 cron 投递消息的 source 从与用户输入无法区分的 user 改为自有 cron,并为 turn 级下游门控保留 durable attribution。新增纯工厂与测试覆盖 source、content 和 role;0.1.7 的 merge-extensible sum 允许 producer 声明自有 kind,未知 kind 的消费侧按契约 fall through,兼容宿主。
v0.4.2
fix: legacy 导入接线改 ctx.inject(['settings']) + update 有界重试(5×2s)——真机实证 boot 期宿主持 profile package.json.lock 致单发 update 必超时(update-failed 不落 marker 下次重试);no-settings 分支补 warn 不再静默
v0.4.1
feat: 0.1.5 旧 settings 段一次性自动迁移(无感知升级)——读 settings.yaml.imported 按段名找回旧配置写入新形态,审计档 storages/*/legacy-import.json + logger 摘要,marker 幂等防复活,失败不落 marker 下次重试
v0.4.0
v0.4.0: dsh 0.1.7-rc.1 settings migration (Config+volatile); message source kind user; e2e profile-patch config; icon/locale metadata
v0.3.0
dsh-cron 0.3.0: dsh floor 0.1.5-rc.2
v0.2.1
0.2.1: uninstall docs (schedule retention semantics + purge path) + smoke uninstall leg.