Live App →

Sentinel AI Studio - Release History

Environment: Development (dev) / UAT Region: ap-south-1 (Mumbai) Status: Deployed and Operational Live URL: https://sentinel.centricitywealth.tech

Latest Release (v6.1) - Production Hardening

Release Date: February 19, 2026

Nexus Document Detail Page (Full Rebuild)

  • 5-tab layout: Pipeline, Data, Insights, Costs, Export — all wired to live API data
  • Pipeline timeline: 10-stage animated progress visualization with V2 polling
  • Extraction tables: Securities holdings with interactive data tables, asset allocation charts
  • Token usage: Per-stage cost breakdown with INR conversion, model attribution
  • Export system: Holdings/underlying export types aligned to backend schema
  • PDF viewer: Document fetch via getDocumentPdfUrl() and layout images

Zen Chatbot API Alignment

  • Message ID fix: AI messages now use response_message_id (was incorrectly using message_id)
  • Agent badges: agents_invoked array rendered as badges below AI messages
  • Web search indicator: meta.web_search string (“True”/”False”) parsed correctly
  • Guardrail null safety: guardrail: null handled without .passed access error
  • File attachment chips: Uploaded file names shown as chips above user messages
  • Theme consistency: Replaced all hardcoded slate-*/blue-* colors with design system tokens

Auth & API Layer

  • In-memory token: Removed accessToken from Zustand persistence (localStorage), now in-memory only
  • Removed BroadcastChannel: Cross-tab token sync removed (unnecessary with cookie-based refresh)
  • V2 progress normalization: progress_percentprogress_pct, stages_completed array → count
  • ProcessingStatus: Added 'completed' to status union (V2 pipeline completion status)
  • New API functions: getDocumentPdfUrl(), getDocumentLayoutImages() in nexus.ts

Types Aligned to Live API Responses

  • SendMessageResponse: Removed phantom fields (session_id, sources, web_search_results)
  • UploadResponse: Added status, password_required, password_hint
  • ProcessProgress: Fixed field names to match V2 endpoint
  • ExportType: Changed to 'holdings' | 'underlying' (was 'excel' | 'json' | 'csv')

v1.4.2 - API Alignment, Zen UI Cleanup, Test Restructure

Release Date: February 16, 2026

API Layer Alignment

  • Nexus API: Deprecate getJobDetailedStatus, align extraction/doc-fetch with middleware routes
  • Zen API: Fix document_ids field (was document_id), add skip_guardrail, add uploadSessionDocument
  • Types: Update SendMessageResponse, ProcessProgress for V2 pipeline

Hooks & Pages

  • useProcessProgress: New hook for process_id-based progress polling (V2 pipeline)
  • use-results.ts: Rewritten for processId-based polling instead of deprecated jobId
  • History page: Uses getDocument for enrichment instead of deprecated endpoint

Zen UI Cleanup

  • Home button: Added to chat sidebar for returning to dashboard
  • Header: Removed user profile dropdown from Zen header (global header only)

Test Suite Restructure

  • Replaced 19 overlapping test files with 14 focused screen-based specs
  • Organization: screens/ (auth, dashboard, nexus, zen), infra/ (health, routing, errors), cross-cutting/ (navigation, responsive)
  • Test asset directory structure: static/assets/middleware/, zen/, nexus/
  • Total: 165 tests in 18 files

v1.4.1 - Logout Redirect Fix + Docs Alignment

Release Date: February 2, 2026

Bug Fixes

  • Logout Redirect (P0): Fixed GET /api/auth/logout using internal ECS hostname for redirect. Now reads X-Forwarded-Host / X-Forwarded-Proto headers set by ALB for correct external URL construction
  • Auth Routing: Server Actions route to Studio Backend (not Zen/Chatbot) for login/register/refresh via encrypted HttpOnly cookies

Documentation

  • Deployment guide aligned with 5-service registry architecture
  • Environment variables documentation split into build-time vs runtime
  • Security headers documented (X-Frame-Options, X-Content-Type-Options, etc.)
  • Automated deploy script documented (deployment/scripts/deploy.sh)

v1.4.0 - Full-Stack Service Alignment

Release Date: February 2, 2026

New Features

  • Unified Routing Layer: knowledgeApi client for ingestion backend with graceful degradation
  • Deploy Script: One-command deploy.sh with ECR push, ECS force-deploy, CloudFront invalidation
  • CDN Caching Headers: Immutable Cache-Control for _next/static assets (1 year)
  • Security Headers: X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
  • Environment Config: Committed .env.dev with full 5-service backend registry

