U
Project memory · source-aligned

Ultima V2 Build Status

A plain-language map of what exists in this repository today, what needs hardening before deployment, and what remains on the larger PBX roadmap.

Last repository auditAugust 8, 2026Current code takes precedence over older plans.
Read this before making product decisions. The prior status board represented a separate dialer-core architecture. This board distinguishes that historical roadmap from code verified in the current Next.js repository.
4customer-facing areas implemented
13server API route families
4deployment-blocking security gaps
0automated tests currently present

What is live in the codebase

Verified by source review
App shellSidebar, top bar, tenant context, status-board home.
Operations UISMS inbox, contacts, tickets, and settings views.
Next.js APIsMessages, contacts, uploads, phone numbers, integrations, Zoho.
Trust boundaryTenant identity currently comes from the browser. Must be replaced.
ProvidersSupabase, Telnyx, Zoho Desk, Stripe.
The feature work is real and reusable. The next milestone is to put a secure authentication and tenant-authorization layer beneath it—not rebuild the product screens.

Board legend

Verified in current sourceWorks but needs hardeningDeployment riskPlanned / not in this repository

Current product surface

Search is local to this board. Statuses describe the current repository, not the old dialer-core tracker.

Delivery roadmap

A staged sequence that protects the functionality already built, then expands it.

Now · P0

Secure the existing application

Supabase session validation, reusable server-side tenant authorization, secret redaction/storage, Telnyx signature validation, upload limits, and route-level tests.

Deployment blocker
Next · P1

Make the operating console excellent

Redesign the shared shell, SMS workspace, contacts, tickets, and settings around clear status, empty states, errors, and safe integration setup.

Product quality
Then · P2

Operational reliability

Type cleanup, lint fixes, test coverage, provider error handling, observability, durable configuration, and deployment documentation.

Release confidence
Building · P3

Telephony Control Center

The Owner/Admin Control Center now exposes a real pilot gate: Telnyx Voice configuration, voice-ledger readiness, an owner extension, live call-history projection, invite-only Team access, controlled browser-device registration, and a manual inbound-call decision. Provisioning creates a distinct Telnyx credential; Connect mints a short-lived browser token. The existing pilot DID can notify the connected browser, which only answers after the owner clicks Answer.

Inbound pilot ready
The larger voice roadmap remains valuable context, but it is not evidence of implementation in this repository. Move items into the current-product surface only after their code, tests, and configuration arrive here.

Current code map

Where to look first
src/app/
sms/ SMS inbox & compose
contacts/ Zoho contact views
tickets/ Zoho Desk ticket views
settings/ numbers & integrations
api/ server route handlers
src/lib/
supabase.ts service-role client
telnyx.ts outbound SMS helper
zoho.ts token refresh helper

src/contexts/
TenantContext.tsx browser tenant state

public/
UltimaV2-Build-Status-Board.html this board

Update protocol

Keep this useful
Verify against source before changing a statusRoutes, components, tests, migrations, and configuration in this repository are the evidence.
Record capability and safety separately“Functional” does not mean “safe to deploy.” Preserve both facts.
Add a dated memory entry for material changesKeep the entry factual: what changed, where, what was verified, and what remains.
Do not overwrite historical roadmap contextLabel it as planned or legacy context when it is not implemented here.

Project memory

Concise, evidence-based history
2026-08-09 · Controlled inbound pilot added

The already-assigned pilot DID +1 (877) 818-0814 can now notify the registered owner browser for extension 122203. Ultima shows caller context and requires an explicit Answer or Decline; an answered pilot call can be ended from the same view. There is no automatic answer, outbound dialing, transfer, recording, conference, or IVR control.

2026-08-08 · Owner browser registration built

Added the controlled WebRTC device layer for extension 122203. An authenticated owner can provision one distinct Telnyx telephony credential, receive a short-lived browser JWT, and register or disconnect the browser without exposing SIP secrets. The device ledger saves only opaque provider IDs and connection state.

2026-08-08 · Owner-first access implemented

Added password sign-in with an email-link fallback, a server-controlled first-owner invitation, invite-only workspace membership, and a Team access panel in Telephony Admin. Invitation links activate each user once so they can create their own password. The Voice configuration, verification, readiness, extension, live-call, history, and detail APIs now require an authenticated active member; the signed Telnyx webhook remains provider-authenticated. Applying the additive owner-access migration and setting the owner environment values is the next operator step.

