Skip to content
Last updated: Sep 25, 2026

Gaps & Roadmap ​

Known limitations, open decisions, and planned work as of 2026-08-31.

Last verified against the live codebase: 2026-08-31 — every claim below was checked directly against blitz, fin-infra (including applied Terraform state), and this repo, not carried forward from an earlier draft. If you're reading this much later, re-verify before trusting a "not started" or "applied" status at face value — deploy counts and Terraform state are exactly the kind of thing that drifts silently.

Current Gaps ​

Production Environment ​

Production is not yet serving traffic — all customer traffic runs on Railway staging. AWS is further along than "not started," though: Terraform for the preprod root module has been applied (VPC/networking, RDS, S3, Secrets Manager, KMS, ECS cluster + service definitions), and the org-level bootstrap and control-tower global modules are applied too. identity-center and aft (account factory) are scaffolded in Terraform but not yet applied. See Release Management for the versioning/rollback design needed before AWS can safely take production traffic, and AWS Implementation for the fuller implementation tracker.

Services deployed vs. dormant ​

The blitz monorepo has 22 directories under src/apps/. 12 backend services are deployed to Railway staging today (11 with their own src/apps/ directory, plus bapiproxy, which shares excelrw's directory and builds from a second Dockerfile), plus 2 frontend services (blitz-ui, blitz-mgmtui):

Deployed backend (12)Deployed frontend (2)
blitz-api, blitz-ws, blitz-apimgmt, blitz-agents, blitz-excelrw, blitz-bapiproxy, blitz-emailprocessor, blitz-wfw, blitz-wfwpdf, blitz-recon, blitz-remotecontrol, blitz-classicmlblitz-ui, blitz-mgmtui

11 src/apps/ directories are genuinely dormant — no compose entry, no build workflow, never containerized:

DormantStatus
email, events, fs, jsontransformerStandalone Elysia HTTP services; buildable but not wired into any Dockerfile or CI workflow
mcp, pdfwriter, queue, rulesengineSame — buildable, not deployed
scriptrunner, templaterendererSame — buildable, not deployed
desktopDifferent category entirely — an Electrobun native desktop app, not a server; not part of this deployment question

Which of these come to production at AWS launch — if any — is an open decision. The AWS ECS Terraform (aws/modules/ecs/services.tf) currently declares only 10 backend services, missing blitz-apimgmt and blitz-bapiproxy (both were added to Railway after that module was written) — porting those two is a prerequisite, tracked in Release Management § Three-tier environment model, not a scope decision.

Ollama — live dependency, not yet an AWS decision ​

blitz-agents genuinely depends on Ollama today — src/libs/agentsbase/src/models/modelConfig.ts imports ChatOllama and configures 7 Ollama-backed model entries alongside OpenAI and Gemini. This is real, current code, not a stale planning note. Whether AWS production replaces these with Bedrock, an external API, or self-hosts Ollama (e.g. on ECS with GPU support) is unresolved and needs a decision before an AWS agents deployment can be considered feature-complete.

RabbitMQ — resolved, no longer a blocker ​

RabbitMQ is fully removed. Per the fin-infra CLAUDE.md: "RabbitMQ removed — Temporal-only... RABBITMQ_* are dead since the Temporal-only migration... removed from all backend services on 2026-07-10." All async workflows are Temporal-managed. The Streams-vs-AMQP Amazon MQ compatibility question this page used to raise no longer applies — there is no RabbitMQ dependency left to migrate.

IaC tooling for AWS — decided ​

Terraform (HCL), decided 2026-06-04. Not pending — aws/ already holds ~3,600 lines of applied HCL across 80 files. See AWS Implementation for the architecture doc.

Container registry — decided ​

GHCR, no ECR migration. Stated explicitly in the fin-infra CLAUDE.md ("Registry: GHCR (no ECR migration)"), and confirmed in the applied Terraform: ECS task definitions pull from GHCR via repositoryCredentials (aws/modules/ecs/services.tf:130), not ECR. Not an open decision.

Zoho SSO for AWS — scaffolded, blocked on a manual step ​

aws/global/identity-center/ has real Terraform (SAML federation with Zoho as the external IdP) but is not yet applied. Its own main.tf documents why: IAM Identity Center must be manually enabled in the AWS console first — a one-time step Terraform cannot perform, consistent with this org's IaC-only policy exception for first-time account setup. The Zoho SAML metadata URL (from Zoho Directory → Applications) is also a manual input, not currently plumbed through as a variable default. Needed before AWS Phase 1 (foundation) can be considered complete.

jobs service — does not exist; remove from tracking ​

No src/apps/jobs directory exists in blitz, and no reference to a jobs service appears in any Dockerfile, compose file, or Railway/AWS IaC. This was tracked as "may overlap with queue, needs review" — there is nothing to review; either it was never built or was already removed. Dropped from the gap list below.

Hyderabad (ap-south-2) as DR target — no work started ​

No reference to ap-south-2 or a second region exists anywhere in aws/. This remains a genuinely deferred, post-launch idea with zero implementation — correctly described as low-priority, but worth being explicit that nothing (not even scaffolding) exists yet, in contrast to the identity-center and AWS-preprod items above which do have real Terraform behind them.

Open Decisions ​

#ItemStatus
1Ollama on AWS — self-host vs. Bedrock vs. external APIPending — live dependency in blitz-agents today
2Service scope for AWS — which of the 11 dormant src/apps/ services (if any) go livePending
3Zoho SSO / IAM Identity Center — manual console enablement + SAML metadata wiringPending, blocks AWS Phase 1 completion
4AWS production Terraform parity with preprod (rds_autostop, elasticache modules missing)Pending — see Release Management
5blitz-apimgmt / blitz-bapiproxy missing from AWS ECS TerraformPending — see Release Management
6Release versioning, tagging, and rollback designDrafted — see Release Management (not yet implemented)
7Hyderabad (ap-south-2) as DR targetDeferred post-launch; no work started

Resolved since the last revision of this page and removed from the list: RabbitMQ Streams/Amazon MQ compatibility (RabbitMQ fully removed), IaC tooling choice (Terraform, applied), container registry choice (GHCR, confirmed in applied IaC), and the jobs service question (service doesn't exist).

AWS Migration Phases ​

See Infrastructure — AWS Migration for the full phase plan, and AWS Implementation for the detailed tracker.

PhaseScopeStatus
1 — FoundationVPC, RDS, S3, Secrets Manager, IAM Identity CenterPartially applied — VPC/RDS/S3/Secrets Manager/KMS live in preprod; org-level bootstrap + control-tower applied; Identity Center scaffolded, not applied (blocked on manual console step)
2 — Data migrationPostgres + RustFS → S3Not started
3 — ComputeECS Fargate + ALBApplied in preprod — cluster, ALB, and 10 of 12 backend service definitions live; production root module exists but is thinner than preprod (missing rds_autostop, elasticache)
4 — MessagingElastiCache (Valkey), TemporalNot started; the RabbitMQ blocker that used to gate this phase no longer applies — RabbitMQ was removed platform-wide
5 — CutoverDNS, Railway decommissionNot started
6 — ObservabilityCloudWatch, X-Ray, alertingNot started
7 — Security hardeningWAF, GuardDuty, KMSPartially applied — WAF and KMS modules exist in preprod; GuardDuty not yet configured

This page tracks decisions and scope, not deploy mechanics

For how releases get versioned, tagged, and rolled back once services move to AWS ECS — including the three-tier Railway/AWS-preprod/AWS-production environment model — see Release Management.

Finaisse Internal — Confidential. Access-restricted; not for external distribution.