dsh-keepalive v0.2.7
Repair scope extension: the repair agent may now add dependency junctions under the node_modules of link:/file: (directory) dev-checkout dependencies declared in the web profile package.json. Additions are snapshot-tracked and removed on rollback; existing entries and the dev checkout source/config are never touched. This lets the auto-repair fix ERR_MODULE_NOT_FOUND failures for local link-installed plugins (e.g. @dsh-external/dsh-super-injector) instead of stopping with a manual-only diagnosis.
Fix false drift: watchdog-managed dynamic fields of keepalive.json (status, updatedAt, webPid, lastError, repairCount, lastRestoredAt, watchdogPid) no longer fail a repair pass as out-of-bounds drift when the watchdog refreshes them while the headless agent runs; static fields (enabled, autoRepair, repairProvider, repairModel, intervals, dshBin) are still gated.
Fix Windows junction detection in the snapshot layer: junction entries report isSymbolicLink() (not isDirectory()) under readdirSync, so top-level link-target entries are now tracked correctly.
Tests: 6 new snapshot-rollback scenarios (sanctioned junction additions, delete/retarget drift, rollback removal, keepalive dynamic-field exemption, static-field gating). Full suite: 144 passed.