2026-08-08 · Pilot DID verified

Read-only Telnyx verification confirmed that active number +1 (877) 818-0814 is assigned to the dedicated Ultima Phone connection. The Admin Numbers view now represents this real pilot rather than a placeholder. The connection remains free of browser device credentials and there are no live calls.

2026-08-08 · Browser connection configured

Configured the dedicated Ultima Phone credential connection with the verified Ultima Owner WebRTC Outbound Voice Profile and Ultima’s v2 signed Voice webhook. Read-only verification confirms the App, profile, browser connection, and webhook configuration. No DID was assigned, no device credential was created, and no call was placed.

2026-08-08 · Voice projections expanded

Stored and read-only verified the enabled Ultima Owner WebRTC Outbound Voice Profile. Signed Voice events can now calculate call duration, match an existing normalized contact when available, and feed safe detail/live-call projections without exposing raw carrier payloads. No number, device, route, or call was activated.

2026-08-08 · Browser device gate added

Settings now accepts a dedicated Telnyx credentials-based SIP Connection ID for the future browser softphone, separately from the Voice App and existing 3CX connections. The ID is validated server-side before Ultima can create per-agent credentials. No SIP connection, device, route, or call was created by this change.

2026-08-08 · Voice database gate corrected

Read-only checks confirmed that the live Supabase API does not yet expose the canonical calls table and that the existing project uses an older user_id shape. Replaced the incompatible canonical-schema instruction with an additive, voice-only compatibility migration. This database work does not affect the Telnyx number, 3CX, devices, or calls.

2026-08-08 · Voice pilot gate built

Added non-mutating pilot readiness, tenant-scoped voice call-history, and owner-extension endpoints. The Telephony Control Center now shows whether the encrypted Telnyx configuration and database ledger are ready; the Dial Pad replaces its reference history only when real Telnyx projections exist. Extension 122203 can be recorded after the migration, but it cannot register a device or place a call.

2026-08-08 · Telnyx pilot verified

The configured Telnyx Voice App passed Ultima’s read-only connection check. The pilot API and public signing keys are stored encrypted server-side and remain write-only in the Settings UI. No customer number was moved, no webhook event was accepted, and no call was placed.

2026-08-08 · Voice setup panel added

Added a Telnyx Voice setup card to Settings for the pilot App ID, webhook URL, API key, and public signing key. The saved keys are encrypted in the server-side local store and are write-only from the UI. The card includes a no-call configuration check; real traffic remains disabled until the database migration and live policy are applied.

2026-08-08 · Voice foundation staged

Added the unapplied Supabase migration and provider-neutral voice contracts. The model extends the existing call ledger with Telnyx session/leg/control identifiers, duplicate-event protection, idempotent command records, extensions, device metadata, number capabilities, and recording metadata. No carrier credential, public voice webhook, or real call API was enabled.

2026-08-08 · Agent Dial Pad added

Added the agent-facing Dial Pad workspace with a keyboard, visual call states, mute/hold controls, warm transfer, conference, recent-call design, and Customer 360 context. It deliberately runs in design mode: no carrier call, voice route, or call-event data model has been activated yet.

2026-08-08 · Telephony Admin started

Telephony is the next product build priority. The first implemented surface is the Owner/Admin Telephony Control Center for number inventory, extensions, routing, IVR, queues, recording policy, and team access. The Telnyx Voice + WebRTC backend remains planned next, preserving a provider boundary for a later Asterisk/ARI option.

2026-08-08 · Board reconciled

Created this repository-aligned status board. It separates the current Next.js/Supabase/Telnyx/Zoho application from the prior dialer-core roadmap and documents the security baseline required before deployment.

2026-08-08 · Current UI/API audit

Verified working product surfaces for SMS, contacts, tickets, settings, uploads, and provider integrations. Identified tenant-ID trust, secret exposure, unsigned webhooks, and unrestricted uploads as deployment-blocking gaps.

2026-08-07 · Repository port context

The previous board reports a port to a Next.js App Router repository. The current implementation contains a smaller, separate product surface and does not include the older tRPC/Asterisk/repository-layer code described by that board.

Maintenance note: this is a deliberately self-contained static board for easy sharing. Update its structured feature list and dated memory entries in the same change that materially changes the project.