feat(automation): add isolated job delivery mode
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Announce Delivery Mode Checklist
|
||||
|
||||
Date: 2026-02-16
|
||||
Status: completed
|
||||
|
||||
## Scope
|
||||
|
||||
- Add a first-class automation delivery mode for cron/webhook runs.
|
||||
- Support isolated per-run sessions while preserving outbound reply routing.
|
||||
|
||||
## Completed
|
||||
|
||||
- Added `automation.delivery_mode` config enum in `src/config/schema.ts`:
|
||||
- `shared_session` (default)
|
||||
- `isolated_job`
|
||||
- Implemented reply routing override in `src/channels/registry.ts` via `metadata.replyPeerId`.
|
||||
- Updated `CronScheduler` and `WebhookHandler` to:
|
||||
- emit unique sender IDs per run when `delivery_mode=isolated_job`
|
||||
- include `metadata.replyPeerId` to keep output routing stable
|
||||
- include delivery metadata (`deliveryMode`, `runId`) for traceability
|
||||
- Wired delivery mode through channel registration in `src/daemon/channels.ts`.
|
||||
- Updated docs:
|
||||
- `README.md` automation sections
|
||||
- `config/default.yaml` commented template
|
||||
- Added tests:
|
||||
- `src/channels/registry.test.ts`
|
||||
- `src/automation/cron.test.ts`
|
||||
- `src/automation/webhooks.test.ts`
|
||||
- `src/config/schema.test.ts`
|
||||
|
||||
## Verification
|
||||
|
||||
- `pnpm test:run src/channels/registry.test.ts`
|
||||
- `pnpm test:run src/automation/cron.test.ts src/automation/webhooks.test.ts`
|
||||
- `pnpm test:run src/config/schema.test.ts`
|
||||
- `pnpm typecheck`
|
||||
Reference in New Issue
Block a user