SoConnective

Product

Task Map — SoConnective · CRM

Updated: 2026-06-12. Source of truth for project status. States: ⬜ todo · 🔵 in progress · 🟡 in gate · ✅ done (gate PASS) · ⛔ blocked

Phase roadmap

graph TD
    P0[Phase 0 · Foundation ✅] --> P1[Phase 1 · CRM core ✅]
    P1 --> P15[Phase 1.5 · Polish 🔵]
    P1 --> P3[Phase 3 · Native automation ✅]
    P3 --> P2[Phase 2 · Conversations ⬜]
    P2 --> P4[Phase 4 · AI agents ⬜]
    P4 --> P5[Phase 5 · Delivery + portal ⬜]
    P5 --> P6[Phase 6 · Billing + reporting + launch ⬜]

Tasks

IDTaskPhaseDependsStateAcceptance
T-001VPS + Coolify + Traefik + Forgejo0Domains with TLS, deploy on push
T-002Postgres + forced RLS + packages/db0T-001Tenant isolation proven by test
T-003Payload backend + multi-tenant0T-002Collections, schema payload, 403 unauth
T-004Auth: login/guard/7d session0T-003Login→cookie; expiry→login; no loops
T-005Core collections + Notion migration0T-003Companies/Contacts/Deals/Services/Activities/Identities
T-006CI/deploy + Syntax docs0T-001Docs auto-regenerate; deploy on push
T-010CRM shell + brand + nav1T-005Shadcn UI Kit, locked brand
T-011CRUD Companies/Contacts/Deals/Services1T-010Create/edit/delete with tenant
T-012360 views + writable timeline1T-011Contact/deal detail + Log activity + auto-log
T-013Deal pro: contact-anchor + owner + pipeline1T-011Derived read-only company; owner; pipeline
T-014Tasks: object + UI + 360 card1T-011Create/assign/complete from card + global view
T-015Multiple pipelines (board filter)1T-013All/Sales/Onboarding/Renewal with counts
T-016Command palette (Cmd+K) + global search1T-010Keyboard create/navigate/search
T-017List power: filters + bulk + pagination1T-016🔵Faceted filters + bulk delete + page size done; saved views + inline edit deferred (T-017b)
T-018Appointments + 360 card1T-014Scheduling tied to deal/contact; global view
T-019Dashboard with real KPIs1T-014Win rate, customers, pipeline, leads, tasks all live
T-1PPhase 1.5 polish batch1.5T-019🔵Owner-default, denser forms, 360 relayout, services on deals, w-full selects, scrollable timeline, richer services. Deferred: calendar view, bulk appointments, configurable pipelines, T-017b
T-030Native automation engine3T-014Triggers→actions, runs log, wired to hooks, gate PASS
T-031Automation: more triggers/actions, time-based, conditions3T-030Scheduled triggers, branch/delay, send-message action
T-020Identities graph (cross-channel)2T-012Person↔channel resolution
T-021Native omnichannel inbox2T-020Threads + context + templates
T-040AI agents + ask-your-CRM4T-030NL over data + supervised agents
T-050Projects/engagements + client portal5T-013On win → project; portal
T-060Line items + Stripe + MRR6T-011Invoices, subscriptions, MRR
TX-2Transactional emailXT-004Provider + verified domain (blocks external users)
TX-3Legal/GDPRXT-011ToS/Privacy, consent, export/delete
TX-4Observability + tested backupsXT-006Sentry, alerts, restore tested

Completeness-checklist verdicts (INIT Pass 1)

Identity/access ✅ (verification/2FA → FASE X) · Tenancy ✅ (invites/transfer → Phase 6) · Billing → Phase 6 (N/A now) · Core domain ✅ (saved views/inline edit → T-017b) · Onboarding → Phase 1.5 · Email → TX-2 (blocking for external users) · Admin → audit_log ✅, support panel TX-1 · Legal → TX-3 · Frontend ✅ (a11y per gate) · Backend ✅ (schema by migrations, ADR 0007) · Observability → TX-4 (backups untested) · CI/CD → deploy on push ✅ (no staging yet) · Launch → Phase 6.

Open risks

RiskMitigationOwner
No staging (deploy straight to prod)Add Coolify staging envPM
Backups not restore-testedTX-4PM
No transactional emailTX-2 before external usersPM
Automation runs in the originating transaction (sync)Move to a queue/worker in T-031Backend
Previous
Phase F — Production-grade platform (non-functional requirements)