docs(platform): mark all P2+P3 components as BUILT (25/25 complete)
This commit is contained in:
parent
3cda7190fb
commit
91afa48d29
@ -194,7 +194,7 @@ Both SDKs provide: `BLPlatformConfig`, `BLPlatformClient`, `BLAuthClient`, `BLTe
|
||||
|
||||
## 2. Gap Analysis — Missing Components
|
||||
|
||||
> **Status as of 2026-03-01:** 23 of 25 gap items are now **✅ BUILT**. 2 remain **❌ Not Started** (P3 only).
|
||||
> **Status as of 2026-03-27:** ALL 25 of 25 gap items are now **✅ BUILT**. P2+P3 modules completed with 233 new tests (1,499 total platform-service tests).
|
||||
> The detailed designs below are preserved as reference for the implementations.
|
||||
|
||||
### P0 — Foundational ✅ ALL BUILT (6/6)
|
||||
@ -1019,13 +1019,15 @@ interface ChangelogEntry {
|
||||
|
||||
---
|
||||
|
||||
### P3 — Scale & Polish (1 of 9 BUILT, 8 deferred)
|
||||
### P3 — Scale & Polish ✅ ALL BUILT (9/9)
|
||||
|
||||
These components are important for scale, security, and developer experience, but are lower urgency.
|
||||
These components are important for scale, security, and developer experience. All P3 items have been implemented.
|
||||
|
||||
---
|
||||
|
||||
#### 2.17 CDN & Asset Pipeline ❌ NOT STARTED
|
||||
#### 2.17 CDN & Asset Pipeline ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/cdn/` (4 source files) — signed URL generation, asset listing, purge requests, origin configs. 15 tests.
|
||||
|
||||
**Why:** Blob storage serves files directly from Azure. No edge caching, no image optimization, no automatic resizing for avatars/thumbnails.
|
||||
|
||||
@ -1038,7 +1040,9 @@ These components are important for scale, security, and developer experience, bu
|
||||
|
||||
---
|
||||
|
||||
#### 2.18 API Versioning Strategy ❌ NOT STARTED
|
||||
#### 2.18 API Versioning Strategy ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/api-versioning/` (4 source files) — version registry, deprecation/sunset headers, client version pinning. 16 tests.
|
||||
|
||||
**Why:** As external consumers appear (webhook integrations, third-party tools), breaking API changes need to be managed. Today all endpoints are unversioned.
|
||||
|
||||
@ -1068,7 +1072,9 @@ These components are important for scale, security, and developer experience, bu
|
||||
|
||||
---
|
||||
|
||||
#### 2.20 Localization / i18n Service ❌ NOT STARTED
|
||||
#### 2.20 Localization / i18n Service ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/i18n/` (4 source files) — translations CRUD, locale management, fallback chain (requested → language-only → en), bulk import. Cosmos containers: `translations`, `i18n_locales`. 16 tests.
|
||||
|
||||
**Why:** Centralized string management for all platforms. When adding a new language, change one place, not four codebases.
|
||||
|
||||
@ -1081,7 +1087,9 @@ These components are important for scale, security, and developer experience, bu
|
||||
|
||||
---
|
||||
|
||||
#### 2.21 Full-Text Search ❌ NOT STARTED
|
||||
#### 2.21 Full-Text Search ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/search/` (4 source files) — cross-container search, suggestions, search index management. 15 tests.
|
||||
|
||||
**Why:** Admin needs to search users by partial name/email. Users need to search memories/items. Cosmos SQL `CONTAINS()` is slow and doesn't rank results.
|
||||
|
||||
@ -1093,7 +1101,9 @@ These components are important for scale, security, and developer experience, bu
|
||||
|
||||
---
|
||||
|
||||
#### 2.22 Multi-Tenant Workspace / Org / Team Management ❌ NOT STARTED
|
||||
#### 2.22 Multi-Tenant Workspace / Org / Team Management ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/tenants/` (4 source files) — tenant CRUD, member management (invite/remove/role), tenant-scoped queries, invite system. 20 tests.
|
||||
|
||||
**Why:** `productId` scopes data per product, but within a product there's no team or organization concept. Enterprise customers need: org hierarchy, team-scoped permissions, shared brains/workspaces.
|
||||
|
||||
@ -1107,7 +1117,9 @@ This is a major architectural expansion. Defer until enterprise tier is validate
|
||||
|
||||
---
|
||||
|
||||
#### 2.23 Data Retention & Lifecycle Policies ❌ NOT STARTED
|
||||
#### 2.23 Data Retention & Lifecycle Policies ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/retention/` (4 source files) — policy CRUD, cleanup execution, dry-run mode, archive vs delete, scheduled job integration. 12 tests.
|
||||
|
||||
**Why:** Telemetry has TTL. Other containers don't. Old audit logs, expired sessions, redeemed promos, and stale waitlist entries accumulate forever.
|
||||
|
||||
@ -1120,7 +1132,9 @@ This is a major architectural expansion. Defer until enterprise tier is validate
|
||||
|
||||
---
|
||||
|
||||
#### 2.24 Automated Backup & Point-in-Time Restore ❌ NOT STARTED
|
||||
#### 2.24 Automated Backup & Point-in-Time Restore ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/backups/` (4 source files) — backup creation, download, restore with dry-run, backup configs, scheduled backups. 14 tests.
|
||||
|
||||
**Why:** Azure Cosmos DB has continuous backup, but admin needs visibility and one-click restore capability.
|
||||
|
||||
@ -1133,7 +1147,9 @@ This is a major architectural expansion. Defer until enterprise tier is validate
|
||||
|
||||
---
|
||||
|
||||
#### 2.25 Billing Dunning & Payment Recovery ❌ NOT STARTED
|
||||
#### 2.25 Billing Dunning & Payment Recovery ✅ BUILT
|
||||
|
||||
> **Implementation:** `modules/dunning/` (4 source files) — retry scheduling with exponential backoff, grace period, downgrade trigger, at-risk users, campaign management. 22 tests.
|
||||
|
||||
**Why:** Stripe handles retries, but the platform needs to: notify users of failed payments, offer grace periods, and eventually downgrade plans.
|
||||
|
||||
@ -1150,30 +1166,37 @@ This is a major architectural expansion. Defer until enterprise tier is validate
|
||||
|
||||
## 3. Implementation Priority Matrix
|
||||
|
||||
| Phase | Components | Status | Notes |
|
||||
| ------------ | ------------------------------------ | -------------- | ----------------------------------------------------------------------- |
|
||||
| **Sprint 1** | 2.1 Scheduled Jobs | ✅ Complete | `modules/jobs/` — 7 source files |
|
||||
| **Sprint 1** | 2.4 Event Bus | ✅ Complete | `@bytelyst/events` + `lib/event-bus.ts` |
|
||||
| **Sprint 2** | 2.2 Email Delivery | ✅ Complete | `modules/delivery/` — 8 source files |
|
||||
| **Sprint 2** | 2.5 Password Reset + Email Verify | ✅ Complete | Added to `modules/auth/` |
|
||||
| **Sprint 3** | 2.3 Webhook Subscriptions | ✅ Complete | `modules/webhooks/` — 4 files, HMAC signing, retry, auto-disable |
|
||||
| **Sprint 3** | 2.7 Session Management | ✅ Complete | `modules/sessions/` — 3 source files |
|
||||
| **Sprint 4** | 2.10 Maintenance Mode | ✅ Complete | `modules/maintenance/` — 3 source files |
|
||||
| **Sprint 4** | 2.9 Data Export | ✅ Complete | `modules/exports/` — 3 source files |
|
||||
| **Sprint 5** | 2.13 Analytics Rollups | ✅ Complete | `modules/analytics/` — 3 source files |
|
||||
| **Sprint 5** | 2.19 OpenAPI Docs | ✅ Complete | `@fastify/swagger-ui` at `/documentation`, auto-generated spec |
|
||||
| **Sprint 6** | 2.6 Status Page | ✅ Complete | `modules/status/` — 4 source files |
|
||||
| **Sprint 6** | 2.16 Changelog | ✅ Complete | `modules/changelog/` — 3 source files |
|
||||
| **Sprint 7** | 2.11 Rate Limit Dashboard + IP Rules | ✅ Complete | `modules/ip-rules/` — 3 source files |
|
||||
| **Sprint 7** | 2.12 A/B Experiments | ✅ Complete | `modules/experiments/` — 3 source files |
|
||||
| **Sprint 7** | 2.14 In-App Feedback | ✅ Complete | `modules/feedback/` — 3 source files |
|
||||
| **Sprint 7** | 2.15 User Impersonation | ✅ Complete | `modules/impersonation/` — 3 source files |
|
||||
| **Later** | 2.8 DB Migrations | ✅ Complete | `src/migrations/` — runner on startup, Cosmos tracking |
|
||||
| **Later** | 2.17–2.18, 2.20–2.25 | ❌ Not Started | CDN, versioning, i18n, search, multi-tenant, retention, backup, dunning |
|
||||
| Phase | Components | Status | Notes |
|
||||
| ------------ | ------------------------------------ | ----------- | ---------------------------------------------------------------- |
|
||||
| **Sprint 1** | 2.1 Scheduled Jobs | ✅ Complete | `modules/jobs/` — 7 source files |
|
||||
| **Sprint 1** | 2.4 Event Bus | ✅ Complete | `@bytelyst/events` + `lib/event-bus.ts` |
|
||||
| **Sprint 2** | 2.2 Email Delivery | ✅ Complete | `modules/delivery/` — 8 source files |
|
||||
| **Sprint 2** | 2.5 Password Reset + Email Verify | ✅ Complete | Added to `modules/auth/` |
|
||||
| **Sprint 3** | 2.3 Webhook Subscriptions | ✅ Complete | `modules/webhooks/` — 4 files, HMAC signing, retry, auto-disable |
|
||||
| **Sprint 3** | 2.7 Session Management | ✅ Complete | `modules/sessions/` — 3 source files |
|
||||
| **Sprint 4** | 2.10 Maintenance Mode | ✅ Complete | `modules/maintenance/` — 3 source files |
|
||||
| **Sprint 4** | 2.9 Data Export | ✅ Complete | `modules/exports/` — 3 source files |
|
||||
| **Sprint 5** | 2.13 Analytics Rollups | ✅ Complete | `modules/analytics/` — 3 source files |
|
||||
| **Sprint 5** | 2.19 OpenAPI Docs | ✅ Complete | `@fastify/swagger-ui` at `/documentation`, auto-generated spec |
|
||||
| **Sprint 6** | 2.6 Status Page | ✅ Complete | `modules/status/` — 4 source files |
|
||||
| **Sprint 6** | 2.16 Changelog | ✅ Complete | `modules/changelog/` — 3 source files |
|
||||
| **Sprint 7** | 2.11 Rate Limit Dashboard + IP Rules | ✅ Complete | `modules/ip-rules/` — 3 source files |
|
||||
| **Sprint 7** | 2.12 A/B Experiments | ✅ Complete | `modules/experiments/` — 3 source files |
|
||||
| **Sprint 7** | 2.14 In-App Feedback | ✅ Complete | `modules/feedback/` — 3 source files |
|
||||
| **Sprint 7** | 2.15 User Impersonation | ✅ Complete | `modules/impersonation/` — 3 source files |
|
||||
| **Later** | 2.8 DB Migrations | ✅ Complete | `src/migrations/` — runner on startup, Cosmos tracking |
|
||||
| **Later** | 2.17 CDN | ✅ Complete | `modules/cdn/` — 4 source files, 15 tests |
|
||||
| **Later** | 2.18 API Versioning | ✅ Complete | `modules/api-versioning/` — 4 source files, 16 tests |
|
||||
| **Later** | 2.20 i18n | ✅ Complete | `modules/i18n/` — 4 source files, 16 tests |
|
||||
| **Later** | 2.21 Full-Text Search | ✅ Complete | `modules/search/` — 4 source files, 15 tests |
|
||||
| **Later** | 2.22 Multi-Tenant | ✅ Complete | `modules/tenants/` — 4 source files, 20 tests |
|
||||
| **Later** | 2.23 Data Retention | ✅ Complete | `modules/retention/` — 4 source files, 12 tests |
|
||||
| **Later** | 2.24 Backup/Restore | ✅ Complete | `modules/backups/` — 4 source files, 14 tests |
|
||||
| **Later** | 2.25 Billing Dunning | ✅ Complete | `modules/dunning/` — 4 source files, 22 tests |
|
||||
|
||||
**Summary:** 23 of 25 gap items ✅ complete. 2 ❌ not started (P3 scale items only: CDN, versioning, i18n, search, multi-tenant, retention, backup, dunning).
|
||||
**Summary:** ALL 25 of 25 gap items ✅ complete. P2+P3 modules added 233 new tests.
|
||||
|
||||
**All P0, P1, and P2 items are complete.** Only lower-priority P3 scale/polish items remain.
|
||||
**All P0, P1, P2, and P3 items are complete.** Platform-service: 1,499 tests across 121 test files.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user