- services/exceptionManager.ts: single taxonomy (timing/data/control/
business/system) with §12 codes, deterministic route() table, and
handle() dispatch to retry/DLQ/escalate
- services/execution.ts: refactor executePlan to drive the full 12-state
machine (DRAFT -> INITIATED -> ... -> VALIDATING -> COMMITTED -> CLOSED)
via stateMachine.transition(), with a new validatePhase() that
reconciles DLT tx hash + bank message id + per-step amounts before
COMMIT; SoD-gated edges use distinct synthetic actors by default
- api/plans.ts + index.ts: GET /api/plans/:planId/state returning
current transaction_state + full audit trail of transitions
- tests/unit/exceptionManager.test.ts: 14 tests for classification +
routing matrix
59 tests pass. tsc clean.
- Added AccessControl to ComboHandler for role-based access management.
- Implemented gas estimation for plan execution and improved gas limit checks.
- Updated execution and preparation methods to enforce step count limits and role restrictions.
- Enhanced error handling in orchestrator API endpoints with AppError for better validation feedback.
- Integrated request timeout middleware for improved request management.
- Updated Swagger documentation to reflect new API structure and parameters.