[04] pass-2 AutonomyStageOverride CRUD + per-stage autonomy map (D28)

FeatureSecurityService
Ya
4 Julai 2026, 01:23 UTC
Mwandishi
Kamo
Ahadi ya
784c5e8

The per-stage autonomy surface the config vertical deferred until StageWallRegistry existed (its deferral note is now satisfied): - **************** upsert per (lenderProfile, stageKey) on the SAME write spine (whitelisted mutation, profileVersion bump, §4b.1 validate-or-rollback, WORM change-log append). LEGAL-WALL stages (CLOSING/ FUNDING/COLLECTIONS) are rejected 400 outright - the gate ignores overrides there by design, and storing a row it will never honor is a misleading audit artifact. - deleteStageOverride: HARD delete (the resolver reads overrides without record- state filtering, so a soft flag would keep biting the gate), audited as a {"deleted":true,"row":...} change-log snapshot + profileVersion bump. Exposed as PUT {active:false} because the kamo-internal config proxy has no DELETE verb. - GET /ai-autonomy/stage-overrides: the doc-04 §4.2 per-stage map - every LifecycleStage with its wall classification (legalWall + non-overridable floor from StageWallRegistry), the tenant's override row, and the EFFECTIVE posture the gate will use (max(override|default, floor); auto-execute = config AND override) via **************** - PUT **************** threshold in [0,1] max 3dp (stored as the tenant's ASK; the gate always applies the floor - surfaced as effectiveThreshold on the GET). All §3.2 pass-2 entities + prod tables already exist (mapping discovery - the queue's 'need NEW entities' note was stale): no shared-lib change, no KI run. Frontend tab + E2E are the pinned resume point (D28 STATUS note in the plans doc).

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei