Development Status
Last updated: 2026-06-28 · Environment: Local dev against MongoDB Atlas · Build: Next.js 15 (App Router) + React 19
This page tracks the as-built state of the platform. Each phase below links to its plan document; the per-phase Status: line now reflects reality rather than the original schedule.
What "Shipped ✅" means here: the slice is built and live-verified in the dev environment against MongoDB Atlas (every feature was exercised end-to-end with seeded Kajima Technical Center data). It does not yet mean it has passed the formal Phase 9 production gate (external pentest, prod deployment, DR drill, training).
Phase status
| Phase | Title | Status | Notes |
|---|---|---|---|
| 0 | Foundation & Setup | Shipped ✅ | pnpm monorepo, Next.js 15 / React 19 / TS strict, Tailwind design system, Storybook |
| 1 | Requirements & Architecture | Shipped ✅ | Zod schemas (@atlas/schemas), OpenAPI, multi-tenant model |
| 2 | Core Platform | Shipped ✅ | Tenant-scoped repositories, RBAC, API key + session auth, audit log, generic CRUD |
| 3 | Data Platform | Shipped ✅ | Sites→Buildings→Locations→Assets→Systems→Data Points, tags/ontology, connectors, telemetry, imports |
| 4 | SFMS Core Modules | Shipped ✅ | Work orders (lifecycle + checklist), maintenance plans, documents, search |
| 5 | Dashboard System | Shipped ✅ | Drag-and-drop dashboards, widget library, templates, TV/War-room mode |
| 6 | AI Second Brain | Shipped ✅ | Provider-agnostic LLM router, database-grounded chat, RAG, NL→Mongo query, agent loop, governance |
| 7 | Workflow Creator Studio | Shipped ✅ | React Flow designer, in-process engine, approvals/inbox, cron/telemetry/webhook triggers |
| 8 | Mobile + PWA | Shipped ✅ | Installable PWA, offline queue + sync, mobile inspection flows, push (VAPID-gated) |
| 9 | QA, Security, Deployment & Handover | In progress 🚧 | Continuous live verification per slice; formal pentest / prod deploy / DR drill / training pending |
Module coverage (UI)
All primary entities have list + detail surfaces with pagination on every table and full CRUD where applicable (create / edit / delete), each permission-gated and audit-logged. Audit logs are intentionally read-only.
- Operate — Work Orders, Maintenance, Documents, Approvals
- Assets & Space — Sites, Buildings, Locations, Assets, Systems, Tags & Ontology
- Data — Telemetry, Data Points, Imports, Connectors (+ Connections)
- Intelligence — Dashboards, AI Chat, Workflows, Report Studio
- Admin — Users, Roles, API Keys, Audit Log, Settings
Enhancements beyond the original plan
Delivered after the initial P0–P8 build, all live-verified:
- Systems module — facility systems grouping 4,701 assets (HVAC, electrical, vertical transport, …) with asset/work-order roll-ups; System → Assets → Work Orders chain.
- Asset ↔ Work Order linking — KTC work orders linked to assets by equipment keyword so the AI can retrieve and suggest; category re-derived from titles.
- Full CRUD pass — edit forms + delete for systems, locations, tags, roles, dashboards, workflows; new CRUD pages for the previously page-less Sites, Buildings, Data Points, Connections; tenant Settings editor.
- Pagination — a reusable server-rendered pager on every table listing.
- Search — fixed result links to detail pages, added Systems, count + submit affordances.
- AI Chat — database-grounded answers (work orders, assets, systems counts), scrollable history, and delete conversation (cascade).
- Report Studio — 8 templates with filters + live preview, export to CSV and PDF (dependency-free PDF generator).
- Maintenance builder — drag-and-drop, reorderable procedure steps that flow into each generated work order's checklist.
- Internationalisation — tenant language switch with English / 日本語 / 简体中文; nav, top bar, and Dashboard / Work Orders / Assets translated;
tr()falls back to English for untranslated strings. - Login lands on
/dashboard; PWA service worker disabled in dev (was causing stale-bundle hydration errors).
Environment & constraints
- Dev-only: runs in
pnpm dev; no Docker / Redis / BullMQ — the workflow & maintenance engines run in-process. - MongoDB Atlas is the live datastore; seeded with real Kajima Technical Center data (8,319 assets, 2,649 work orders, 952 data points, 306 locations).
- AI: provider-agnostic (OpenAI / Anthropic / Ollama / offline stub); keys in
apps/web/.env.local. - Git commits are made manually by the project owner.
API reference
The HTTP API is documented from the Zod schemas: OpenAPI JSON at /api/openapi.json, Swagger UI at /api/docs, Scalar at /api/docs/scalar. Every data entity (sites, buildings, locations, systems, assets, data points, gateways, connections, tags, work orders, maintenance plans, dashboards, documents, users, roles, API keys, audit) is registered; feature endpoints (AI, Workflow Studio, Reports, Approvals) are described in their phase docs.
Phase 9 — QA & hardening status
Completed in this pass (details in the Production Readiness runbook):
- Production build green (
next build— lint + type-check + bundle); workspace type-check clean. - API audit — no cross-tenant leaks; auth + permission on every route. Fixed the one missing gate (
dashboard-templates) and added an upfront gate onsync/replay. - Error handling hardened — Mongoose CastError / ValidationError / duplicate-key now map to 400 / 422 / 409 instead of 500.
- Accessibility — focus-visible rings + aria-labels on the shared shell controls and the dialog close button.
- Live smoke suite — 30/30 API checks (entity lists, auth enforcement, RBAC denials, validation, not-found).
Remaining for Phase 9 (production gate)
These are infrastructure & process deliverables outside the codebase — tracked in the Production Readiness runbook:
- External penetration test; SAST/DAST/dependency scan + SBOM in CI.
- Performance / soak testing against NFR targets.
- Backup + restore + DR drill (documented RPO/RTO).
- Production deployment pipeline (blue-green / canary) and observability/alerting.
- Documentation completion, training, and hypercare.