Bug Fixes

  • ECS Auth Failure (P0): Added STUDIO_API_URL + SESSION_SECRET to ECS task definition
  • Nexus 404 in ECS (P0): Added /api/v1 suffix to nexusApiUrl in serverless config
  • Search Routing (P1): Rerouted search functions to ingestion backend (was calling chatbot 404)
  • Docker Compose: Added missing build args (agents, knowledge) and runtime vars (studio, session)

v1.2.0 - Nexus Stage Observability

Release Date: January 24, 2026

New Features

  • Processing Timeline Component: Visual 10-stage pipeline progress with status indicators
  • Stage Card Component: Detailed per-stage view with token usage, duration, and output preview
  • Entity Switcher Component: Multi-entity document support with dropdown/tabs/cards variants
  • Results Page Rebuild: Complete redesign with stage observability and enhanced extraction display
  • Enhanced Activity Feed: Shows actual file names, confidence scores, and product types

Bug Fixes

  • Auth Redirect: Fixed redirect from non-existent /dashboard to /nexus
  • Dashboard Metrics: Real API data for token usage and costs (removed hardcoded values)
  • Confidence Score Normalization: Consistent 0-100 scale across all components
  • Register Redirect: Added redirect query param support

New Files

| File | Purpose | |——|———| | src/components/nexus/processing-timeline.tsx | Visual stage timeline | | src/components/nexus/stage-card.tsx | Detailed stage info card | | src/components/nexus/entity-switcher.tsx | Multi-entity selector | | src/hooks/nexus/use-results.ts | Combined results data hook |

Modified Files

| File | Changes | |——|———| | src/app/(auth)/layout.tsx | Redirect fix | | src/app/(auth)/register/page.tsx | Redirect query param | | src/hooks/nexus/use-dashboard-stats.ts | Real API metrics | | src/hooks/nexus/use-activity-feed.ts | File names & confidence | | src/app/(dashboard)/nexus/insights/[jobId]/page.tsx | Complete rebuild |


Previous Release (v1.0.1)

Issue: Empty pages rendered for unauthenticated users Root Cause: return null statement in src/src/app/page.tsx caused blank pages while redirect was processing Fix: Replaced return null with loading spinner showing “Redirecting to login…” Files Modified: src/src/app/page.tsx (line 47-48)


Frontend Application

Resource URL / Value
Primary URL https://sentinel.centricitywealth.tech
CloudFront Domain d1o30m7jdiftto.cloudfront.net
CloudFront Distribution ID EQEH6ZAHOVUNL
ALB DNS Name sentinel-frontend-dev-alb-478517829.ap-south-1.elb.amazonaws.com

Backend Services

Service Routing Status
Studio (Auth Gateway + BFF) All API calls route through Studio Backend Operational
Nexus (Document Intelligence) Via Studio BFF /api/v{1,2}/nexus/... Operational
Chatbot (Zen Chat) Via Studio BFF /api/v1/zen/... Operational
Agents (AI Workflows) Via Studio BFF /api/v1/zen/agents/... Operational
Ingestion (Search/Knowledge) Via Studio BFF /api/v1/zen/ingestion/... Operational

Infrastructure Details

ECS Configuration

Resource Value
ECS Cluster sentinel-frontend-dev-cluster
ECS Service sentinel-frontend-dev-service
Task Definition sentinel-frontend-dev
CPU 256
Memory 512 MB
Desired Count 1
Max Capacity 2

Container Registry

Resource Value
ECR Repository .dkr.ecr.ap-south-1.amazonaws.com/sentinel-frontend-dev
Image Tag latest

Networking

Resource Value
VPC ID vpc-05eddc917587f739e
Public Subnet 1 subnet-0b5d3823cabb45240
Public Subnet 2 subnet-011283c675a158fa6
Private Subnet 1 subnet-02a1702d37504a2ea
Private Subnet 2 subnet-0dd8344d5291d8356

Load Balancer

Resource Value
ALB ARN arn:aws:elasticloadbalancing:ap-south-1::loadbalancer/app/sentinel-frontend-dev-alb/0ceb573569879049
Target Group ARN arn:aws:elasticloadbalancing:ap-south-1::targetgroup/sentinel-frontend-dev-tg/f274ef0c6fad329b
ALB Hosted Zone ID ZP97RAFLXTNZK

Storage

Resource Value
Static Assets Bucket sentinel-frontend-dev-static-

