[04] slice E2 RiskOverlay collection CRUD (D31)

FeatureSecurityService
Shipped
July 4, 2026 at 9:33 AM UTC
Author
Kamo
Commit
ebfc2d3

Risk overlays (credit-box / geo-concentration / exposure-limit layers on the base credit box) as a config collection on the D31 spine: create defaults configVersion=1 + stamps profile identity + bumps profileVersion + validate-or- rollback + appends a WORM MlosConfigChangeLog; update/delete are fail-closed 404 on another profile's row; delete is a hard remove audited as {"deleted":true}. The ruleExpression is a JSONB column — the controller parse-validates it as JSON before the write so bad input is a clean 400, not a 500 mid-INSERT. Null/blank is allowed (the rule vocabulary is a deferred layer, carried off-band for now). 20 write-spine tests green (4 overlay + 4 investor + 6 licensing + 6 stage-override).

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing