Follow-up to PRs #20 (rules engine) and #23 (obligation layer), which shipped an equivalent Condition shape.
Before:src/services/rulesEngine.ts had the full DSL, src/services/obligations/evaluator.ts had a parallel 153-line subset with the same types.
After:obligations/evaluator.ts is now a 49-line compat wrapper that re-exports the shared Condition types and delegates evaluateCondition() / resolvePath() to services/rulesEngine. The historical resolvePath(path, context) argument order used by tests/unit/obligations.test.ts is preserved.
No runtime behaviour change; no migration; no env changes.
Verification:npx tsc --noEmit clean; npx jest 10 suites / 128 tests passing (same count as on main).
Follow-up to PRs #20 (rules engine) and #23 (obligation layer), which shipped an equivalent `Condition` shape.
**Before:** `src/services/rulesEngine.ts` had the full DSL, `src/services/obligations/evaluator.ts` had a parallel 153-line subset with the same types.
**After:** `obligations/evaluator.ts` is now a 49-line compat wrapper that re-exports the shared `Condition` types and delegates `evaluateCondition()` / `resolvePath()` to `services/rulesEngine`. The historical `resolvePath(path, context)` argument order used by `tests/unit/obligations.test.ts` is preserved.
No runtime behaviour change; no migration; no env changes.
**Verification:** `npx tsc --noEmit` clean; `npx jest` 10 suites / 128 tests passing (same count as on `main`).
Follow-up to PRs #20 (rules engine) and #23 (obligation layer) which
shipped an equivalent Condition shape. obligations/evaluator.ts is now
a thin compat wrapper re-exporting the shared Condition types and
delegating evaluateCondition() / resolvePath() to services/rulesEngine.
Preserves the historical resolvePath(path, context) signature used by
tests and keeps existing imports under services/obligations/evaluator
working unchanged.
Verified: npx tsc --noEmit clean; 10 suites / 128 tests pass.
Co-Authored-By: Nakamoto, S <defi@defi-oracle.io>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up to PRs #20 (rules engine) and #23 (obligation layer), which shipped an equivalent
Conditionshape.Before:
src/services/rulesEngine.tshad the full DSL,src/services/obligations/evaluator.tshad a parallel 153-line subset with the same types.After:
obligations/evaluator.tsis now a 49-line compat wrapper that re-exports the sharedConditiontypes and delegatesevaluateCondition()/resolvePath()toservices/rulesEngine. The historicalresolvePath(path, context)argument order used bytests/unit/obligations.test.tsis preserved.No runtime behaviour change; no migration; no env changes.
Verification:
npx tsc --noEmitclean;npx jest10 suites / 128 tests passing (same count as onmain).