Devin
|
b24a4df983
|
PR A: 12-state transaction machine + issueInstrument step + SoD matrix
Code Quality / SonarQube Analysis (pull_request) Failing after 23s
Code Quality / Code Quality Checks (pull_request) Failing after 11s
Security Scan / Dependency Vulnerability Scan (pull_request) Failing after 4s
Security Scan / OWASP ZAP Scan (pull_request) Failing after 5s
Architecture note steps 1, 2, 10 (data model).
- types/transactionState.ts: 12 states, allowed-transition table, SoD matrix
- types/plan.ts: add InstrumentTerms + 'issueInstrument' PlanStep type
- services/planValidation.ts: validate SBLC step (BIC, ISO-4217, sha256,
YYYY-MM-DD expiry, >0 amount)
- services/stateMachine.ts: transition() enforces legality + SoD + appends
to transaction_state_transitions
- db/migrations/002: plans.transaction_state (CHECK) +
transaction_state_transitions append-only table
- tests/unit: 13 + 8 unit tests (31 total, all pass)
No behaviour change yet: coordinator still uses legacy status field.
PRs B-G will migrate execution paths onto the new machine.
|
2026-04-22 16:21:36 +00:00 |
|