2026-03-02 — RLS + audit hardening
- **** — FORCE ROW LEVEL SECURITY completeness sweep
-
**** — GIN indexes (
jsonb_path_ops) on JSONB columns -
**** — JSONB
defaultToaudit (prevents double-stringified defaults) - **** — Dynamic FK index detection
-
**** — Standardized RLS on 12 tables — 4-policy
has_tenant_access
2026-03-02 — Workflow engine + deployments
- 19-file workflow engine totaling 7,
- (471 L), (354 L), (285 L) — managed job queue, 5 concurrent workers, 3-attempt retry with 5 s exponential backoff
- Graceful sync fallback if managed cache unavailable
-
Real-time real-time channel events:
workflow:execution:started,workflow:node:executing,workflow:node:completed,workflow:ehr-sync,workflow:execution:paused/completed/failed
2026-03-02 — Sandbox-first deployment platform
-
Sandbox URLs:
https://sandbox.medera.info/{org}/{agent}-v{ver}with 72-hourauto_expire_at -
Production URLs:
https://agents.medera.info/{org}/{agent} -
•
agent_deploymentstable with 12 statuses -
•
deployment_audit_log(WORM) — migration 145 fixed FK from RESTRICT → SET NULL for WORM compat -
•
deployment_preview_access(token-based sandbox sharing) -
•
deployment_metrics(time-bucketed) -
•
deployment_alerts(threshold-based) - • Auto-rollback config + alert resolution
2026-02-10 — Security fixes
- Hardcoded service keys removed (4 files, 17 occurrences)
-
Hardcoded DB credentials removed from
templates.jsandnotifications.js - Auth rate limiting added (10 req / 15 min)
-
PII
console.logstatements purged - Patient PHI fields (SSN, insurance, address) encrypted AES-256
- Phone + email hashed for search
2026-03-02 — Mock AI safety
-
6 methods that returned fabricated clinical data replaced with
unavailablestatus (confidence: 0.0,requires_human_review: True) -
Crisis detection: all
crisis_detected=Falsechanged toNone;escalation_requireddefaults toTrue -
11 bare
except Exceptionclauses fixed with proper logging across 9 files