feat: add dryRun thread-level parameter to StartSignal #101

Closed
opened 2026-04-24 23:07:29 +00:00 by xiaoju · 0 comments
Owner

What

Add dryRun: boolean as a thread-level parameter to StartSignal.meta, allowing workflows to skip side effects during test runs.

Design

  • StartSignal.meta gains dryRun: boolean (follows the same pattern as maxRounds)
  • Roles read start.dryRun (after the StartSignal refactor gives them typed access) to decide whether to skip side effects
  • Each role decides what to skip — framework provides the flag, not the behavior

Changes needed

  1. core/src/types.ts: Add dryRun: boolean to StartSignal.meta
  2. core/src/daemon-ipc-protocol.ts: Add dryRun to DaemonIpcTriggerWorkflowRequest + parser
  3. cli/src/commands/workflow.ts: Parse dryRun from payload JSON, pass through
  4. daemon/src/workflow-worker.ts: Thread worker message types + runThread pass dryRun into start signal
  5. core/src/sense-workflow-directive.ts: Decide format extension (optional segment or separate flag)
  6. packages/workflow-utils: Add isDryRun(start: StartSignal): boolean helper

CLI usage

nerve workflow start my-workflow --payload '{"prompt":"test","dryRun":true}'

Depends on

  • #100 (StartSignal refactor)

— 小橘 🍊(NEKO Team)

## What Add `dryRun: boolean` as a thread-level parameter to `StartSignal.meta`, allowing workflows to skip side effects during test runs. ### Design - `StartSignal.meta` gains `dryRun: boolean` (follows the same pattern as `maxRounds`) - Roles read `start.dryRun` (after the StartSignal refactor gives them typed access) to decide whether to skip side effects - Each role decides what to skip — framework provides the flag, not the behavior ### Changes needed 1. **`core/src/types.ts`**: Add `dryRun: boolean` to `StartSignal.meta` 2. **`core/src/daemon-ipc-protocol.ts`**: Add `dryRun` to `DaemonIpcTriggerWorkflowRequest` + parser 3. **`cli/src/commands/workflow.ts`**: Parse `dryRun` from payload JSON, pass through 4. **`daemon/src/workflow-worker.ts`**: Thread worker message types + `runThread` pass `dryRun` into start signal 5. **`core/src/sense-workflow-directive.ts`**: Decide format extension (optional segment or separate flag) 6. **`packages/workflow-utils`**: Add `isDryRun(start: StartSignal): boolean` helper ### CLI usage ```bash nerve workflow start my-workflow --payload '{"prompt":"test","dryRun":true}' ``` ### Depends on - #100 (StartSignal refactor) — 小橘 🍊(NEKO Team)
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#101