Overview
dsh-proactive
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **The bare-timer fallback is gone (Unreleased).** Up to 0.2.1, a failing `ctx.effect` fell back to a plain `setInterval` that lived until the process exited. That fallback was removed: a plugin that cannot register is now deactivated with one line in `boot.log`, so a plugin instance can always be fully unloaded. - **`watch.json` is module-level state.** The path is shared across `apply()` calls in one process, so two loaded instances would fight over it. Fine for one plugin per DSH process — which is the supported shape. - **`file-exists` ignores directories** on purpose: "the directory exists" is not the same claim as "the download finished". - **`process-exit` relies on `tasklist` on Windows.** Where the process lookup fails, the condition reports "unknown" and the entry is skipped for that tick instead of firing — a missing `tasklist` cannot cause a false positive. - **`file-stable` detects "size stopped changing", not "transfer completed"** — a stalled download looks identical to a finished one. Use `file-size` with a known expected size when it matters. - **Watching is poll-based.** With `intervalMs: 15000` a condition can be met up to one interval before the agent is woken. Shorter intervals cost CPU; the floor is 3000 ms.
