Future Requirements โ Living Roadmap
Last updated: 2026-06-06 Source of truth: GitHub Issues (open issues = current backlog). This doc lags GitHub โ when they disagree, GitHub wins. Auto-refresh planned via #247 (closed 2026-05-25, PR #711). This document is a curated view of open GitHub issues organised by priority, plus deferred/strategic items not yet tracked as issues. Review and sync weekly during launch ramp.
2026-06-06 update: Gmail API inbound polling shipped 2026-06-05 (PR #1722, closes #1060) โ primary path. CF Worker is now fallback during a 2-week prod soak; #1440 / #1441 remain open until that completes. Tavus integration landed in three commits: DB schema (#2052), security guardrails (#2054), on-demand video call API (#2055). ADR-028 retired
railway_per_orgruntime kind 2026-06-03.
P0 โ Must-Have Blockers (ship ASAP)โ
These block Kaito-launch / first paying customer.
| # | Title | Area | Notes |
|---|---|---|---|
| #701 | Migrate humanwork production from Railway to ECS (Kaito-launch P0) | Infra | Railway is fine for dev; not production-grade for a paying customer. Supersedes the earlier "ECS deferred" decision in DEFERRED_M1_WORK.md. |
Earlier P0 backlog (now closed or demoted โ kept for trail):
#362Per-Org sandboxed agent runtime โ closed 2026-05-25 (PR #696).#315Haystack KB org-member sync โ demoted to P2 per Kaito lens.#296Onboarding business-context upload โ demoted to P2 (post-launch KB ingestion is acceptable).#291Per-tenant Haystack KB provisioning service โ closed 2026-05-26 (ADR-009 disposition, #723).#146Verifyh.workdomain in Resend for production Specialist email โ closed 2026-06-01 (PR #1217).#702Orb billing live โ superseded: Lago is the canonical billing rail (LagoProvider #1069; dual-strategy #1105; client wire-up #1155; ops UI #1155 (#1165 was closed-unmerged and superseded by #1155); Phase-7 legacy teardown #1016). Seedocs/decisions/2026-05-29-lago-pricing-strategy.md.#677Expert queue identity attribution bug โ closed 2026-06-01 (PR #1217).
P1 โ High Priorityโ
| # | Title | Area | Notes |
|---|---|---|---|
| #363 | Thread โ Specialist (1:1) + Expert visibility & assignment trail | Backend / Security / Specialists | Schema, DTOs, audit history for thread-specialist assignment |
| #342 | Specialists sync v2: R2-as-truth + manual push/pull scripts | Backend / Specialists | Specialist config sync between platform and R2 |
| #317 | Haystack KB auth federation spike โ Humanwork SSO/OIDC without password mirroring | Security / Arch / RAG | Closed 2026-05-26 (ADR-009, #723). |
| #300 | Cross-org Haystack KB isolation eval โ manual gate before first paying customer | Agent / Infra / Security / RAG | Closed 2026-05-26 (ADR-009, #723). |
| #299 | Per-tenant circuit breaker on Haystack retrieval โ fail-open floor for retrieval | Backend / RAG | Closed 2026-05-26 (ADR-009 disposition). |
| #298 | Haystack KB soft delete / pause with data preserved | Backend / Security / RAG | Closed 2026-05-27 (pause/reactivation support landed). |
| #297 | Client KB management UI โ /client/admin/knowledge-base upload/list/delete/search | Frontend / RAG | Closed 2026-05-26 (KB UI workstream via #817/#818/#819/#823). |
| #237 | Cross-Org isolation eval running nightly on Railway | Agent / Infra / Security | Code-side enforcement landed via #981 + #1024 (under #947 isolation epic); nightly soak still TBD. |
| #230 | Jumio bespoke KYC integration (extends #176) | Backend / Agent / Security / Integration | KYC tool descriptor wired but platform-side service not yet built |
| #171 | Frontend test coverage (5 tests for 37K lines of code) | Frontend | Critical gap |
| #170 | Notifications โ push, email alerts, user preferences | Backend / Frontend | AppNotification REST + Socket.io delivery rail shipped via #915 (2026-05-27); push / email delivery / prefs UI still pending. |
| #169 | Analytics pipeline โ time-series, endpoints, per-role dashboards | Backend / Frontend | Stubs only |
| #168 | Expert workspace UX redesign โ keyboard shortcuts, bulk ops, conversation redesign | Frontend | Expert UX partially overhauled (#390โ#441) but deeper redesign still needed |
| #156 | Avatar image upload (R2/Vercel Blob setup) | Infra | R2 buckets created; upload UI and API handler not wired |
| #122 | Microsoft Teams App credentials not configured โ webhook unverified | Backend / Integration | Teams channel blocked (BLK-032) |
| #12 | Humanity Protocol credential verification integration | Backend / Security | HP SDK identity verification |
| #587 | Migrate email channel from Cloudflare/Resend โ Google Workspace (one gsuite per Specialist ร Client) | Backend / Integration | Phase 2 shipped end-to-end 2026-05-29 via #1065/#1074/#1076/#1079/#1089/#1093/#1095. Remaining: #1062 specialists.email column drop after soak; Phase 4 DNS/Pub-Sub. |
| #706 | Slack โ flip Coming-Soon โ Available + client Connect flow | Backend / Frontend | Closed 2026-05-26 via #816; per-org signing_secret landed #1219 (2026-06-01). |
| #559 | Per-channel outbound media support (WhatsApp/Slack/Telegram/Email) | Backend / Frontend | Inbound media parsed; outbound dispatch not wired |
| #558 | Expert queue SLA timer + AM escalation when Expert ghosts | Backend / Frontend | No SLA tracking today |
| #450 | No PgBouncer โ connection pool exhaustion risk under load | Infra | Closed 2026-05-27 via #917 (Railway pooler + env-driven pool sizing). |
| #675 | WhatsApp channel connection flow โ no live update, wrong post-connect layout | Frontend | Companion to #677 |
| #691 | KB schema (K1 + K2) โ entity, migration, controller scaffolding | Backend / RAG | Closed 2026-05-26 via #817. KB upload UX (#692) closed via #819; retrieval (#693) via #823. KB workstream effectively complete. |
P2 โ Important, Not Blocking Launchโ
| # | Title | Area | Notes |
|---|---|---|---|
| #417 | AI Draft schema โ model the lifecycle properly | Backend / Frontend | Draft lifecycle (pending โ accepted โ sent โ archived) needs schema work |
| #416 | Thread Summary โ auto-generated, periodically updated summary at top of Workspace pane | Backend / Frontend / RAG | Summary derived from conversation history |
| #401 | Per-(Org ร Specialist) sandboxed agent runtimes v2 (1:N + Specialist rotation) | Agent / Infra / Security | Builds on #362; ADR-020 OrgรSpecialist classification shipped 2026-05-29. |
| #332 | Compiled per-org policy enforcement โ baked binary isolation | Agent / Security | Long-term architecture goal |
| #323 | Correction analytics & fine-tuning dataset export | Backend / Frontend | Expert corrections as ML training signal |
| #303 | Correction โ KB refinement loop (consumer of LearningService) | Backend / Agent / RAG | Processor implemented (PR #303); UI & tuning still open |
| #256 | Specialist firstname email collision โ validate uniqueness at creation | Backend / Arch | Email routing uses sender; collision would break routing |
| #251 | Migrate agent auth secret from global env var to per-client-agent DB column | Backend / Agent / Security | Current global AGENT_SERVICE_SECRET shared across all orgs |
| #239 | Update IMPLEMENTATION_STATUS for Acme + Nango + KYC focus | Documentation | Status doc drifts quickly |
| #235 | Bump tool_exec.py coverage to โฅ80% | Agent | Low coverage on tool execution layer |
| #226 | Document skill bind-mount read-only contract + agent self-improvement non-persistence | Documentation / Agent | Contract not documented |
| #177 | Learning, memory & RAG โ embeddings, knowledge base, correction feedback | Backend / Agent | MemoryService deprecated; Haystack/Hayhooks is the owner |
| #176 | Domain tools & integrations โ Finance/IR tools, OAuth flows | Backend / Agent / Integration | Nango is the OAuth layer; individual tools need wiring |
| #120 | Slack channel โ deferred to post-MVP | Backend / Integration | Closed 2026-05-26 via #816 (Coming-Soon flipped). |
| #44 | Per-client deployment architecture decision | Infra / Arch | Still open; issue #362 is the immediate MVP step |
| #23 | Redis cache layer | Backend / Infra | Redis exists but explicit caching strategy not implemented |
Recently closed P2 trail:
#247Audit docs/api/reference.md for stale endpoints โ closed 2026-05-25 (PR #711 audit, commitd6f06ff).#238Drop ECS deploy from M1 critical path โ superseded: ECS is now P0 via #701 per DEFERRED_M1_WORK.md.#19Enterprise SSO/SAML โ closed 2026-05-26 via #765/#779 (Google Workspace OAuth2 SSO with JIT).#18Multi-language support (Cantonese, Mandarin, Japanese) โ closed 2026-05-29 via #1106 (multi-language foundation).
P3 โ Nice to Haveโ
| # | Title | Area | Notes |
|---|---|---|---|
| #227 | Document SOUL.md/skills storage upgrade path (M2 candidate) | Documentation / Agent | |
| #186 | /client/settings/channels Email Routing section doesn't show AM-added domains | Frontend | |
| #174 | Auth enhancements โ HP SDK identity, OAuth/SSO | Backend / Security | |
| #173 | Infra hardening โ monitoring, secrets, structured logging, NetworkPolicy | Infra | |
| #155 | Migrate to dotenvx for encrypted env management | Infra | |
| #154 | AM permissions: should AMs be able to mutate client team members? | Needs-Decision | |
| #152 | Team page: email column layout (email-as-subtitle pattern) | Frontend | |
| #148 | Client self-service leave workspace | Frontend | |
| #147 | Per-specialist confidence threshold overrides (org-level) | Backend | |
| #43 | Customer-facing chat widget (Intercom-style) | Frontend |
Needs Decisionโ
| # | Title | Notes |
|---|---|---|
| #378 | WeChat POST handler: verify SHA1 signature on inbound webhook | Security gap for WeChat channel |
| #355 | Queue dedup: update queueItem.messageId to latest held draft on back-to-back inbound turns | Data model decision |
Deferredโ
| # | Title | Notes |
|---|---|---|
| #175 | Usage metering โ AI tokens, expert-minutes, video-minutes | Not needed until billing model clarified |
Strategic Items (Not Yet Tracked as Issues)โ
These are important future directions without active GitHub issues:
Webhooks & API Extensibilityโ
- REST webhook subscriptions per org: URL registration, retry + exponential backoff, HMAC-SHA256 signed payloads
- Events:
conversation.created,conversation.resolved,message.sent,message.received,expert.assigned - Enables client org integrations into CRM, ticketing, etc.
Knowledge Base โ AI Training Loop (extends Haystack work)โ
- Structured KB per org: documents, FAQs, policies -> ingested into Haystack per org through Hayhooks
- Expert corrections feed back into KB refinements (partial: PR #303 correction processor in place)
MemoryService/agent_memoriesdeprecated; Haystack/Hayhooks is the correct owner going forward
Contact Profilesโ
- Unified contact record per client user across all conversations
- History: all past conversations, timestamps, resolution rate
- Custom attributes: org-defined fields (plan tier, account manager, etc.)
- Searchable cross-conversation
Outbound Campaigns (Post-MVP)โ
- Specialist-initiated outbound to a contact or segment
- Channel-aware: WhatsApp template messages, email sequences
- Defer until inbound loop is fully stable
Docusaurus Docs-Siteโ
- Docs site is deployed: Cloudflare Access auth, Vercel hosting, renders
/docsfolder - Needs: structured navigation (
sidebar.js), public API reference, onboarding guide for new clients - Issue #247 covers stale endpoint audit
Recently Closed (Reference)โ
Items completed between 2026-05-07 and 2026-05-19:
| Closed | Title |
|---|---|
| #423 | SA Nango catalog autocomplete + link-out on /ops/clients/:id integrations |
| #422 | SA tool-permissions toggle UI on /ops/clients/:id Tools tab |
| #415 | Remove Internal Notes section from expert workspace |
| #414 | Move AI Draft to Client Conversation pane |
| #413 | Move action footer to ticket header row |
| #412 | Relabel pane titles + Specialist online โ Agent Healthcheck |
| #411 | Realtime WS for Workspace (ExpertโSpecialist) pane |
| #410 | Emit WS event when client message arrives (left pane realtime) |
| #409 | Expert queue 10s loading flicker |
| #393โ#392 | Expert workspace queue snoozed resurface + Assign-to-Expert |
| #391โ#388 | Sort by last activity, consolidate status machines, standardise customer label, stop auto-resolve |
| #359 | Agent pipeline async (POST /conversations/:id/messages no longer blocks) |
| #303 | Correction โ KB refinement processor |