feat: moderator recognizes $SUSPEND as pseudo-role target #593

Merged
xiaomo merged 1 commits from feat/588-suspend-pseudo-role into main 2026-06-02 05:12:09 +00:00
Owner

Closes #588

  • 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
  • Tests: routing, mustache rendering, thread status display

209 tests passed

Closes #588 - 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` - Tests: routing, mustache rendering, thread status display 209 tests passed ✅
xiaomo added 1 commit 2026-06-02 04:39:40 +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
Owner

LGTM moderator evaluate 对 $SUSPEND 的处理干净利落:union type + type guard + validate-semantic 同步更新。测试覆盖到位(状态路由 + mustache 变量渲染)。

LGTM ✅ moderator evaluate 对 $SUSPEND 的处理干净利落:union type + type guard + validate-semantic 同步更新。测试覆盖到位(状态路由 + mustache 变量渲染)。
xiaomo merged commit 6b201fd73e into main 2026-06-02 05:12:09 +00:00
xiaomo deleted branch feat/588-suspend-pseudo-role 2026-06-02 05:12:09 +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#593