refactor: replace maxRounds with supervisor check interval #186

Merged
xiaoju merged 3 commits from refactor/185-remove-max-rounds into main 2026-05-11 09:01:25 +00:00
Owner

What

Remove maxRounds as a hard stop limit from the entire workflow stack. The supervisor becomes the sole termination authority.

Why

maxRounds conflated two concerns: hard execution limit and supervisor check frequency. The supervisor already has pathological behavior detection and runs on a configurable interval (workflow.yaml supervisorInterval). It should be the one deciding when to stop.

Changes

  • workflow-protocol: StartStep.meta is now empty, StartNodePayload drops maxRounds
  • workflow-cas: isStartPayload no longer checks maxRounds
  • workflow-execute: engine, worker, fork-thread all stripped of maxRounds
  • cli-workflow: --max-rounds CLI flag and HTTP API field removed
  • workflow-runtime: build-context and create-workflow cleaned
  • workflow-dashboard: UI no longer sends maxRounds
  • workflow-template-develop/solve-issue: Moderator rounds check removed
  • All tests updated across 11 packages

32 files changed, 84 insertions, 204 deletions.

Ref

Fixes #185

## What Remove maxRounds as a hard stop limit from the entire workflow stack. The supervisor becomes the sole termination authority. ## Why maxRounds conflated two concerns: hard execution limit and supervisor check frequency. The supervisor already has pathological behavior detection and runs on a configurable interval (workflow.yaml supervisorInterval). It should be the one deciding when to stop. ## Changes - **workflow-protocol**: StartStep.meta is now empty, StartNodePayload drops maxRounds - **workflow-cas**: isStartPayload no longer checks maxRounds - **workflow-execute**: engine, worker, fork-thread all stripped of maxRounds - **cli-workflow**: --max-rounds CLI flag and HTTP API field removed - **workflow-runtime**: build-context and create-workflow cleaned - **workflow-dashboard**: UI no longer sends maxRounds - **workflow-template-develop/solve-issue**: Moderator rounds check removed - All tests updated across 11 packages 32 files changed, 84 insertions, 204 deletions. ## Ref Fixes #185
xiaoju added 1 commit 2026-05-11 08:52:13 +00:00
Removes maxRounds as a hard stop limit from the entire stack. The supervisor
(already configured via workflow.yaml supervisorInterval) is now the sole
termination authority.

Changes across 27 files in 11 packages:
- workflow-protocol: StartStep.meta is now empty, StartNodePayload drops maxRounds
- workflow-cas: isStartPayload no longer checks maxRounds
- workflow-execute: engine, worker, fork-thread all stripped of maxRounds plumbing
- cli-workflow: --max-rounds flag removed from CLI and HTTP API
- workflow-runtime: build-context and create-workflow no longer reference maxRounds
- workflow-dashboard: UI no longer sends maxRounds
- workflow-template-develop/solve-issue: moderator no longer checks rounds remaining
- All tests updated

Fixes #185
xiaoju added 1 commit 2026-05-11 08:55:53 +00:00
hasRoundsRemaining is now always true — supervisor controls when to
stop, not a round counter. Tests updated to expect coder retry
instead of END on exhaustion.

Refs #185
xiaoju added 1 commit 2026-05-11 08:59:19 +00:00
The condition always returned true, making the subsequent FALLBACK → END
unreachable. Simplified to FALLBACK → coder directly.

Refs #185
xiaoju merged commit ec13c19505 into main 2026-05-11 09:01:25 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#186