Release Notes
Release history with ECS config, API endpoints, deployment commands, and monitoring links.
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 usingmessage_id) - Agent badges:
agents_invokedarray rendered as badges below AI messages - Web search indicator:
meta.web_searchstring (“True”/”False”) parsed correctly - Guardrail null safety:
guardrail: nullhandled without.passedaccess 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
accessTokenfrom Zustand persistence (localStorage), now in-memory only - Removed BroadcastChannel: Cross-tab token sync removed (unnecessary with cookie-based refresh)
- V2 progress normalization:
progress_percent→progress_pct,stages_completedarray → 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: Addedstatus,password_required,password_hintProcessProgress: Fixed field names to match V2 endpointExportType: 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_idsfield (wasdocument_id), addskip_guardrail, adduploadSessionDocument - Types: Update
SendMessageResponse,ProcessProgressfor 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
getDocumentfor 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/logoutusing internal ECS hostname for redirect. Now readsX-Forwarded-Host/X-Forwarded-Protoheaders 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:
knowledgeApiclient for ingestion backend with graceful degradation - Deploy Script: One-command
deploy.shwith ECR push, ECS force-deploy, CloudFront invalidation - CDN Caching Headers: Immutable
Cache-Controlfor_next/staticassets (1 year) - Security Headers: X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- Environment Config: Committed
.env.devwith full 5-service backend registry
Bug Fixes
- ECS Auth Failure (P0): Added
STUDIO_API_URL+SESSION_SECRETto ECS task definition - Nexus 404 in ECS (P0): Added
/api/v1suffix tonexusApiUrlin 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
/dashboardto/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 | |
| 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: |
| Target Group ARN | arn:aws:elasticloadbalancing:ap-south-1: |
| 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/
AWS Console Links
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