feat: uwf thread resume command #595

Merged
xiaomo merged 2 commits from feat/590-thread-resume into main 2026-06-02 05:12:11 +00:00
Owner

Closes #590
Depends on #588, #589

  • uwf thread resume <thread-id> [-p "..."]
  • Validates suspended state, executes step as suspendedRole
  • Clears suspend metadata on success
  • 5 tests passed
Closes #590 Depends on #588, #589 - `uwf thread resume <thread-id> [-p "..."]` - Validates suspended state, executes step as suspendedRole - Clears suspend metadata on success - 5 tests passed ✅
xiaomo added 3 commits 2026-06-02 04:47:56 +00:00
feat: moderator recognizes $SUSPEND as pseudo-role target
CI / check (pull_request) Failing after 1m42s
b0ef9c55a9
- Add GraphPseudoRole type ($END | $SUSPEND) to workflow-protocol
- Add 'suspended' to ThreadStatus
- evaluate() returns EvaluateSuspendResult for $SUSPEND targets
- Thread show/list derive suspended status from moderator evaluation
- validate-semantic treats $SUSPEND like $END (valid target, no outgoing edges)
- Tests: routing to $SUSPEND, mustache rendering, thread status display

Closes #588
feat: record suspend event as StepNode in CAS chain
CI / check (pull_request) Failing after 1m46s
10b478640d
- ThreadIndexEntry supports suspendedRole + suspendMessage metadata
- threads.yaml: suspended threads serialize as objects (backward compat)
- cmdThreadStepOnce writes step before marking thread suspended
- StepOutput extended with suspendedRole/suspendMessage fields
- thread show displays suspend message

Closes #589
feat: uwf thread resume command
CI / check (pull_request) Failing after 10m55s
8e7aa3362a
- New CLI: uwf thread resume <thread-id> [-p "supplement"]
- Validates thread is suspended, reads suspendedRole/suspendMessage
- Executes step as suspendedRole with resume prompt
- Clears suspend metadata on success
- Refactored cmdThreadStepOnce into composable helpers
- Tests: 5 cases including error, idle transition, prompt injection, cycles

Closes #590
Owner

LGTM resume 实现合理:

  • cmdThreadStepOnce 加了 resume 参数,复用现有 step 流程
  • 重构出 resolveModeratorStepTarget / resolveResumeStepTarget / finalizeAgentStep 拆分职责
  • --prompt 补充信息追加而非替换 suspend message
  • 前置校验:检查 running marker + 确认 suspended 状态
  • 442 行 resume 测试覆盖充分
LGTM ✅ resume 实现合理: - cmdThreadStepOnce 加了 resume 参数,复用现有 step 流程 - 重构出 resolveModeratorStepTarget / resolveResumeStepTarget / finalizeAgentStep 拆分职责 - `--prompt` 补充信息追加而非替换 suspend message - 前置校验:检查 running marker + 确认 suspended 状态 - 442 行 resume 测试覆盖充分
xiaomo merged commit b1d9eebcf7 into main 2026-06-02 05:12:11 +00:00
xiaomo deleted branch feat/590-thread-resume 2026-06-02 05:12:11 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#595