A fast one-shot can request exit through ctx.appExit while the launcher still awaits its watcher setup; the failure guard now also swallows the resulting rejections when the tree is no longer live, not only on signal shutdown. Sync the app-boot README and headless bundle comment with unconditional patch watching, and bring the two Agent Notes still asserting the --dev row append and the headlessIo slot current.
bundle/ — profile plugin bundles
English | 中文
Profile bundles: npm packages whose manifest declares "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }, making them installable patch layers for dsh --profile compositions (profile contract). A bundle's substance is its patch list; some also ship runtime glue plugins their patch mounts.
| Package | Role | ctx key |
|---|---|---|
base/ |
The shared dsh core every profile applies first | — (patch only) |
web-app/ |
Browser surface: web patch layer + runtime glue plugin | mounts rows |
headless/ |
Direct one-shot task mode over base, with no Host or Web layer | mounts headless-runner |
In-box bundles resolve from the dsh installation; out-of-tree bundles install into a profile through dsh plugin --profile <name> add <package>.