API Endpoints Reference

Authentication (Studio Backend — Server-Side Only)

Auth flows are handled by Next.js Server Actions → Studio Backend. Tokens are encrypted in HttpOnly cookies, never exposed to the browser.

# Login (via Server Action → Studio Backend)
POST https://studio-backend-dev.centricitywealth.tech/api/v1/auth/login
Content-Type: application/json
{"email": "user@example.com", "password": "your-password"}

# Register (via Server Action → Studio Backend)
POST https://studio-backend-dev.centricitywealth.tech/api/v1/auth/register
Content-Type: application/json
{"email": "...", "password": "...", "full_name": "..."}

# Refresh Token (via Server Action → Studio Backend)
POST https://studio-backend-dev.centricitywealth.tech/api/v1/auth/refresh
Authorization: Bearer <refresh_token>

# Logout (via API Route → Studio Backend)
POST https://studio-backend-dev.centricitywealth.tech/api/v1/auth/logout
Authorization: Bearer <access_token>

Chat (Zen API — via Studio BFF)

# Create Chat Session (returns bare UUID string)
POST https://studio-backend-dev.centricitywealth.tech/api/v1/zen/chat/
Authorization: Bearer <token>

# Send Message (sync, non-streaming, FormData)
POST https://studio-backend-dev.centricitywealth.tech/api/v1/zen/chat/invoke
Authorization: Bearer <token>
Content-Type: multipart/form-data
  session_id, query, skip_guardrail="false", web_search="true"|"false", agent_id

# Upload Document for RAG
POST https://studio-backend-dev.centricitywealth.tech/api/v1/zen/uploads/
Authorization: Bearer <token>
Content-Type: multipart/form-data
  file, session_id

# Get Sessions Summary
GET https://studio-backend-dev.centricitywealth.tech/api/v1/zen/chat/sessions/summary
Authorization: Bearer <token>

Health Checks

# Studio Backend Health
GET https://studio-backend-dev.centricitywealth.tech/api/v1/health/

# Frontend Health (via ALB)
GET https://sentinel-dev.centricitywealth.tech/

Deployment Commands

Deployment is owned by the Jenkins pipeline at Jenkinsfile in the repository root. The pipeline runs lint, type-check, Playwright tests, dependency audit (npm audit + npm outdated), Docker image build from the root Dockerfile, ECR push, ECS rolling update, and CloudFront cache invalidation.

The same image-build and rollout commands are available locally as cwt-* Make targets for debugging:

# Authenticate, build, push, and force an ECS rollout against cwt-dev
make cwt-ecr-login
make cwt-docker-build
make cwt-docker-push
make cwt-deploy

See docs/infra/deployment.md for the full pipeline, branch policy, and runtime gating details.


Monitoring & Logs

CloudWatch Logs

  • Log Group: /ecs/sentinel-frontend-dev
  • Log Stream Prefix: ecs/sentinel-frontend/

Architecture Overview

                                    +-----------------+
                                    |    Route 53     |
                                    |  (DNS Record)   |
                                    +--------+--------+
                                             |
                                             v
                                    +-----------------+
                                    |   CloudFront    |
                                    |  (CDN + SSL)    |
                                    +--------+--------+
                                             |
                                             v
                                    +-----------------+
                                    |      ALB        |
                                    | (Load Balancer) |
                                    +--------+--------+
                                             |
                              +--------------+--------------+
                              |                             |
                              v                             v
                    +-----------------+           +-----------------+
                    |   ECS Task 1    |           |   ECS Task 2    |
                    | (Next.js App)   |           | (Next.js App)   |
                    +--------+--------+           +--------+--------+
                              \                           /
                               \                         /
                                v                       v
                    +---------------------------------------------+
                    |               Backend APIs                  |
                    | +----------+ +------+ +--------+ +--------+ |
                    | |  Nexus   | | Zen  | | Agents | |Knowledge| |
                    | +----------+ +------+ +--------+ +--------+ |
                    +---------------------------------------------+

Verification Checklist

  • Frontend accessible at https://sentinel.centricitywealth.tech
  • CloudFront distribution active (EQEH6ZAHOVUNL)
  • ECS service running with healthy tasks
  • ALB target group healthy
  • Route53 DNS records configured
  • Nexus backend operational
  • Zen backend operational
  • Agents backend operational
  • Knowledge backend operational
  • Test user registered and login working
  • JWT token generation working
  • Token refresh working

Last Updated: February 19, 2026 Version: 6.1-uat