KeyNova Engineering Registry Dashboard
Last generated: April 2026
| Epic | Name | Stories | Built | Partial | Not Started | Completion |
|---|
| EP-001 | Authentication & Access Control | 16 | 11 | 4 | 1 | 69% |
| EP-002 | Property & Room Management | 14 | 8 | 4 | 1 | 57% |
| EP-003 | Reservation Management | 22 | 13 | 6 | 2 | 59% |
| EP-004 | Guest Management | 16 | 13 | 2 | 1 | 81% |
| EP-005 | Front Desk Operations | 47 | 27 | 8 | 2 | 57% |
| EP-006 | Housekeeping Management | 16 | 12 | 3 | 1 | 75% |
| EP-007 | POS & F&B Management | 24 | 19 | 3 | 2 | 79% |
| EP-008 | Banquet & Events | 13 | 7 | 3 | 3 | 54% |
| EP-009 | Channel Manager | 13 | 4 | 5 | 4 | 31% |
| EP-010 | CRM, Loyalty & Campaigns | 19 | 10 | 4 | 5 | 53% |
| EP-011 | Booking Engine | 16 | 8 | 4 | 4 | 50% |
| EP-012 | Analytics & Reporting | 20 | 8 | 9 | 3 | 40% |
| EP-013 | AI & Intelligence | 11 | 4 | 6 | 1 | 36% |
| EP-014 | Notifications | 11 | 1 | 8 | 2 | 9% |
| EP-015 | Integrations | 11 | 1 | 7 | 3 | 9% |
| EP-016 | Spa & Wellness | 9 | 3 | 2 | 4 | 33% |
| EP-017 | Compliance & Audit | 14 | 3 | 5 | 6 | 21% |
| EP-018 | Multi-Property & Chain | 9 | 1 | 4 | 4 | 11% |
| EP-019 | Platform Admin (SaaS) | 11 | 3 | 5 | 3 | 27% |
| EP-020 | Infrastructure & DevOps | 11 | 4 | 6 | 1 | 36% |
| EP-021 | Mobile Apps | 13 | 0 | 8 | 5 | 0% |
| EP-022 | KDS & Kiosk | 9 | 3 | 3 | 3 | 33% |
| TOTAL | | ~345 | ~162 | ~109 | ~62 | ~47% |
Module Completion
| Module | Epics | Avg Completion | Blockers |
|---|
| Core PMS | EP-001 to EP-006 | 65% | Floor plan editor, password expiry |
| Revenue | EP-007, EP-009, EP-011, EP-012 | 50% | Live OTA APIs, booking engine backend integration |
| Operations | EP-008, EP-016 | 44% | BEO PDFs, spa booking flow |
| Platform | EP-001, EP-010, EP-013, EP-014, EP-017, EP-019 | 30% | Live notifications, compliance automation |
| Mobile/Kiosk | EP-021, EP-022 | 17% | No real API integration in mobile apps |
| Infrastructure | EP-020 | 36% | CI/CD pipeline, monitoring gaps |
Critical Blockers (Production Launch)
| # | Epic | Story | Issue | Impact |
|---|
| 1 | EP-011 | US-011-006 | Booking engine uses mock API — no live backend | Cannot take online bookings |
| 2 | EP-009 | All | All OTA adapters are mock/simulated | Cannot sync with Booking.com/Expedia |
| 3 | EP-014 | All | No live SendGrid/Twilio credentials tested | No guest communications |
| 4 | EP-021 | All | Mobile apps have zero real API integration | Staff mobile not functional |
| 5 | EP-017 | 6 of 14 | PCI DSS, SOC 2, data retention not implemented | Compliance gaps |
Quality Summary
| Dimension | Status | Notes |
|---|
| Test Coverage | ~55% | Core PMS well-tested; +127 tests added in Phase 1 hardening (WS auth, isolation, receipts, mobile E2E) |
| Security | Strong for auth/tenancy | PCI DSS and FSSAI compliance gaps; service-account JWT now in place |
| Performance | Untested at scale | k6 scripts exist but no baseline run |
| Data Integrity | Good | Prisma transactions, audit logging, receiver-side assertPropertyTenant enforcement |
| Compliance | Partial | GST/e-invoice mocked, GDPR implemented, DPDP partial |
| Accessibility | WCAG 2.1 AA partial | Dashboard + booking engine audited; gold-on-ivory contrast still failing |
Phase 1 Hardening (2026-04)
Workstreams C (critical code fixes) and D (UI/UX polish) shipped during the
5-property production launch sprint. Both are committed locally on feature branches and
not yet pushed.
Plan: superpowers/plans/2026-04-06-phase1-5-property-launch.md
Workstream C — Critical Code Fixes
| # | Task | Branches | Test Delta |
|---|
| C1 | WebSocket gateway JWT auth (HK + Kitchen) | feat/ws-jwt-auth (4 repos) | +22 gateway tests |
| C2 | Materialized view consumers registered | feat/enable-mv-consumers | +6 consumer tests |
| C3 | Multi-property isolation E2E tests | feat/multi-property-isolation-tests | +5 Playwright tests |
| C4 | xPrisma → ServiceClient (4 sites) | feat/xprisma-to-serviceclient (3 repos) | +12 unit tests |
| C4a | Internal service-account JWT mechanism | feat/service-account-jwt (3 repos) | +18 auth tests |
| C4b | Booking-engine xPrisma migration (19 sites) | feat/booking-engine-serviceclient (3 repos) | +24 controller tests |
| C5 | Event subscriptions + dispatcher | feat/enable-event-flow (2 repos) | +6 dispatcher tests |
Workstream D — UI/UX Polish
| # | Task | Branch | Test Delta |
|---|
| D1 | Dashboard UI consistency (78/86 fixes) | feat/dashboard-ui-polish | +8 KpiCard tests, 22/22 UI tests pass |
| D2 | Booking engine mobile responsive | feat/booking-engine-mobile-polish | mobile 23/23, desktop 18/18, tablet 18/18 |
| D3 | Booking engine empty/loading/error states | feat/booking-engine-ui-states | +17 unit tests |
| D4 | Dashboard skeleton loaders | feat/dashboard-skeleton-loaders | shared KpiCardSkeleton row |
| D5 | Mobile app KeyNova branding | feat/mobile-keynova-branding | 14 screens, 4 apps rebranded |
| D6 | Branded receipt templates | feat/branded-receipts | +47 ESC/POS tests |
| D7 | WCAG 2.1 AA accessibility | feat/dashboard-a11y-fixes + feat/booking-engine-a11y-fixes | 25 fixes across 26 files |
Hardening Notes by Epic
For per-epic detail, see the hardening-notes.md file under each epic directory:
Architecture Docs Added
Test Coverage Report
See testing/phase1-coverage-report.md for per-service
before/after counts.
Workstream E — Testing
Workstream F — Onboarding Playbook
Phase 1 Total Test Counts (aggregate)
| Suite | Pass rate | Tests added in Phase 1 |
|---|
| Backend (5 priority services) | 947/959 = 98.7% | +88 (C-stream gateway/auth/controller/dispatcher/consumer) |
| Booking engine E2E (post-fix) | 65/66 = 98.5% | +7 from D2/D3 |
| Dashboard E2E (post auth fix) | 337/583 = 58% | +555 vs pre-Phase-1 baseline (~28) |
| Multi-property isolation E2E (C3) | 5/5 = 100% | +5 |
| Receipt rendering (D6) | 47/47 = 100% | +47 |
| KpiCard tests (D1) | 22/22 = 100% | +8 |
| Night audit suite | 6/51 = 12% — 45 fail to compile (P0 #1) | (existing) |
| Mobile (Jest, not yet runnable) | — | +8 files |
Total Phase 1 test contribution: ~+1,560 across all suites and services.
Phase 1 Launch Readiness
The single executive summary for the entire Phase 1 launch is phase1-launch-readiness.md. It is the go/no-go reference for the April 14 cutover and links to every Phase 1 artifact.
Known Follow-Ups
- (P0) 4 night-audit bugs from E3 must be fixed before launch — see
phase1-launch-readiness.md §"Critical Bugs to Fix"
- (P1) 2 night-audit P1 bugs (audit-log RUNNING hang, rollback folio decrement) — see same section
- (P1) D7 — 7 dashboard pages have opacity-utility contrast violations; design decision needed
- 52 remaining xPrisma sites across 10 services — Phase 2 scope
- RS256 token support in C1 gateways (currently HS256)
- Logo asset handoff from design team (dashboard + mobile placeholders)
- Satoshi font loading via expo-font in mobile apps
- 20 pre-existing TS errors in
hmp-property-service
- 67 pre-existing TS errors in
hmp-web-dashboard test files
- Gold-on-ivory AA contrast failure (#B8962E on #FAF8F0 = 2.97:1)
- Mobile-apps workspace
npm ci + Jest validation (8 files exist, cannot run yet)
- iOS app builds + Apple Developer enrollment — Phase 2
- Multi-timezone seed data — only one Phase 1 property is non-
Asia/Kolkata (Goa override) — Phase 2 should add real cross-tz fixtures
How to Use This Registry
- Per-epic status: Navigate to
registry/EP-XXX/epic-summary
- Per-story detail: Navigate to
registry/EP-XXX/US-XXX-YYY
- Update after coding: Run
/registry-update to refresh a story's status
- Regenerate all: Run
/registry-generate with EPIC=all
- Audit accuracy: Run the
feature-registry-auditor agent
- Feature docs: See
features/ for hotel-facing documentation