feat: JSONata moderator engine (Phase 2 of #294) #296

Merged
xiaoju merged 1 commits from feat/294-jsonata-moderator into main 2026-05-18 02:13:56 +00:00
Owner

What

JSONata-based moderator evaluator, replacing JS function conditions.

Changes

  • workflow-protocol/src/jsonata-moderator.tsevaluateModerator(rules, context)
  • when: null = FALLBACK, when: string = JSONata expression
  • Full develop workflow ported to JSONata (plannerAborted, allPhasesComplete, reviewApproved, testsPassed)

Tests

31 tests covering linear flow, conditional branching, fallback, error handling, full develop workflow.

Ref: Closes #295, Part of #294
小橘 🍊(NEKO Team)

## What JSONata-based moderator evaluator, replacing JS function conditions. ## Changes - `workflow-protocol/src/jsonata-moderator.ts` — `evaluateModerator(rules, context)` - `when: null` = FALLBACK, `when: string` = JSONata expression - Full develop workflow ported to JSONata (plannerAborted, allPhasesComplete, reviewApproved, testsPassed) ## Tests 31 tests covering linear flow, conditional branching, fallback, error handling, full develop workflow. Ref: Closes #295, Part of #294 小橘 🍊(NEKO Team)
xiaoju added 1 commit 2026-05-18 02:08:17 +00:00
- evaluateModerator(rules, context) with JSONata expression evaluation
- Fallback (when: null), conditional branching, no-match → __end__
- Full develop workflow moderator ported to JSONata
- 31 tests passing

Closes #295
小橘 <xiaoju@shazhou.work>
xiaoju merged commit 6af3059fb4 into main 2026-05-18 02:13:56 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#296