Missing & Incomplete Features — Index
This folder documents features that are specified or partially designed but not yet implemented. Each file covers the gap, what is already in place, what is missing, build steps, and open decisions.
Priority key:
- 🔴 Blocking — required before the system delivers its core value proposition
- 🟡 Pre-launch — needed before first real tenant, not blocking core loop
- 🟢 Post-MVP — valuable but deferrable
Feature List
| # | File | Priority | Area | Summary |
|---|---|---|---|---|
| 1 | cms-publishing.md | 🔴 Blocking | Publishing | WordPress & Webflow API auto-publish after blog approval |
| 2 | email-newsletter-delivery.md | 🔴 Blocking | Publishing | Mailchimp & Klaviyo send after Email Writer agent approval |
| 3 | campaign-orchestration.md | 🔴 Blocking | Agents | Campaign Strategist — decomposes briefs, delegates to workers, synthesises output |
| 4 | real-time-agent-status.md | 🔴 Blocking | UI / Infra | Socket.io BullMQ → dashboard live agent progress events |
| 5 | activity-templates.md | 🔴 Blocking | Core Engine | activity_templates.steps schema undefined (OQ-4) |
| 6 | performance-reporting-dashboard.md | 🟡 Pre-launch | Dashboard UI | Client-facing report viewer — renders Report Writer output |
| 7 | cost-dashboard.md | 🟡 Pre-launch | Dashboard UI | LLM cost graphs by agent/model/day — /costs screen |
| 8 | report-delivery-integrations.md | 🟡 Pre-launch | Integrations | Push reports to Slack, Notion, Google Drive after approval |
| 9 | notifications-app.md | 🟡 Pre-launch | Apps | apps/notifications — push/email alerts for approvals and anomalies |
| 10 | tiktok-gbp-publishing.md | 🟡 Pre-launch | Publishing | TikTok API provider + GBP post publish (agent exists, no wire-up) |
| 11 | overage-billing.md | 🟡 Pre-launch | Billing | Usage-based overage charges when Pro cap exceeded (OQ-12) |
| 12 | lead-scoring-nurture.md | 🟢 Post-MVP | CRM | Lead scoring model + automated nurture sequences |
| 13 | a-b-ad-variants.md | 🟢 Post-MVP | Ads | A/B variant generation for Google RSA and Meta ads |
| 14 | queue-monitoring-ui.md | 🟢 Post-MVP | Manage App | Cross-tenant BullMQ queue visibility in Manage portal (OQ-2) |
Round 2 — Additional Gaps Found via Codebase Audit
| # | File | Priority | Area | Summary |
|---|---|---|---|---|
| 15 | billing-type-mismatch-bug.md | 🔴 Blocking | Build | BillingJobData test missing jobId+manual — breaks entire monorepo build |
| 16 | social-post-platform-publishing.md | 🟢 Implemented | Publishing | |
| 17 | scheduler-missing-task-types.md | 🔴 Blocking | Core Engine | Scheduler only handles 3 signup email tasks; monthly cycle, billing, keyword snapshots all missing |
| 18 | hardcoded-connected-channels.md | 🟢 Implemented | Core Engine | ["facebook","linkedin","instagram"] |
| 19 | free-plan-limits.md | 🔴 Blocking | Billing | Free plan never defined or seeded; unsubscribed tenants get Starter access indefinitely (OQ-11) |
| 20 | agent-plan-gating.md | 🔴 Blocking | Access Control | All tenants see all agents regardless of plan; plan-gating TODO never implemented |
| 21 | notification-hub-sse-service.md | 🔴 Blocking | Infrastructure | Notifications server publishes to a non-existent HTTP hub instead of Redis Pub/Sub; bell badge never updates |
| 22 | twitter-zoho-channel-detail-pages.md | 🟡 Pre-launch | Dashboard UI | Twitter/X and Zoho channels fall through to NotImplementedDetail placeholder |
| 23 | oauth-token-key-rotation.md | 🟡 Pre-launch | Security | No key rotation process for AES-256-GCM OAuth token encryption (OQ-18) |
| 24 | document-security-scanning.md | 🟡 Pre-launch | Security | File uploads have no antivirus scan or magic-byte validation before Docling extraction (OQ-17) |
Round 3 — Deep Codebase Audit (Billing, Auth, AI Chat, Infra)
| # | File | Priority | Area | Summary |
|---|---|---|---|---|
| 25 | razorpay-webhook-signature-bypass.md | 🔴 Blocking | Security | Webhook verification skipped when RAZORPAY_WEBHOOK_SECRET is unset — forged events processed |
| 26 | credit-race-condition.md | 🔴 Blocking | Billing | reserveCredits() uses READ COMMITTED with no row lock — concurrent calls can double-spend credits |
| 27 | subscription-cancellation-cleanup.md | 🟡 Pre-launch | Billing | Subscription cancellation only updates status — no tenant freeze, no credit lock, no notification |
| 28 | payment-failed-no-notification.md | 🟡 Pre-launch | Billing | Payment failed webhook updates invoice JSON but doesn’t notify tenant or set invoice status |
| 29 | email-verification-missing.md | 🟡 Pre-launch | Auth | Users created with emailVerified: false — no verification email, no verify endpoint, no access restriction |
| 30 | stateless-jwt-no-revocation.md | 🟡 Pre-launch | Auth | Logout returns 204 with no server-side revocation — stolen tokens valid until expiry |
| 31 | ai-chat-executor-subagent.md | 🟡 Pre-launch | AI Chat | Orchestrator references executor subagent but only analytics is wired — 16 executor tools not built |
| 32 | ai-chat-token-management.md | 🟡 Pre-launch | AI Chat | No token counting, no history trimming, no context window management — long chats will exceed limits |
| 33 | rag-qdrant-health-check.md | 🟡 Pre-launch | Infrastructure | RAG engine starts without checking Qdrant; MongoDB/Qdrant Docker have no healthchecks |
| 34 | mobile-push-notifications.md | 🟢 Post-MVP | Mobile | Mobile app fetches notifications via REST polling — no FCM registration or push delivery |
| 35 | tenant-storage-cleanup.md | 🟢 Post-MVP | Infrastructure | Deactivated/cancelled tenant files remain in Spaces indefinitely — no cleanup process |
Round 4 — Social Publishing & Channel Catalogue (April 2026)
| # | File | Priority | Area | Summary |
|---|---|---|---|---|
| 36 | twitter-x-tiktok-channels.md | 🟡 Pre-launch | Publishing | Twitter/X and TikTok removed from catalogue — OAuth + publishing worker not yet built |
| 37 | zoho-crm-channel.md | 🟡 Pre-launch | CRM | Zoho CRM removed from catalogue — provider package + lead-import worker not yet built |
| 38 | tiktok-publishing.md | 🟡 Pre-launch | Publishing | TikTok Content Posting API — chunked video upload, two-step flow, manual-publish fallback |
| 39 | competitor-social-monitoring.md | 🟢 Post-MVP | Intelligence | Competitor social tracking, engagement benchmarking, AI analysis — deferred until core publishing stable |
Round 5 — Cross-Reference Audit (April 2026)
| # | File | Priority | Area | Summary |
|---|---|---|---|---|
| 40 | brand-voice-router-production-bug.md | 🔴 Blocking | API Bug | brandVoiceRouter registered in test entry (app.ts) but not in production entry (index.ts) — all brand-voice endpoints return 404 in prod |
| 41 | sms-notifications-stub.md | 🟡 Pre-launch | Notifications | SMS handler returns not_implemented — @leadmetrics/provider-msg91 and @leadmetrics/provider-twilio packages not yet built |
| 42 | website-channel-detail-page.md | 🟡 Pre-launch | Dashboard UI | ”Website” channel type falls through to NotImplementedDetail — backend webcrawl API fully built, frontend component missing |
| 43 | brand-voice-context-regeneration.md | 🟢 Post-MVP | Agent Pipeline | Activating brand voice does not re-run context-file-writer — TODO at brand-voice.ts:130 |
New features (competitive analysis, earlier Round 4) have been moved to docs/new-features/index.md — 10 items (#36–#45).